pub(crate) struct Builder {Show 17 fields
source_range: TextRange,
imports_to_add: SmallVec<[LocatedImport; 1]>,
trait_name: Option<SmolStr>,
doc_aliases: Vec<SmolStr>,
label: SmolStr,
insert_text: Option<String>,
is_snippet: bool,
detail: Option<String>,
documentation: Option<Documentation<'static>>,
lookup: Option<SmolStr>,
kind: CompletionItemKind,
text_edit: Option<TextEdit>,
deprecated: bool,
trigger_call_info: bool,
relevance: CompletionRelevance,
ref_match: Option<(CompletionItemRefMode, TextSize)>,
edition: Edition,
}Expand description
A helper to make CompletionItems.
Fields§
§source_range: TextRange§imports_to_add: SmallVec<[LocatedImport; 1]>§trait_name: Option<SmolStr>§doc_aliases: Vec<SmolStr>§label: SmolStr§insert_text: Option<String>§is_snippet: bool§detail: Option<String>§documentation: Option<Documentation<'static>>§lookup: Option<SmolStr>§kind: CompletionItemKind§text_edit: Option<TextEdit>§deprecated: bool§trigger_call_info: bool§relevance: CompletionRelevance§ref_match: Option<(CompletionItemRefMode, TextSize)>§edition: EditionImplementations§
Source§impl Builder
impl Builder
Sourcepub(crate) fn add_to(self, acc: &mut Completions, db: &RootDatabase)
pub(crate) fn add_to(self, acc: &mut Completions, db: &RootDatabase)
Convenience method, which allows to add a freshly created completion into accumulator without binding it to the variable.
Source§impl Builder
impl Builder
pub(crate) fn from_resolution( ctx: &CompletionContext<'_>, path_ctx: &PathCompletionCtx<'_>, local_name: Name, resolution: ScopeDef, ) -> Self
pub(crate) fn build(self, db: &RootDatabase) -> CompletionItem
pub(crate) fn lookup_by(&mut self, lookup: impl Into<SmolStr>) -> &mut Builder
pub(crate) fn label(&mut self, label: impl Into<SmolStr>) -> &mut Builder
pub(crate) fn trait_name(&mut self, trait_name: SmolStr) -> &mut Builder
pub(crate) fn doc_aliases(&mut self, doc_aliases: Vec<SmolStr>) -> &mut Builder
pub(crate) fn insert_text( &mut self, insert_text: impl Into<String>, ) -> &mut Builder
pub(crate) fn insert_snippet( &mut self, cap: SnippetCap, snippet: impl Into<String>, ) -> &mut Builder
pub(crate) fn text_edit(&mut self, edit: TextEdit) -> &mut Builder
pub(crate) fn snippet_edit( &mut self, _cap: SnippetCap, edit: TextEdit, ) -> &mut Builder
pub(crate) fn detail(&mut self, detail: impl Into<String>) -> &mut Builder
pub(crate) fn set_detail( &mut self, detail: Option<impl Into<String>>, ) -> &mut Builder
pub(crate) fn documentation(&mut self, docs: Documentation<'_>) -> &mut Builder
pub(crate) fn set_documentation( &mut self, docs: Option<Documentation<'_>>, ) -> &mut Builder
pub(crate) fn set_deprecated(&mut self, deprecated: bool) -> &mut Builder
pub(crate) fn set_relevance( &mut self, relevance: CompletionRelevance, ) -> &mut Builder
pub(crate) fn with_relevance( &mut self, relevance: impl FnOnce(CompletionRelevance) -> CompletionRelevance, ) -> &mut Builder
pub(crate) fn trigger_call_info(&mut self) -> &mut Builder
pub(crate) fn add_import( &mut self, import_to_add: LocatedImport, ) -> &mut Builder
pub(crate) fn ref_match( &mut self, ref_mode: CompletionItemRefMode, offset: TextSize, ) -> &mut Builder
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Builder
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
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,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> 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>
§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