class LSProtocol::CompletionItemDefaults

Overview

In many cases the items of an actual completion result share the same value for properties like commitCharacters or the range of a text edit. A completion list can therefore define item defaults which will be used if a completion item itself doesn't specify the value.

If a completion list specifies a default value and a completion item also specifies a corresponding value, the rules for combining these are defined by applyKinds (if the client supports it), defaulting to ApplyKind.Replace.

Servers are only allowed to return default values if the client signals support for this via the completionList.itemDefaults capability.

@since 3.17.0

Included Modules

Defined in:

lsprotocol/types.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.new(commit_characters : Array(String) | Nil = nil, data : LSPAny | Nil = nil, edit_range : EditRangeWithInsertReplace | Range | Nil = nil, insert_text_format : InsertTextFormat | Nil = nil, insert_text_mode : InsertTextMode | Nil = nil) #

[View source]

Instance Method Detail

def commit_characters : Array(String) | Nil #

A default commit character set.

@since 3.17.0


[View source]
def data : LSPAny | Nil #

A default data value.

@since 3.17.0


[View source]
def edit_range : EditRangeWithInsertReplace | Range | Nil #

A default edit range.

@since 3.17.0


[View source]
def insert_text_format : InsertTextFormat | Nil #

A default insert text format.

@since 3.17.0


[View source]
def insert_text_mode : InsertTextMode | Nil #

A default insert text mode.

@since 3.17.0


[View source]