class LSProtocol::GeneralClientCapabilities

Overview

General client capabilities.

@since 3.16.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(markdown : MarkdownClientCapabilities | Nil = nil, position_encodings : Array(PositionEncodingKind | String) | Nil = nil, regular_expressions : RegularExpressionsClientCapabilities | Nil = nil, stale_request_support : StaleRequestSupportOptions | Nil = nil) #

[View source]

Instance Method Detail

def markdown : MarkdownClientCapabilities | Nil #

Client capabilities specific to the client's markdown parser.

@since 3.16.0


[View source]
def position_encodings : Array(PositionEncodingKind | String) | Nil #

The position encodings supported by the client. Client and server have to agree on the same position encoding to ensure that offsets (e.g. character position in a line) are interpreted the same on both sides.

To keep the protocol backwards compatible the following applies: if the value 'utf-16' is missing from the array of position encodings servers can assume that the client supports UTF-16. UTF-16 is therefore a mandatory encoding.

If omitted it defaults to ['utf-16'].

Implementation considerations: since the conversion from one encoding into another requires the content of the file / line the conversion is best done where the file is read which is usually on the server side.

@since 3.17.0


[View source]
def regular_expressions : RegularExpressionsClientCapabilities | Nil #

Client capabilities specific to regular expressions.

@since 3.16.0


[View source]
def stale_request_support : StaleRequestSupportOptions | Nil #

Client capability that signals how the client handles stale requests (e.g. a request for which the client will not process the response anymore since the information is outdated).

@since 3.17.0


[View source]