class LSProtocol::SymbolInformation
- LSProtocol::SymbolInformation
- Reference
- Object
Overview
Represents information about programming constructs like variables, classes, interfaces etc.
Included Modules
- JSON::Serializable
Defined in:
lsprotocol/types.crConstructors
- .new(kind : SymbolKind | Nil, location : Location | Nil, name : String | Nil, container_name : String | Nil = nil, deprecated : Bool | Nil = nil, tags : Array(SymbolTag) | Nil = nil)
- .new(pull : JSON::PullParser)
Instance Method Summary
- #container_name : String | Nil
-
#deprecated : Bool | Nil
Indicates if this symbol is deprecated.
-
#kind : SymbolKind
The kind of this symbol.
-
#location : Location
The location of this symbol.
-
#name : String
The name of this symbol.
-
#tags : Array(SymbolTag) | Nil
Tags for this symbol.
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)
#
Instance Method Detail
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.