struct LSP::Message::Completion
- LSP::Message::Completion
- Struct
- Value
- Object
Overview
The Completion request is sent from the client to the server to compute completion items at a given cursor position. Completion items are presented in the IntelliSense user interface. If computing full completion items is expensive, servers can additionally provide a handler for the completion item resolve request (‘completionItem/resolve’). This request is sent when a completion item is selected in the user interface. A typical use case is for example: the ‘textDocument/completion’ request doesn’t fill in the documentation property for returned completion items since it is expensive to compute. When the item is selected in the user interface then a ‘completionItem/resolve’ request is sent with the selected completion item as a param. The returned completion item should have the documentation property filled in. The request can delay the computation of the detail and documentation properties. However, properties that are needed for the initial sorting and filtering, like sortText, filterText, insertText, and textEdit must be provided in the textDocument/completion request and must not be changed during resolve.
Included Modules
- JSON::Serializable
Defined in:
lsp/message.crConstructors
- .new(pull : JSON::PullParser)
- .new(id : Int64 | String, params : LSP::Message::Completion::Params = Params.new)
Class Method Summary
Instance Method Summary
- #error_response_from_json(input)
- #id : Int64 | String
- #id=(id : Int64 | String)
- #jsonrpc : String
- #jsonrpc=(jsonrpc : String)
- #method : String
- #method=(method : String)
- #new_error_response
- #new_response
- #params : Params
- #params=(params : Params)
- #response_from_json(input)