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

The label of this completion item. By default also the text that is inserted when selecting this completion.

The kind of this completion item. Based of the kind an icon is chosen by the editor.

A human-readable string with additional information about this item, like type or symbol information.

A human-readable string that represents a doc-comment.

Indicates if this item is deprecated.

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.

A string that should be used when comparing this item with other items. When falsy the label is used.

A string that should be used when filtering a set of completion items. When falsy the label is used.

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.

The format of the insert text. The format applies to both the insertText property and the newText property of a provided 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.

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).

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.

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.

An data entry field that is preserved on a completion item between a CompletionRequest and a [CompletionResolveRequest] (#CompletionResolveRequest)

Methods

impl CompletionItem
[src]

The CompletionItem namespace provides functions to deal with completion items.

Create a completion item and seed it with a label. @param label The completion item's label

Trait Implementations

impl Debug for CompletionItem
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations