pub struct CompletionState {
pub suggestions: Vec<String>,
pub current_index: usize,
pub last_query: String,
pub last_cursor_pos: usize,
pub is_active: bool,
pub total_completions: usize,
pub last_completion_time: Option<Instant>,
}
Expand description
State for tab completion functionality
Fields§
§suggestions: Vec<String>
§current_index: usize
§last_query: String
§last_cursor_pos: usize
§is_active: bool
§total_completions: usize
§last_completion_time: Option<Instant>
Implementations§
Source§impl CompletionState
impl CompletionState
pub fn new() -> Self
Sourcepub fn set_suggestions(&mut self, suggestions: Vec<String>)
pub fn set_suggestions(&mut self, suggestions: Vec<String>)
Set new suggestions
Sourcepub fn next_suggestion(&mut self)
pub fn next_suggestion(&mut self)
Cycle to next suggestion
Sourcepub fn current_suggestion(&self) -> Option<&String>
pub fn current_suggestion(&self) -> Option<&String>
Get current suggestion
Sourcepub fn is_same_context(&self, query: &str, cursor_pos: usize) -> bool
pub fn is_same_context(&self, query: &str, cursor_pos: usize) -> bool
Check if we’re in the same completion context
Sourcepub fn update_context(&mut self, query: String, cursor_pos: usize)
pub fn update_context(&mut self, query: String, cursor_pos: usize)
Update context for next completion
Trait Implementations§
Source§impl Clone for CompletionState
impl Clone for CompletionState
Source§fn clone(&self) -> CompletionState
fn clone(&self) -> CompletionState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CompletionState
impl Debug for CompletionState
Auto Trait Implementations§
impl Freeze for CompletionState
impl RefUnwindSafe for CompletionState
impl Send for CompletionState
impl Sync for CompletionState
impl Unpin for CompletionState
impl UnwindSafe for CompletionState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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