struct LSP::DocumentSymbol

Overview

Represents programming constructs like variables, classes, interfaces etc. that appear in a document. Document symbols can be hierarchical and they have two ranges: one that encloses its definition and one that points to its most interesting range, e.g. the range of an identifier.

Included Modules

Defined in:

requests/language_features/document_symbols.cr

Constructors

Instance Method Summary

Constructor Detail

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

[View source]
def self.new(**args) #

[View source]

Instance Method Detail

def children : Array(DocumentSymbol) | Nil #

Children of this symbol, e.g. properties of a class.


[View source]
def children=(children : Array(DocumentSymbol) | Nil) #

Children of this symbol, e.g. properties of a class.


[View source]
def deprecated : Bool | Nil #

Indicates if this symbol is deprecated.


[View source]
def deprecated=(deprecated : Bool | Nil) #

Indicates if this symbol is deprecated.


[View source]
def detail : String | Nil #

More detail for this symbol, e.g the signature of a function.


[View source]
def detail=(detail : String | Nil) #

More detail for this symbol, e.g the signature of a function.


[View source]
def kind : LSP::SymbolKind #

The kind of this symbol.


[View source]
def kind=(kind : LSP::SymbolKind) #

The kind of this symbol.


[View source]
def name : String #

The name of this symbol. Will be displayed in the user interface and therefore must not be an empty string or a string only consisting of white spaces.


[View source]
def name=(name : String) #

The name of this symbol. Will be displayed in the user interface and therefore must not be an empty string or a string only consisting of white spaces.


[View source]
def range : LSP::Range #

The range enclosing this symbol not including leading/trailing whitespace but everything else like comments. This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI.


[View source]
def range=(range : LSP::Range) #

The range enclosing this symbol not including leading/trailing whitespace but everything else like comments. This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI.


[View source]
def selection_range : LSP::Range #

[View source]
def selection_range=(selection_range : LSP::Range) #

[View source]
def to_symbol_information_array(uri : String) #

[View source]