Skip to main content

App

Struct App 

Source
pub struct App {
Show 36 fields pub input: String, pub results: Vec<RipgrepMatch>, pub groups: Vec<SessionGroup>, pub group_cursor: usize, pub sub_cursor: usize, pub expanded: bool, pub searching: bool, pub typing: bool, pub error: Option<String>, pub search_paths: Vec<String>, pub last_query: String, pub results_query: String, pub last_keystroke: Option<Instant>, pub preview_mode: bool, pub should_quit: bool, pub resume_id: Option<String>, pub resume_file_path: Option<String>, pub resume_source: Option<SessionSource>, pub resume_uuid: Option<String>, pub needs_full_redraw: bool, pub regex_mode: bool, pub latest_chains: HashMap<String, HashSet<String>>, pub tree_mode: bool, pub session_tree: Option<SessionTree>, pub tree_cursor: usize, pub tree_scroll_offset: usize, pub tree_loading: bool, pub tree_mode_standalone: bool, pub cursor_pos: usize, pub project_filter: bool, pub automation_filter: AutomationFilter, pub current_project_paths: Vec<String>, pub recent_sessions: Vec<RecentSession>, pub recent_cursor: usize, pub recent_scroll_offset: usize, pub recent_loading: bool, /* private fields */
}

Fields§

§input: String§results: Vec<RipgrepMatch>§groups: Vec<SessionGroup>

Search result groups filtered by automation filter

§group_cursor: usize§sub_cursor: usize§expanded: bool§searching: bool§typing: bool§error: Option<String>§search_paths: Vec<String>§last_query: String§results_query: String§last_keystroke: Option<Instant>§preview_mode: bool§should_quit: bool§resume_id: Option<String>§resume_file_path: Option<String>§resume_source: Option<SessionSource>

Session source for resume (CLI or Desktop)

§resume_uuid: Option<String>

UUID of the selected message (for branch-aware resume)

§needs_full_redraw: bool

Flag to force a full terminal redraw (clears diff optimization artifacts)

§regex_mode: bool

Regex search mode (Ctrl+R to toggle)

§latest_chains: HashMap<String, HashSet<String>>

Cache: file_path → set of uuids on the latest chain (for fork indicator)

§tree_mode: bool

Tree explorer mode

§session_tree: Option<SessionTree>

The loaded session tree

§tree_cursor: usize

Cursor position in tree rows

§tree_scroll_offset: usize

Vertical scroll offset for tree view

§tree_loading: bool

Whether tree is currently loading

§tree_mode_standalone: bool

Whether tree mode was the initial mode (launched with –tree)

§cursor_pos: usize

Cursor position in input (byte offset)

§project_filter: bool

Whether search is scoped to current project only (Ctrl+A toggle)

§automation_filter: AutomationFilter

Filter for automated vs manual sessions (Ctrl+H toggle)

§current_project_paths: Vec<String>

Search path(s) for current project only

§recent_sessions: Vec<RecentSession>

Recently accessed sessions shown on startup (filtered by project_filter)

§recent_cursor: usize

Cursor position in recent sessions list

§recent_scroll_offset: usize

Scroll offset for recent sessions list

§recent_loading: bool

Whether recent sessions are still loading

Implementations§

Source§

impl App

Source

pub fn in_recent_sessions_mode(&self) -> bool

Whether the app is currently showing the recent sessions list (input is empty, no search results, not loading search).

Source

pub fn on_up(&mut self)

Source

pub fn on_down(&mut self)

Source

pub fn on_right(&mut self)

Source

pub fn on_left(&mut self)

Source

pub fn on_tab(&mut self)

Source

pub fn on_toggle_regex(&mut self)

Source

pub fn toggle_automation_filter(&mut self)

Source

pub fn toggle_project_filter(&mut self)

Source

pub fn on_enter(&mut self)

Source

pub fn enter_tree_mode_recent(&mut self)

Enter tree mode for the currently selected recent session.

Source

pub fn selected_group(&self) -> Option<&SessionGroup>

Source

pub fn selected_match(&self) -> Option<&RipgrepMatch>

Source§

impl App

Source

pub fn new(search_paths: Vec<String>) -> Self

Source

pub fn on_key(&mut self, c: char)

Source

pub fn on_backspace(&mut self)

Source

pub fn on_delete(&mut self)

Source

pub fn clear_input(&mut self)

Clear input and reset search state (Ctrl-C behavior)

Source

pub fn move_cursor_left(&mut self)

Source

pub fn move_cursor_right(&mut self)

Source

pub fn move_cursor_word_left(&mut self)

Source

pub fn move_cursor_word_right(&mut self)

Source

pub fn move_cursor_home(&mut self)

Source

pub fn move_cursor_end(&mut self)

Source

pub fn delete_word_left(&mut self)

Source

pub fn delete_word_right(&mut self)

Source

pub fn tick(&mut self)

Source§

impl App

Source

pub fn enter_tree_mode(&mut self)

Enter tree mode from search results (press ‘b’ on a session group)

Source

pub fn enter_tree_mode_direct(&mut self, target: &str)

Enter tree mode directly for a file path or session ID

Source

pub fn exit_tree_mode(&mut self)

Source

pub fn on_up_tree(&mut self)

Source

pub fn on_down_tree(&mut self)

Source

pub fn on_left_tree(&mut self)

Source

pub fn on_right_tree(&mut self)

Source

pub fn on_enter_tree(&mut self)

Source

pub fn on_tab_tree(&mut self)

Auto Trait Implementations§

§

impl Freeze for App

§

impl RefUnwindSafe for App

§

impl Send for App

§

impl !Sync for App

§

impl Unpin for App

§

impl UnsafeUnpin for App

§

impl UnwindSafe for App

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.