pub struct BufferWordsSource {
pub min_word_length: usize,
pub max_words: usize,
/* private fields */
}Expand description
Sync source emitting word-completions from a buffer’s text.
Cheap enough to walk the rope once per query change. Words
shorter than min_word_length are skipped; duplicates are
deduped.
The cursor’s own current word (query) is NOT included –
no point completing a word with itself.
Fields§
§min_word_length: usize§max_words: usizeImplementations§
Trait Implementations§
Source§impl Debug for BufferWordsSource
impl Debug for BufferWordsSource
Source§impl Default for BufferWordsSource
impl Default for BufferWordsSource
Source§impl InsertSource for BufferWordsSource
impl InsertSource for BufferWordsSource
Source§fn id(&self) -> &SourceId
fn id(&self) -> &SourceId
Stable id (e.g.
"gen:buffer-words"). Surfaces in
:set completion.source.<id>.priority=… keys.Source§fn default_priority(&self) -> u32
fn default_priority(&self) -> u32
Default priority bucket. Higher buckets sort above
lower; the ranker adds it to the matcher’s score.
Source§fn produce(&self, ctx: &InsertContext<'_>) -> Vec<RawCandidate>
fn produce(&self, ctx: &InsertContext<'_>) -> Vec<RawCandidate>
Produce raw candidates for the supplied context. Cheap
(microseconds); the aggregator calls this whenever the
query changes.
Source§fn auto_trigger(&self) -> bool
fn auto_trigger(&self) -> bool
Whether this source contributes when the popup opens
via auto-trigger (identifier threshold). Manual
triggers and
<C-x>-prefixed dedicated chords always
include every enabled source.Source§fn trigger_chars(&self, _ctx: &InsertContext<'_>) -> Vec<char>
fn trigger_chars(&self, _ctx: &InsertContext<'_>) -> Vec<char>
Server-advertised characters that should fire this
source. Empty = “I’m fine on identifier-threshold or
manual.” The LSP source’s bridge populates this from
completionProvider.triggerCharacters.Source§impl SyncCompletionSource for BufferWordsSource
CSM.4: the new mode-driven trait surface. Same produce()
body as the legacy InsertSource impl; carried as a peer
during the migration so the existing hardcoded path keeps
working while the mode-contributed path lights up. The
hardcoded call will retire once every source has migrated
(CSM.8 wraps it up).
impl SyncCompletionSource for BufferWordsSource
CSM.4: the new mode-driven trait surface. Same produce()
body as the legacy InsertSource impl; carried as a peer
during the migration so the existing hardcoded path keeps
working while the mode-contributed path lights up. The
hardcoded call will retire once every source has migrated
(CSM.8 wraps it up).
Source§fn produce(&self, ctx: &InsertContext<'_>) -> Vec<RawCandidate>
fn produce(&self, ctx: &InsertContext<'_>) -> Vec<RawCandidate>
Produce raw candidates for the supplied context. Cheap
(microseconds); the aggregator calls this whenever the
popup’s query string changes.
Auto Trait Implementations§
impl Freeze for BufferWordsSource
impl RefUnwindSafe for BufferWordsSource
impl Send for BufferWordsSource
impl Sync for BufferWordsSource
impl Unpin for BufferWordsSource
impl UnsafeUnpin for BufferWordsSource
impl UnwindSafe for BufferWordsSource
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