class LSProtocol::SymbolInformation

Overview

Represents information about programming constructs like variables, classes, interfaces etc.

Included Modules

Defined in:

lsprotocol/types.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(kind : SymbolKind | Nil, location : Location | Nil, name : String | Nil, container_name : String | Nil = nil, deprecated : Bool | Nil = nil, tags : Array(SymbolTag) | Nil = nil) #

[View source]
def self.new(pull : JSON::PullParser) #

[View source]

Instance Method Detail

def container_name : String | Nil #

The name of the symbol containing this symbol. This information is for user interface purposes (e.g. to render a qualifier in the user interface if necessary). It can't be used to re-infer a hierarchy for the document symbols.


[View source]
def deprecated : Bool | Nil #

Indicates if this symbol is deprecated.

@deprecated Use tags instead


[View source]
def kind : SymbolKind #

The kind of this symbol.


[View source]
def location : Location #

The location of this symbol. The location's range is used by a tool to reveal the location in the editor. If the symbol is selected in the tool the range's start information is used to position the cursor. So the range usually spans more than the actual symbol's name and does normally include things like visibility modifiers.

The range doesn't have to denote a node range in the sense of an abstract syntax tree. It can therefore not be used to re-construct a hierarchy of the symbols.


[View source]
def name : String #

The name of this symbol.


[View source]
def tags : Array(SymbolTag) | Nil #

Tags for this symbol.

@since 3.16.0


[View source]