clang-tools  14.0.0git
Public Attributes | List of all members
clang::clangd::DocumentSymbol Struct Reference

Represents programming constructs like variables, classes, interfaces etc. More...

#include <Protocol.h>

Collaboration diagram for clang::clangd::DocumentSymbol:
Collaboration graph
[legend]

Public Attributes

std::string name
 The name of this symbol. More...
 
std::string detail
 More detail for this symbol, e.g the signature of a function. More...
 
SymbolKind kind
 The kind of this symbol. More...
 
bool deprecated = false
 Indicates if this symbol is deprecated. More...
 
Range range
 The range enclosing this symbol not including leading/trailing whitespace but everything else like comments. More...
 
Range selectionRange
 The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. More...
 
std::vector< DocumentSymbolchildren
 Children of this symbol, e.g. properties of a class. More...
 

Detailed Description

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.

Definition at line 1006 of file Protocol.h.

Member Data Documentation

◆ children

std::vector<DocumentSymbol> clang::clangd::DocumentSymbol::children

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

Definition at line 1030 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy().

◆ deprecated

bool clang::clangd::DocumentSymbol::deprecated = false

Indicates if this symbol is deprecated.

Definition at line 1017 of file Protocol.h.

◆ detail

std::string clang::clangd::DocumentSymbol::detail

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

Definition at line 1011 of file Protocol.h.

◆ kind

SymbolKind clang::clangd::DocumentSymbol::kind

The kind of this symbol.

Definition at line 1014 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy().

◆ name

std::string clang::clangd::DocumentSymbol::name

The name of this symbol.

Definition at line 1008 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy(), and clang::clangd::operator<<().

◆ range

Range clang::clangd::DocumentSymbol::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.

Definition at line 1023 of file Protocol.h.

Referenced by clang::clangd::flattenSymbolHierarchy().

◆ selectionRange

Range clang::clangd::DocumentSymbol::selectionRange

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.

Definition at line 1027 of file Protocol.h.


The documentation for this struct was generated from the following file: