A completion item represents a text snippet that is proposed to complete text that is being typed.
It is sufficient to create a completion item from just a label. In that case the completion item will replace the word until the cursor with the given label or insertText. Otherwise the given edit is used.
When selecting a completion item in the editor its defined or synthesized text edit will be applied to all cursors/selections whereas additionalTextEdits will be applied as provided.
Creates a new completion item.
Completion items must have at least a label which then will be used as insert text as well as for sorting and filtering.
The label of the completion.
The kind of the completion.
The label of this completion item. By default this is also the text that is inserted when selecting this completion.
The kind of this completion item. Based on the kind an icon is chosen by the editor.
Tags for this completion item.
A human-readable string with additional information about this item, like type or symbol information.
A human-readable string that represents a doc-comment.
A string that should be used when comparing this item
with other items. When
falsy the label
sortText is only used for the initial ordering of completion
items. When having a leading word (prefix) ordering is based on how
well completions match that prefix and the initial ordering is only used
when completions match equally well. The prefix is defined by the
range-property and can therefore be different
for each completion.
Select this item when showing. Note that only one completion item can be selected and that the editor decides which item that is. The rule is that the first item of those that match best is selected.
A string or snippet that should be inserted in a document when selecting
this completion. When
falsy the label
A range or a insert and replace range selecting the text that should be replaced by this completion item.
Note 1: A range must be a single line and it must contain the position at which completion has been requested. Note 2: A insert range must be a prefix of a replace range, that means it must be contained and starting at the same position.
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.
Keep whitespace of the insertText as is. By default, the editor adjusts leading
whitespace of new lines so that they match the indentation of the line for which the item is accepted - setting
true will prevent that.