pub struct LivePickerQueryState {
pub source_id: String,
pub generator: Arc<dyn PickerSourceGenerator>,
pub debounce_until: Option<Instant>,
pub inflight: Option<InFlightLiveQuery>,
pub initial_query: Option<String>,
}Expand description
Live-picker query state. Installed when open_picker
resolves a source whose spec().live is true; survives
until the picker is dismissed.
Two phases:
- Debouncing.
debounce_until = Some(deadline)while a keystroke is pending. Every fresh keystroke reschedules the deadline forward. Once `Instant::now()= deadline
, the main-loop drain firesPickerSourceGenerator::on_query_changedand clearsdebounce_until` to None. - In-flight. When
on_query_changedreturns aFutureor aStream, the spawned task lands its result oninflight.rx. The drain seats new raw candidates (if the result is still relevant) or drops the result (if the user has typed past the launched query).
Fields§
§source_id: String§generator: Arc<dyn PickerSourceGenerator>§debounce_until: Option<Instant>§inflight: Option<InFlightLiveQuery>§initial_query: Option<String>Set by open_picker from the first positional arg
when the source is live; consumed (taken) by
seat_picker_from_pairs on the first seat so the
picker prompt opens pre-populated with the user’s
:picker grep <pattern> argument. None for live
pickers opened without an initial pattern.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for LivePickerQueryState
impl !UnwindSafe for LivePickerQueryState
impl Freeze for LivePickerQueryState
impl Send for LivePickerQueryState
impl Sync for LivePickerQueryState
impl Unpin for LivePickerQueryState
impl UnsafeUnpin for LivePickerQueryState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Converts this value into a three-state builder argument.
§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Converts this value into an optional builder argument.