pub struct FilterApp {
pub pattern_editor: Editor,
pub options: FilterOptions,
pub lines: Vec<String>,
pub matched: Vec<usize>,
pub selected: usize,
pub scroll: usize,
pub error: Option<String>,
pub should_quit: bool,
pub outcome: Outcome,
/* private fields */
}Fields§
§pattern_editor: Editor§options: FilterOptions§lines: Vec<String>§matched: Vec<usize>Indices of lines that currently match the pattern.
selected: usizeSelected index into matched for the cursor in the match list.
scroll: usizeScroll offset (first visible index into matched).
error: Option<String>Compilation error from the last recompute, if any.
should_quit: boolWhether to quit the event loop on next tick.
outcome: OutcomeOutcome decided by the user: emit the filtered output, or discard.
Implementations§
Source§impl FilterApp
impl FilterApp
pub fn new( lines: Vec<String>, initial_pattern: &str, options: FilterOptions, ) -> Self
pub fn pattern(&self) -> &str
pub fn recompute(&mut self)
pub fn select_next(&mut self)
pub fn select_prev(&mut self)
pub fn toggle_case_insensitive(&mut self)
pub fn toggle_invert(&mut self)
Auto Trait Implementations§
impl Freeze for FilterApp
impl !RefUnwindSafe for FilterApp
impl Send for FilterApp
impl Sync for FilterApp
impl Unpin for FilterApp
impl UnsafeUnpin for FilterApp
impl !UnwindSafe for FilterApp
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
Mutably borrows from an owned value. Read more
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>
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 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>
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