View Source GenLSP.Structures.DocumentSymbol (gen_lsp v0.10.0)

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.

Link to this section Summary

Functions

Fields

  • name: 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.

Link to this section Types

@type t() :: %GenLSP.Structures.DocumentSymbol{
  children: [t()] | nil,
  deprecated: boolean() | nil,
  detail: String.t() | nil,
  kind: GenLSP.Enumerations.SymbolKind.t(),
  name: String.t(),
  range: GenLSP.Structures.Range.t(),
  selection_range: GenLSP.Structures.Range.t(),
  tags: [GenLSP.Enumerations.SymbolTag.t()] | nil
}

Link to this section Functions

Link to this function

%GenLSP.Structures.DocumentSymbol{}

View Source (struct)

fields

Fields

  • name: 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.

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

  • kind: The kind of this symbol.

  • tags: Tags for this document symbol.

    @since 3.16.0

  • deprecated: Indicates if this symbol is deprecated.

    @deprecated Use tags instead

  • 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.

  • selection_range: The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. Must be contained by the range.

  • children: Children of this symbol, e.g. properties of a class.