Skip to main content

GenerateContext

Struct GenerateContext 

Source
pub struct GenerateContext<'a> {
    pub prefix: &'a str,
    pub buffer: &'a Buffer,
    pub registry: &'a CommandRegistry,
    pub case_sensitive: bool,
}
Expand description

Snapshot of editor state a generator may need to consult. Held by reference so the pipeline borrows from the surrounding frame for the duration of the call. Generators that don’t need buffer or registry state simply ignore those fields.

buffer is the raw rope-backed text the cmdline cursor sits over. We pass &Buffer rather than the full Document so completion stays decoupled from the actor crate (lattice-runtime); generators that need richer document state will get a &DocumentSnapshot once a consumer requires one.

Fields§

§prefix: &'a str

Partial text in the current slot, before the cursor. The matcher gets the same string as query – generators may also use it (e.g. gen:files resolves the directory by splitting prefix at the last /).

§buffer: &'a Buffer§registry: &'a CommandRegistry§case_sensitive: bool

Whether matching should be case-sensitive. Generators that do their own filtering before returning candidates honor this; pure “produce everything” generators ignore it.

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for GenerateContext<'a>

§

impl<'a> !UnwindSafe for GenerateContext<'a>

§

impl<'a> Freeze for GenerateContext<'a>

§

impl<'a> Send for GenerateContext<'a>

§

impl<'a> Sync for GenerateContext<'a>

§

impl<'a> Unpin for GenerateContext<'a>

§

impl<'a> UnsafeUnpin for GenerateContext<'a>

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more