-
-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathdocument_symbol.gen.go
More file actions
96 lines (76 loc) · 3.58 KB
/
Copy pathdocument_symbol.gen.go
File metadata and controls
96 lines (76 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Copyright 2026 The Go Language Server Authors
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by internal/genlsp from metaModel.json; DO NOT EDIT.
package protocol
// DocumentSymbolParams Parameters for a [DocumentSymbolRequest].
type DocumentSymbolParams struct {
WorkDoneProgressParams
PartialResultParams
// TextDocument The text document.
TextDocument TextDocumentIdentifier `json:"textDocument"`
}
// DocumentSymbol 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.
type DocumentSymbol struct {
// 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.
Name string `json:"name"`
// Detail More detail for this symbol, e.g the signature of a function.
Detail *string `json:"detail,omitzero"`
// Kind The kind of this symbol.
Kind SymbolKind `json:"kind"`
// Tags Tags for this document symbol.
//
// Since: 3.16.0
Tags []SymbolTag `json:"tags,omitzero"`
// Deprecated Indicates if this symbol is deprecated.
//
// Deprecated: Use tags instead
Deprecated *bool `json:"deprecated,omitzero"`
// 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.
Range Range `json:"range"`
// 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`.
SelectionRange Range `json:"selectionRange"`
// Children Children of this symbol, e.g. properties of a class.
Children []DocumentSymbol `json:"children,omitzero"`
}
// DocumentSymbolRegistrationOptions Registration options for a [DocumentSymbolRequest].
type DocumentSymbolRegistrationOptions struct {
TextDocumentRegistrationOptions
DocumentSymbolOptions
}
// DocumentSymbolOptions Provider options for a [DocumentSymbolRequest].
type DocumentSymbolOptions struct {
WorkDoneProgressOptions
// Label A human-readable string that is shown when multiple outlines trees
// are shown for the same document.
//
// Since: 3.16.0
Label *string `json:"label,omitzero"`
}
// DocumentSymbolClientCapabilities Client Capabilities for a [DocumentSymbolRequest].
type DocumentSymbolClientCapabilities struct {
// DynamicRegistration Whether document symbol supports dynamic registration.
DynamicRegistration *bool `json:"dynamicRegistration,omitzero"`
// SymbolKind Specific capabilities for the `SymbolKind` in the
// `textDocument/documentSymbol` request.
SymbolKind *ClientSymbolKindOptions `json:"symbolKind,omitzero"`
// HierarchicalDocumentSymbolSupport The client supports hierarchical document symbols.
HierarchicalDocumentSymbolSupport *bool `json:"hierarchicalDocumentSymbolSupport,omitzero"`
// TagSupport The client supports tags on `SymbolInformation`. Tags are supported on
// `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
// Clients supporting tags have to handle unknown tags gracefully.
//
// Since: 3.16.0
TagSupport ClientSymbolTagOptions `json:"tagSupport,omitzero"`
// LabelSupport The client supports an additional label presented in the UI when
// registering a document symbol provider.
//
// Since: 3.16.0
LabelSupport *bool `json:"labelSupport,omitzero"`
}