pub struct JumpState { /* private fields */ }Implementations§
Source§impl JumpState
impl JumpState
pub fn for_mode(mode: JumpMode) -> Self
pub fn query(&self) -> &str
pub fn selected(&self) -> usize
pub fn mode(&self) -> JumpMode
pub fn cursor_revealed(&self) -> bool
pub fn hits(&self) -> &[JumpHit]
pub fn recents(&self) -> &[JumpHit]
pub fn set_selected(&mut self, n: usize)
pub fn set_hits(&mut self, hits: Vec<JumpHit>)
pub fn set_recents(&mut self, recents: Vec<JumpHit>)
Sourcepub fn move_down(&mut self)
pub fn move_down(&mut self)
Down arrow: on first navigation reveal the cursor on row 0; thereafter advance by one, capped at the last visible row.
Sourcepub fn move_up(&mut self)
pub fn move_up(&mut self)
Up arrow: on first navigation reveal the cursor on row 0; thereafter step back saturating at row 0.
pub fn reveal_cursor(&mut self)
Sourcepub fn reset_after_clear_query(&mut self)
pub fn reset_after_clear_query(&mut self)
Backspace cleared the query: re-hide the selection cue and re-park the cursor on row 0 so the eye lands back on the input field.
pub fn push_query(&mut self, c: char)
pub fn pop_query(&mut self)
Sourcepub fn visible_hits(&self) -> Vec<JumpHit>
pub fn visible_hits(&self) -> Vec<JumpHit>
Return the hit list to render. With an empty query this is the
composed empty-state view (recents + the round-robin top-N
actions); otherwise it is the live computed hits. The cap on
the empty state is applied HERE (data layer) so the Down/Up
handlers, visible_hits().len(), and the renderer all agree on
the same bound. without this, scrolling past the rendered cap
would silently advance selected into invisible rows and the
highlight would appear to jump back to row 0.
Sourcepub fn empty_state_actions_total(&self) -> usize
pub fn empty_state_actions_total(&self) -> usize
Number of actions available for the empty-state ACTIONS section
BEFORE the cap. Used by the renderer to render Actions 6 of 29
when the cap is applied.
Sourcepub fn grouped_hits(&self) -> Vec<(SourceKind, Vec<JumpHit>)>
pub fn grouped_hits(&self) -> Vec<(SourceKind, Vec<JumpHit>)>
Group visible_hits() for the query view: by SourceKind in render
order. Empty sections are omitted. Only meaningful when a query is
active; the empty-state view uses empty_state_groups instead.
Sourcepub fn empty_state_groups(&self) -> Vec<(&'static str, Vec<JumpHit>)>
pub fn empty_state_groups(&self) -> Vec<(&'static str, Vec<JumpHit>)>
Empty-state grouping: a single RECENT group (everything that came
from the MRU log, of any kind) followed by an ACTIONS group.
Returns (label, hits) rather than (kind, hits) so the renderer
can distinguish “RECENT” from a per-kind label.
Sourcepub fn selected_section(&self) -> Option<SourceKind>
pub fn selected_section(&self) -> Option<SourceKind>
Map selected index (into visible_hits()) to a SourceKind so the
renderer knows which section header is currently active.
Sourcepub fn jump_next_section(&mut self)
pub fn jump_next_section(&mut self)
Move selection to the first hit in the next non-empty section. Wraps.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for JumpState
impl RefUnwindSafe for JumpState
impl Send for JumpState
impl Sync for JumpState
impl Unpin for JumpState
impl UnsafeUnpin for JumpState
impl UnwindSafe for JumpState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more