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.

Constructor

new(name:String, detail:String, kind:SymbolKind, range:Range, selectionRange:Range)

Creates a new document symbol.

Parameters:

name

The name of the symbol.

detail

Details for the symbol.

kind

The kind of the symbol.

range

The full range of the symbol.

selectionRange

The range that should be reveal.

Variables

children:Array<DocumentSymbol>

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

detail:String

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

kind:SymbolKind

The kind of this symbol.

name:String

The name of this symbol.

range:Range

The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.

selectionRange:Range

The range that should be selected and reveal when this symbol is being picked, e.g. the name of a function. Must be contained by the {@linkcode DocumentSymbol.range range}.

tags:Null<ReadOnlyArray<SymbolTag>>

Tags for this symbol.