Struct lsp::types::CompletionItem [−][src]
pub struct CompletionItem { pub label: String, pub kind: Option<CompletionItemKind>, pub detail: Option<String>, pub documentation: Option<Union<String, MarkupContent>>, pub deprecated: Option<bool>, pub preselect: Option<bool>, pub sort_text: Option<String>, pub filter_text: Option<String>, pub insert_text: Option<String>, pub insert_text_format: Option<InsertTextFormat>, pub text_edit: Option<TextEdit>, pub additional_text_edits: Option<Vec<TextEdit>>, pub commit_characters: Option<Vec<String>>, pub command: Option<Command>, pub data: Option<Value>, }
A completion item represents a text snippet that is proposed to complete text that is being typed.
Fields
label: String
The label of this completion item. By default also the text that is inserted when selecting this completion.
kind: Option<CompletionItemKind>
The kind of this completion item. Based of the kind an icon is chosen by the editor.
detail: Option<String>
A human-readable string with additional information about this item, like type or symbol information.
documentation: Option<Union<String, MarkupContent>>
A human-readable string that represents a doc-comment.
deprecated: Option<bool>
Indicates if this item is deprecated.
preselect: Option<bool>
Select this item when showing.
Note that only one completion item can be selected and that the tool / client decides which item that is. The rule is that the///first* item of those that match best is selected.
sort_text: Option<String>
A string that should be used when comparing this item
with other items. When falsy
the label
is used.
filter_text: Option<String>
A string that should be used when filtering a set of
completion items. When falsy
the label
is used.
insert_text: Option<String>
A string that should be inserted into a document when selecting
this completion. When falsy
the label
is used.
The insertText
is subject to interpretation by the client side.
Some tools might not take the string literally. For example
VS Code when code complete is requested in this example con<cursor position>
and a completion item with an insertText
of console
is provided it
will only insert sole
. Therefore it is recommended to use textEdit
instead
since it avoids additional client side interpretation.
@deprecated Use textEdit instead.
insert_text_format: Option<InsertTextFormat>
The format of the insert text. The format applies to both the insertText
property
and the newText
property of a provided textEdit
.
text_edit: Option<TextEdit>
An edit which is applied to a document when selecting this completion. When an edit is provided the value of insertText is ignored.
Note: The text edit's range must be a [single line] and it must contain the position at which completion has been requested.
additional_text_edits: Option<Vec<TextEdit>>
An optional array of additional text edits that are applied when selecting this completion. Edits must not overlap (including the same insert position) with the main edit nor with themselves.
Additional text edits should be used to change text unrelated to the current cursor position (for example adding an import statement at the top of the file if the completion item will insert an unqualified type).
commit_characters: Option<Vec<String>>
An optional set of characters that when pressed while this completion is active will accept it first and
then type that character.///Note* that all commit characters should have length=1
and that superfluous
characters will be ignored.
command: Option<Command>
An optional command that is executed///after* inserting this completion.///Note* that additional modifications to the current document should be described with the additionalTextEdits-property.
data: Option<Value>
An data entry field that is preserved on a completion item between a CompletionRequest and a [CompletionResolveRequest] (#CompletionResolveRequest)
Methods
impl CompletionItem
[src]
impl CompletionItem
The CompletionItem namespace provides functions to deal with completion items.
pub fn create(label: String) -> Self
[src]
pub fn create(label: String) -> Self
Create a completion item and seed it with a label. @param label The completion item's label
Trait Implementations
impl Debug for CompletionItem
[src]
impl Debug for CompletionItem
Auto Trait Implementations
impl Send for CompletionItem
impl Send for CompletionItem
impl Sync for CompletionItem
impl Sync for CompletionItem