1fd4e5da5Sopenharmony_ci// Copyright 2019 The Go Authors.
2fd4e5da5Sopenharmony_ci//
3fd4e5da5Sopenharmony_ci// Licensed under the Apache License, Version 2.0 (the "License");
4fd4e5da5Sopenharmony_ci// you may not use this file except in compliance with the License.
5fd4e5da5Sopenharmony_ci// You may obtain a copy of the License at
6fd4e5da5Sopenharmony_ci//
7fd4e5da5Sopenharmony_ci//     http://www.apache.org/licenses/LICENSE-2.0
8fd4e5da5Sopenharmony_ci//
9fd4e5da5Sopenharmony_ci// Unless required by applicable law or agreed to in writing, software
10fd4e5da5Sopenharmony_ci// distributed under the License is distributed on an "AS IS" BASIS,
11fd4e5da5Sopenharmony_ci// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12fd4e5da5Sopenharmony_ci// See the License for the specific language governing permissions and
13fd4e5da5Sopenharmony_ci// limitations under the License.
14fd4e5da5Sopenharmony_ci
15fd4e5da5Sopenharmony_ci// Package protocol contains data types and code for LSP jsonrpcs
16fd4e5da5Sopenharmony_ci// generated automatically from vscode-languageserver-node
17fd4e5da5Sopenharmony_ci// commit: 36ac51f057215e6e2e0408384e07ecf564a938da
18fd4e5da5Sopenharmony_ci// last fetched Tue Sep 24 2019 17:44:28 GMT-0400 (Eastern Daylight Time)
19fd4e5da5Sopenharmony_cipackage protocol
20fd4e5da5Sopenharmony_ci
21fd4e5da5Sopenharmony_ci// Code generated (see typescript/README.md) DO NOT EDIT.
22fd4e5da5Sopenharmony_ci
23fd4e5da5Sopenharmony_ci/*ImplementationClientCapabilities defined:
24fd4e5da5Sopenharmony_ci * Since 3.6.0
25fd4e5da5Sopenharmony_ci */
26fd4e5da5Sopenharmony_citype ImplementationClientCapabilities struct {
27fd4e5da5Sopenharmony_ci
28fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
29fd4e5da5Sopenharmony_ci	 * Whether implementation supports dynamic registration. If this is set to `true`
30fd4e5da5Sopenharmony_ci	 * the client supports the new `ImplementationRegistrationOptions` return value
31fd4e5da5Sopenharmony_ci	 * for the corresponding server capability as well.
32fd4e5da5Sopenharmony_ci	 */
33fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
34fd4e5da5Sopenharmony_ci
35fd4e5da5Sopenharmony_ci	/*LinkSupport defined:
36fd4e5da5Sopenharmony_ci	 * The client supports additional metadata in the form of definition links.
37fd4e5da5Sopenharmony_ci	 *
38fd4e5da5Sopenharmony_ci	 * Since 3.14.0
39fd4e5da5Sopenharmony_ci	 */
40fd4e5da5Sopenharmony_ci	LinkSupport bool `json:"linkSupport,omitempty"`
41fd4e5da5Sopenharmony_ci}
42fd4e5da5Sopenharmony_ci
43fd4e5da5Sopenharmony_ci// ImplementationOptions is
44fd4e5da5Sopenharmony_citype ImplementationOptions struct {
45fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
46fd4e5da5Sopenharmony_ci}
47fd4e5da5Sopenharmony_ci
48fd4e5da5Sopenharmony_ci// ImplementationRegistrationOptions is
49fd4e5da5Sopenharmony_citype ImplementationRegistrationOptions struct {
50fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
51fd4e5da5Sopenharmony_ci	ImplementationOptions
52fd4e5da5Sopenharmony_ci	StaticRegistrationOptions
53fd4e5da5Sopenharmony_ci}
54fd4e5da5Sopenharmony_ci
55fd4e5da5Sopenharmony_ci// ImplementationParams is
56fd4e5da5Sopenharmony_citype ImplementationParams struct {
57fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
58fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
59fd4e5da5Sopenharmony_ci	PartialResultParams
60fd4e5da5Sopenharmony_ci}
61fd4e5da5Sopenharmony_ci
62fd4e5da5Sopenharmony_ci/*TypeDefinitionClientCapabilities defined:
63fd4e5da5Sopenharmony_ci * Since 3.6.0
64fd4e5da5Sopenharmony_ci */
65fd4e5da5Sopenharmony_citype TypeDefinitionClientCapabilities struct {
66fd4e5da5Sopenharmony_ci
67fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
68fd4e5da5Sopenharmony_ci	 * Whether implementation supports dynamic registration. If this is set to `true`
69fd4e5da5Sopenharmony_ci	 * the client supports the new `TypeDefinitionRegistrationOptions` return value
70fd4e5da5Sopenharmony_ci	 * for the corresponding server capability as well.
71fd4e5da5Sopenharmony_ci	 */
72fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
73fd4e5da5Sopenharmony_ci
74fd4e5da5Sopenharmony_ci	/*LinkSupport defined:
75fd4e5da5Sopenharmony_ci	 * The client supports additional metadata in the form of definition links.
76fd4e5da5Sopenharmony_ci	 *
77fd4e5da5Sopenharmony_ci	 * Since 3.14.0
78fd4e5da5Sopenharmony_ci	 */
79fd4e5da5Sopenharmony_ci	LinkSupport bool `json:"linkSupport,omitempty"`
80fd4e5da5Sopenharmony_ci}
81fd4e5da5Sopenharmony_ci
82fd4e5da5Sopenharmony_ci// TypeDefinitionOptions is
83fd4e5da5Sopenharmony_citype TypeDefinitionOptions struct {
84fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
85fd4e5da5Sopenharmony_ci}
86fd4e5da5Sopenharmony_ci
87fd4e5da5Sopenharmony_ci// TypeDefinitionRegistrationOptions is
88fd4e5da5Sopenharmony_citype TypeDefinitionRegistrationOptions struct {
89fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
90fd4e5da5Sopenharmony_ci	TypeDefinitionOptions
91fd4e5da5Sopenharmony_ci	StaticRegistrationOptions
92fd4e5da5Sopenharmony_ci}
93fd4e5da5Sopenharmony_ci
94fd4e5da5Sopenharmony_ci// TypeDefinitionParams is
95fd4e5da5Sopenharmony_citype TypeDefinitionParams struct {
96fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
97fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
98fd4e5da5Sopenharmony_ci	PartialResultParams
99fd4e5da5Sopenharmony_ci}
100fd4e5da5Sopenharmony_ci
101fd4e5da5Sopenharmony_ci// WorkspaceFoldersInitializeParams is
102fd4e5da5Sopenharmony_citype WorkspaceFoldersInitializeParams struct {
103fd4e5da5Sopenharmony_ci
104fd4e5da5Sopenharmony_ci	/*WorkspaceFolders defined:
105fd4e5da5Sopenharmony_ci	 * The actual configured workspace folders.
106fd4e5da5Sopenharmony_ci	 */
107fd4e5da5Sopenharmony_ci	WorkspaceFolders []WorkspaceFolder `json:"workspaceFolders"`
108fd4e5da5Sopenharmony_ci}
109fd4e5da5Sopenharmony_ci
110fd4e5da5Sopenharmony_ci// WorkspaceFoldersClientCapabilities is
111fd4e5da5Sopenharmony_citype WorkspaceFoldersClientCapabilities struct {
112fd4e5da5Sopenharmony_ci
113fd4e5da5Sopenharmony_ci	/*Workspace defined:
114fd4e5da5Sopenharmony_ci	 * The workspace client capabilities
115fd4e5da5Sopenharmony_ci	 */
116fd4e5da5Sopenharmony_ci	Workspace *struct {
117fd4e5da5Sopenharmony_ci
118fd4e5da5Sopenharmony_ci		/*WorkspaceFolders defined:
119fd4e5da5Sopenharmony_ci		 * The client has support for workspace folders
120fd4e5da5Sopenharmony_ci		 */
121fd4e5da5Sopenharmony_ci		WorkspaceFolders bool `json:"workspaceFolders,omitempty"`
122fd4e5da5Sopenharmony_ci	} `json:"workspace,omitempty"`
123fd4e5da5Sopenharmony_ci}
124fd4e5da5Sopenharmony_ci
125fd4e5da5Sopenharmony_ci// WorkspaceFoldersServerCapabilities is
126fd4e5da5Sopenharmony_citype WorkspaceFoldersServerCapabilities struct {
127fd4e5da5Sopenharmony_ci
128fd4e5da5Sopenharmony_ci	/*Workspace defined:
129fd4e5da5Sopenharmony_ci	 * The workspace server capabilities
130fd4e5da5Sopenharmony_ci	 */
131fd4e5da5Sopenharmony_ci	Workspace *struct {
132fd4e5da5Sopenharmony_ci
133fd4e5da5Sopenharmony_ci		// WorkspaceFolders is
134fd4e5da5Sopenharmony_ci		WorkspaceFolders *struct {
135fd4e5da5Sopenharmony_ci
136fd4e5da5Sopenharmony_ci			/*Supported defined:
137fd4e5da5Sopenharmony_ci			 * The Server has support for workspace folders
138fd4e5da5Sopenharmony_ci			 */
139fd4e5da5Sopenharmony_ci			Supported bool `json:"supported,omitempty"`
140fd4e5da5Sopenharmony_ci
141fd4e5da5Sopenharmony_ci			/*ChangeNotifications defined:
142fd4e5da5Sopenharmony_ci			 * Whether the server wants to receive workspace folder
143fd4e5da5Sopenharmony_ci			 * change notifications.
144fd4e5da5Sopenharmony_ci			 *
145fd4e5da5Sopenharmony_ci			 * If a strings is provided the string is treated as a ID
146fd4e5da5Sopenharmony_ci			 * under which the notification is registered on the client
147fd4e5da5Sopenharmony_ci			 * side. The ID can be used to unregister for these events
148fd4e5da5Sopenharmony_ci			 * using the `client/unregisterCapability` request.
149fd4e5da5Sopenharmony_ci			 */
150fd4e5da5Sopenharmony_ci			ChangeNotifications string `json:"changeNotifications,omitempty"` // string | boolean
151fd4e5da5Sopenharmony_ci		} `json:"workspaceFolders,omitempty"`
152fd4e5da5Sopenharmony_ci	} `json:"workspace,omitempty"`
153fd4e5da5Sopenharmony_ci}
154fd4e5da5Sopenharmony_ci
155fd4e5da5Sopenharmony_ci// WorkspaceFolder is
156fd4e5da5Sopenharmony_citype WorkspaceFolder struct {
157fd4e5da5Sopenharmony_ci
158fd4e5da5Sopenharmony_ci	/*URI defined:
159fd4e5da5Sopenharmony_ci	 * The associated URI for this workspace folder.
160fd4e5da5Sopenharmony_ci	 */
161fd4e5da5Sopenharmony_ci	URI string `json:"uri"`
162fd4e5da5Sopenharmony_ci
163fd4e5da5Sopenharmony_ci	/*Name defined:
164fd4e5da5Sopenharmony_ci	 * The name of the workspace folder. Used to refer to this
165fd4e5da5Sopenharmony_ci	 * workspace folder in the user interface.
166fd4e5da5Sopenharmony_ci	 */
167fd4e5da5Sopenharmony_ci	Name string `json:"name"`
168fd4e5da5Sopenharmony_ci}
169fd4e5da5Sopenharmony_ci
170fd4e5da5Sopenharmony_ci/*DidChangeWorkspaceFoldersParams defined:
171fd4e5da5Sopenharmony_ci * The parameters of a `workspace/didChangeWorkspaceFolders` notification.
172fd4e5da5Sopenharmony_ci */
173fd4e5da5Sopenharmony_citype DidChangeWorkspaceFoldersParams struct {
174fd4e5da5Sopenharmony_ci
175fd4e5da5Sopenharmony_ci	/*Event defined:
176fd4e5da5Sopenharmony_ci	 * The actual workspace folder change event.
177fd4e5da5Sopenharmony_ci	 */
178fd4e5da5Sopenharmony_ci	Event WorkspaceFoldersChangeEvent `json:"event"`
179fd4e5da5Sopenharmony_ci}
180fd4e5da5Sopenharmony_ci
181fd4e5da5Sopenharmony_ci/*WorkspaceFoldersChangeEvent defined:
182fd4e5da5Sopenharmony_ci * The workspace folder change event.
183fd4e5da5Sopenharmony_ci */
184fd4e5da5Sopenharmony_citype WorkspaceFoldersChangeEvent struct {
185fd4e5da5Sopenharmony_ci
186fd4e5da5Sopenharmony_ci	/*Added defined:
187fd4e5da5Sopenharmony_ci	 * The array of added workspace folders
188fd4e5da5Sopenharmony_ci	 */
189fd4e5da5Sopenharmony_ci	Added []WorkspaceFolder `json:"added"`
190fd4e5da5Sopenharmony_ci
191fd4e5da5Sopenharmony_ci	/*Removed defined:
192fd4e5da5Sopenharmony_ci	 * The array of the removed workspace folders
193fd4e5da5Sopenharmony_ci	 */
194fd4e5da5Sopenharmony_ci	Removed []WorkspaceFolder `json:"removed"`
195fd4e5da5Sopenharmony_ci}
196fd4e5da5Sopenharmony_ci
197fd4e5da5Sopenharmony_ci// ConfigurationClientCapabilities is
198fd4e5da5Sopenharmony_citype ConfigurationClientCapabilities struct {
199fd4e5da5Sopenharmony_ci
200fd4e5da5Sopenharmony_ci	/*Workspace defined:
201fd4e5da5Sopenharmony_ci	 * The workspace client capabilities
202fd4e5da5Sopenharmony_ci	 */
203fd4e5da5Sopenharmony_ci	Workspace *struct {
204fd4e5da5Sopenharmony_ci
205fd4e5da5Sopenharmony_ci		/*Configuration defined:
206fd4e5da5Sopenharmony_ci		* The client supports `workspace/configuration` requests.
207fd4e5da5Sopenharmony_ci		 */
208fd4e5da5Sopenharmony_ci		Configuration bool `json:"configuration,omitempty"`
209fd4e5da5Sopenharmony_ci	} `json:"workspace,omitempty"`
210fd4e5da5Sopenharmony_ci}
211fd4e5da5Sopenharmony_ci
212fd4e5da5Sopenharmony_ci// ConfigurationItem is
213fd4e5da5Sopenharmony_citype ConfigurationItem struct {
214fd4e5da5Sopenharmony_ci
215fd4e5da5Sopenharmony_ci	/*ScopeURI defined:
216fd4e5da5Sopenharmony_ci	 * The scope to get the configuration section for.
217fd4e5da5Sopenharmony_ci	 */
218fd4e5da5Sopenharmony_ci	ScopeURI string `json:"scopeUri,omitempty"`
219fd4e5da5Sopenharmony_ci
220fd4e5da5Sopenharmony_ci	/*Section defined:
221fd4e5da5Sopenharmony_ci	 * The configuration section asked for.
222fd4e5da5Sopenharmony_ci	 */
223fd4e5da5Sopenharmony_ci	Section string `json:"section,omitempty"`
224fd4e5da5Sopenharmony_ci}
225fd4e5da5Sopenharmony_ci
226fd4e5da5Sopenharmony_ci/*ConfigurationParams defined:
227fd4e5da5Sopenharmony_ci * The parameters of a configuration request.
228fd4e5da5Sopenharmony_ci */
229fd4e5da5Sopenharmony_citype ConfigurationParams struct {
230fd4e5da5Sopenharmony_ci
231fd4e5da5Sopenharmony_ci	// Items is
232fd4e5da5Sopenharmony_ci	Items []ConfigurationItem `json:"items"`
233fd4e5da5Sopenharmony_ci}
234fd4e5da5Sopenharmony_ci
235fd4e5da5Sopenharmony_ci// DocumentColorClientCapabilities is
236fd4e5da5Sopenharmony_citype DocumentColorClientCapabilities struct {
237fd4e5da5Sopenharmony_ci
238fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
239fd4e5da5Sopenharmony_ci	 * Whether implementation supports dynamic registration. If this is set to `true`
240fd4e5da5Sopenharmony_ci	 * the client supports the new `DocumentColorRegistrationOptions` return value
241fd4e5da5Sopenharmony_ci	 * for the corresponding server capability as well.
242fd4e5da5Sopenharmony_ci	 */
243fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
244fd4e5da5Sopenharmony_ci}
245fd4e5da5Sopenharmony_ci
246fd4e5da5Sopenharmony_ci// DocumentColorOptions is
247fd4e5da5Sopenharmony_citype DocumentColorOptions struct {
248fd4e5da5Sopenharmony_ci
249fd4e5da5Sopenharmony_ci	/*ResolveProvider defined:
250fd4e5da5Sopenharmony_ci	 * Code lens has a resolve provider as well.
251fd4e5da5Sopenharmony_ci	 */
252fd4e5da5Sopenharmony_ci	ResolveProvider bool `json:"resolveProvider,omitempty"`
253fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
254fd4e5da5Sopenharmony_ci}
255fd4e5da5Sopenharmony_ci
256fd4e5da5Sopenharmony_ci// DocumentColorRegistrationOptions is
257fd4e5da5Sopenharmony_citype DocumentColorRegistrationOptions struct {
258fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
259fd4e5da5Sopenharmony_ci	StaticRegistrationOptions
260fd4e5da5Sopenharmony_ci	DocumentColorOptions
261fd4e5da5Sopenharmony_ci}
262fd4e5da5Sopenharmony_ci
263fd4e5da5Sopenharmony_ci/*DocumentColorParams defined:
264fd4e5da5Sopenharmony_ci * Parameters for a [DocumentColorRequest](#DocumentColorRequest).
265fd4e5da5Sopenharmony_ci */
266fd4e5da5Sopenharmony_citype DocumentColorParams struct {
267fd4e5da5Sopenharmony_ci
268fd4e5da5Sopenharmony_ci	/*TextDocument defined:
269fd4e5da5Sopenharmony_ci	 * The text document.
270fd4e5da5Sopenharmony_ci	 */
271fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
272fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
273fd4e5da5Sopenharmony_ci	PartialResultParams
274fd4e5da5Sopenharmony_ci}
275fd4e5da5Sopenharmony_ci
276fd4e5da5Sopenharmony_ci/*ColorPresentationParams defined:
277fd4e5da5Sopenharmony_ci * Parameters for a [ColorPresentationRequest](#ColorPresentationRequest).
278fd4e5da5Sopenharmony_ci */
279fd4e5da5Sopenharmony_citype ColorPresentationParams struct {
280fd4e5da5Sopenharmony_ci
281fd4e5da5Sopenharmony_ci	/*TextDocument defined:
282fd4e5da5Sopenharmony_ci	 * The text document.
283fd4e5da5Sopenharmony_ci	 */
284fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
285fd4e5da5Sopenharmony_ci
286fd4e5da5Sopenharmony_ci	/*Color defined:
287fd4e5da5Sopenharmony_ci	 * The color to request presentations for.
288fd4e5da5Sopenharmony_ci	 */
289fd4e5da5Sopenharmony_ci	Color Color `json:"color"`
290fd4e5da5Sopenharmony_ci
291fd4e5da5Sopenharmony_ci	/*Range defined:
292fd4e5da5Sopenharmony_ci	 * The range where the color would be inserted. Serves as a context.
293fd4e5da5Sopenharmony_ci	 */
294fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
295fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
296fd4e5da5Sopenharmony_ci	PartialResultParams
297fd4e5da5Sopenharmony_ci}
298fd4e5da5Sopenharmony_ci
299fd4e5da5Sopenharmony_ci// FoldingRangeClientCapabilities is
300fd4e5da5Sopenharmony_citype FoldingRangeClientCapabilities struct {
301fd4e5da5Sopenharmony_ci
302fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
303fd4e5da5Sopenharmony_ci	 * Whether implementation supports dynamic registration for folding range providers. If this is set to `true`
304fd4e5da5Sopenharmony_ci	 * the client supports the new `FoldingRangeRegistrationOptions` return value for the corresponding server
305fd4e5da5Sopenharmony_ci	 * capability as well.
306fd4e5da5Sopenharmony_ci	 */
307fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
308fd4e5da5Sopenharmony_ci
309fd4e5da5Sopenharmony_ci	/*RangeLimit defined:
310fd4e5da5Sopenharmony_ci	 * The maximum number of folding ranges that the client prefers to receive per document. The value serves as a
311fd4e5da5Sopenharmony_ci	 * hint, servers are free to follow the limit.
312fd4e5da5Sopenharmony_ci	 */
313fd4e5da5Sopenharmony_ci	RangeLimit float64 `json:"rangeLimit,omitempty"`
314fd4e5da5Sopenharmony_ci
315fd4e5da5Sopenharmony_ci	/*LineFoldingOnly defined:
316fd4e5da5Sopenharmony_ci	 * If set, the client signals that it only supports folding complete lines. If set, client will
317fd4e5da5Sopenharmony_ci	 * ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange.
318fd4e5da5Sopenharmony_ci	 */
319fd4e5da5Sopenharmony_ci	LineFoldingOnly bool `json:"lineFoldingOnly,omitempty"`
320fd4e5da5Sopenharmony_ci}
321fd4e5da5Sopenharmony_ci
322fd4e5da5Sopenharmony_ci// FoldingRangeOptions is
323fd4e5da5Sopenharmony_citype FoldingRangeOptions struct {
324fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
325fd4e5da5Sopenharmony_ci}
326fd4e5da5Sopenharmony_ci
327fd4e5da5Sopenharmony_ci// FoldingRangeRegistrationOptions is
328fd4e5da5Sopenharmony_citype FoldingRangeRegistrationOptions struct {
329fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
330fd4e5da5Sopenharmony_ci	FoldingRangeOptions
331fd4e5da5Sopenharmony_ci	StaticRegistrationOptions
332fd4e5da5Sopenharmony_ci}
333fd4e5da5Sopenharmony_ci
334fd4e5da5Sopenharmony_ci/*FoldingRange defined:
335fd4e5da5Sopenharmony_ci * Represents a folding range.
336fd4e5da5Sopenharmony_ci */
337fd4e5da5Sopenharmony_citype FoldingRange struct {
338fd4e5da5Sopenharmony_ci
339fd4e5da5Sopenharmony_ci	/*StartLine defined:
340fd4e5da5Sopenharmony_ci	 * The zero-based line number from where the folded range starts.
341fd4e5da5Sopenharmony_ci	 */
342fd4e5da5Sopenharmony_ci	StartLine float64 `json:"startLine"`
343fd4e5da5Sopenharmony_ci
344fd4e5da5Sopenharmony_ci	/*StartCharacter defined:
345fd4e5da5Sopenharmony_ci	 * The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line.
346fd4e5da5Sopenharmony_ci	 */
347fd4e5da5Sopenharmony_ci	StartCharacter float64 `json:"startCharacter,omitempty"`
348fd4e5da5Sopenharmony_ci
349fd4e5da5Sopenharmony_ci	/*EndLine defined:
350fd4e5da5Sopenharmony_ci	 * The zero-based line number where the folded range ends.
351fd4e5da5Sopenharmony_ci	 */
352fd4e5da5Sopenharmony_ci	EndLine float64 `json:"endLine"`
353fd4e5da5Sopenharmony_ci
354fd4e5da5Sopenharmony_ci	/*EndCharacter defined:
355fd4e5da5Sopenharmony_ci	 * The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line.
356fd4e5da5Sopenharmony_ci	 */
357fd4e5da5Sopenharmony_ci	EndCharacter float64 `json:"endCharacter,omitempty"`
358fd4e5da5Sopenharmony_ci
359fd4e5da5Sopenharmony_ci	/*Kind defined:
360fd4e5da5Sopenharmony_ci	 * Describes the kind of the folding range such as `comment' or 'region'. The kind
361fd4e5da5Sopenharmony_ci	 * is used to categorize folding ranges and used by commands like 'Fold all comments'. See
362fd4e5da5Sopenharmony_ci	 * [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds.
363fd4e5da5Sopenharmony_ci	 */
364fd4e5da5Sopenharmony_ci	Kind string `json:"kind,omitempty"`
365fd4e5da5Sopenharmony_ci}
366fd4e5da5Sopenharmony_ci
367fd4e5da5Sopenharmony_ci/*FoldingRangeParams defined:
368fd4e5da5Sopenharmony_ci * Parameters for a [FoldingRangeRequest](#FoldingRangeRequest).
369fd4e5da5Sopenharmony_ci */
370fd4e5da5Sopenharmony_citype FoldingRangeParams struct {
371fd4e5da5Sopenharmony_ci
372fd4e5da5Sopenharmony_ci	/*TextDocument defined:
373fd4e5da5Sopenharmony_ci	 * The text document.
374fd4e5da5Sopenharmony_ci	 */
375fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
376fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
377fd4e5da5Sopenharmony_ci	PartialResultParams
378fd4e5da5Sopenharmony_ci}
379fd4e5da5Sopenharmony_ci
380fd4e5da5Sopenharmony_ci/*DeclarationClientCapabilities defined:
381fd4e5da5Sopenharmony_ci * Since 3.14.0
382fd4e5da5Sopenharmony_ci */
383fd4e5da5Sopenharmony_citype DeclarationClientCapabilities struct {
384fd4e5da5Sopenharmony_ci
385fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
386fd4e5da5Sopenharmony_ci	 * Whether declaration supports dynamic registration. If this is set to `true`
387fd4e5da5Sopenharmony_ci	 * the client supports the new `DeclarationRegistrationOptions` return value
388fd4e5da5Sopenharmony_ci	 * for the corresponding server capability as well.
389fd4e5da5Sopenharmony_ci	 */
390fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
391fd4e5da5Sopenharmony_ci
392fd4e5da5Sopenharmony_ci	/*LinkSupport defined:
393fd4e5da5Sopenharmony_ci	 * The client supports additional metadata in the form of declaration links.
394fd4e5da5Sopenharmony_ci	 */
395fd4e5da5Sopenharmony_ci	LinkSupport bool `json:"linkSupport,omitempty"`
396fd4e5da5Sopenharmony_ci}
397fd4e5da5Sopenharmony_ci
398fd4e5da5Sopenharmony_ci// DeclarationOptions is
399fd4e5da5Sopenharmony_citype DeclarationOptions struct {
400fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
401fd4e5da5Sopenharmony_ci}
402fd4e5da5Sopenharmony_ci
403fd4e5da5Sopenharmony_ci// DeclarationRegistrationOptions is
404fd4e5da5Sopenharmony_citype DeclarationRegistrationOptions struct {
405fd4e5da5Sopenharmony_ci	DeclarationOptions
406fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
407fd4e5da5Sopenharmony_ci	StaticRegistrationOptions
408fd4e5da5Sopenharmony_ci}
409fd4e5da5Sopenharmony_ci
410fd4e5da5Sopenharmony_ci// DeclarationParams is
411fd4e5da5Sopenharmony_citype DeclarationParams struct {
412fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
413fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
414fd4e5da5Sopenharmony_ci	PartialResultParams
415fd4e5da5Sopenharmony_ci}
416fd4e5da5Sopenharmony_ci
417fd4e5da5Sopenharmony_ci// SelectionRangeClientCapabilities is
418fd4e5da5Sopenharmony_citype SelectionRangeClientCapabilities struct {
419fd4e5da5Sopenharmony_ci
420fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
421fd4e5da5Sopenharmony_ci	 * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
422fd4e5da5Sopenharmony_ci	 * the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
423fd4e5da5Sopenharmony_ci	 * capability as well.
424fd4e5da5Sopenharmony_ci	 */
425fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
426fd4e5da5Sopenharmony_ci}
427fd4e5da5Sopenharmony_ci
428fd4e5da5Sopenharmony_ci// SelectionRangeOptions is
429fd4e5da5Sopenharmony_citype SelectionRangeOptions struct {
430fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
431fd4e5da5Sopenharmony_ci}
432fd4e5da5Sopenharmony_ci
433fd4e5da5Sopenharmony_ci// SelectionRangeRegistrationOptions is
434fd4e5da5Sopenharmony_citype SelectionRangeRegistrationOptions struct {
435fd4e5da5Sopenharmony_ci	SelectionRangeOptions
436fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
437fd4e5da5Sopenharmony_ci	StaticRegistrationOptions
438fd4e5da5Sopenharmony_ci}
439fd4e5da5Sopenharmony_ci
440fd4e5da5Sopenharmony_ci/*SelectionRangeParams defined:
441fd4e5da5Sopenharmony_ci * A parameter literal used in selection range requests.
442fd4e5da5Sopenharmony_ci */
443fd4e5da5Sopenharmony_citype SelectionRangeParams struct {
444fd4e5da5Sopenharmony_ci
445fd4e5da5Sopenharmony_ci	/*TextDocument defined:
446fd4e5da5Sopenharmony_ci	 * The text document.
447fd4e5da5Sopenharmony_ci	 */
448fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
449fd4e5da5Sopenharmony_ci
450fd4e5da5Sopenharmony_ci	/*Positions defined:
451fd4e5da5Sopenharmony_ci	 * The positions inside the text document.
452fd4e5da5Sopenharmony_ci	 */
453fd4e5da5Sopenharmony_ci	Positions []Position `json:"positions"`
454fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
455fd4e5da5Sopenharmony_ci	PartialResultParams
456fd4e5da5Sopenharmony_ci}
457fd4e5da5Sopenharmony_ci
458fd4e5da5Sopenharmony_ci/*Registration defined:
459fd4e5da5Sopenharmony_ci * General parameters to to register for an notification or to register a provider.
460fd4e5da5Sopenharmony_ci */
461fd4e5da5Sopenharmony_citype Registration struct {
462fd4e5da5Sopenharmony_ci
463fd4e5da5Sopenharmony_ci	/*ID defined:
464fd4e5da5Sopenharmony_ci	 * The id used to register the request. The id can be used to deregister
465fd4e5da5Sopenharmony_ci	 * the request again.
466fd4e5da5Sopenharmony_ci	 */
467fd4e5da5Sopenharmony_ci	ID string `json:"id"`
468fd4e5da5Sopenharmony_ci
469fd4e5da5Sopenharmony_ci	/*Method defined:
470fd4e5da5Sopenharmony_ci	 * The method to register for.
471fd4e5da5Sopenharmony_ci	 */
472fd4e5da5Sopenharmony_ci	Method string `json:"method"`
473fd4e5da5Sopenharmony_ci
474fd4e5da5Sopenharmony_ci	/*RegisterOptions defined:
475fd4e5da5Sopenharmony_ci	 * Options necessary for the registration.
476fd4e5da5Sopenharmony_ci	 */
477fd4e5da5Sopenharmony_ci	RegisterOptions interface{} `json:"registerOptions,omitempty"`
478fd4e5da5Sopenharmony_ci}
479fd4e5da5Sopenharmony_ci
480fd4e5da5Sopenharmony_ci// RegistrationParams is
481fd4e5da5Sopenharmony_citype RegistrationParams struct {
482fd4e5da5Sopenharmony_ci
483fd4e5da5Sopenharmony_ci	// Registrations is
484fd4e5da5Sopenharmony_ci	Registrations []Registration `json:"registrations"`
485fd4e5da5Sopenharmony_ci}
486fd4e5da5Sopenharmony_ci
487fd4e5da5Sopenharmony_ci/*Unregistration defined:
488fd4e5da5Sopenharmony_ci * General parameters to unregister a request or notification.
489fd4e5da5Sopenharmony_ci */
490fd4e5da5Sopenharmony_citype Unregistration struct {
491fd4e5da5Sopenharmony_ci
492fd4e5da5Sopenharmony_ci	/*ID defined:
493fd4e5da5Sopenharmony_ci	 * The id used to unregister the request or notification. Usually an id
494fd4e5da5Sopenharmony_ci	 * provided during the register request.
495fd4e5da5Sopenharmony_ci	 */
496fd4e5da5Sopenharmony_ci	ID string `json:"id"`
497fd4e5da5Sopenharmony_ci
498fd4e5da5Sopenharmony_ci	/*Method defined:
499fd4e5da5Sopenharmony_ci	 * The method to unregister for.
500fd4e5da5Sopenharmony_ci	 */
501fd4e5da5Sopenharmony_ci	Method string `json:"method"`
502fd4e5da5Sopenharmony_ci}
503fd4e5da5Sopenharmony_ci
504fd4e5da5Sopenharmony_ci// UnregistrationParams is
505fd4e5da5Sopenharmony_citype UnregistrationParams struct {
506fd4e5da5Sopenharmony_ci
507fd4e5da5Sopenharmony_ci	// Unregisterations is
508fd4e5da5Sopenharmony_ci	Unregisterations []Unregistration `json:"unregisterations"`
509fd4e5da5Sopenharmony_ci}
510fd4e5da5Sopenharmony_ci
511fd4e5da5Sopenharmony_ci// WorkDoneProgressParams is
512fd4e5da5Sopenharmony_citype WorkDoneProgressParams struct {
513fd4e5da5Sopenharmony_ci
514fd4e5da5Sopenharmony_ci	/*WorkDoneToken defined:
515fd4e5da5Sopenharmony_ci	 * An optional token that a server can use to report work done progress.
516fd4e5da5Sopenharmony_ci	 */
517fd4e5da5Sopenharmony_ci	WorkDoneToken *ProgressToken `json:"workDoneToken,omitempty"`
518fd4e5da5Sopenharmony_ci}
519fd4e5da5Sopenharmony_ci
520fd4e5da5Sopenharmony_ci// PartialResultParams is
521fd4e5da5Sopenharmony_citype PartialResultParams struct {
522fd4e5da5Sopenharmony_ci
523fd4e5da5Sopenharmony_ci	/*PartialResultToken defined:
524fd4e5da5Sopenharmony_ci	 * An optional token that a server can use to report partial results (e.g. streaming) to
525fd4e5da5Sopenharmony_ci	 * the client.
526fd4e5da5Sopenharmony_ci	 */
527fd4e5da5Sopenharmony_ci	PartialResultToken *ProgressToken `json:"partialResultToken,omitempty"`
528fd4e5da5Sopenharmony_ci}
529fd4e5da5Sopenharmony_ci
530fd4e5da5Sopenharmony_ci/*TextDocumentPositionParams defined:
531fd4e5da5Sopenharmony_ci * A parameter literal used in requests to pass a text document and a position inside that
532fd4e5da5Sopenharmony_ci * document.
533fd4e5da5Sopenharmony_ci */
534fd4e5da5Sopenharmony_citype TextDocumentPositionParams struct {
535fd4e5da5Sopenharmony_ci
536fd4e5da5Sopenharmony_ci	/*TextDocument defined:
537fd4e5da5Sopenharmony_ci	 * The text document.
538fd4e5da5Sopenharmony_ci	 */
539fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
540fd4e5da5Sopenharmony_ci
541fd4e5da5Sopenharmony_ci	/*Position defined:
542fd4e5da5Sopenharmony_ci	 * The position inside the text document.
543fd4e5da5Sopenharmony_ci	 */
544fd4e5da5Sopenharmony_ci	Position Position `json:"position"`
545fd4e5da5Sopenharmony_ci}
546fd4e5da5Sopenharmony_ci
547fd4e5da5Sopenharmony_ci/*WorkspaceClientCapabilities defined:
548fd4e5da5Sopenharmony_ci * Workspace specific client capabilities.
549fd4e5da5Sopenharmony_ci */
550fd4e5da5Sopenharmony_citype WorkspaceClientCapabilities struct {
551fd4e5da5Sopenharmony_ci
552fd4e5da5Sopenharmony_ci	/*ApplyEdit defined:
553fd4e5da5Sopenharmony_ci	 * The client supports applying batch edits
554fd4e5da5Sopenharmony_ci	 * to the workspace by supporting the request
555fd4e5da5Sopenharmony_ci	 * 'workspace/applyEdit'
556fd4e5da5Sopenharmony_ci	 */
557fd4e5da5Sopenharmony_ci	ApplyEdit bool `json:"applyEdit,omitempty"`
558fd4e5da5Sopenharmony_ci
559fd4e5da5Sopenharmony_ci	/*WorkspaceEdit defined:
560fd4e5da5Sopenharmony_ci	 * Capabilities specific to `WorkspaceEdit`s
561fd4e5da5Sopenharmony_ci	 */
562fd4e5da5Sopenharmony_ci	WorkspaceEdit *WorkspaceEditClientCapabilities `json:"workspaceEdit,omitempty"`
563fd4e5da5Sopenharmony_ci
564fd4e5da5Sopenharmony_ci	/*DidChangeConfiguration defined:
565fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `workspace/didChangeConfiguration` notification.
566fd4e5da5Sopenharmony_ci	 */
567fd4e5da5Sopenharmony_ci	DidChangeConfiguration *DidChangeConfigurationClientCapabilities `json:"didChangeConfiguration,omitempty"`
568fd4e5da5Sopenharmony_ci
569fd4e5da5Sopenharmony_ci	/*DidChangeWatchedFiles defined:
570fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
571fd4e5da5Sopenharmony_ci	 */
572fd4e5da5Sopenharmony_ci	DidChangeWatchedFiles *DidChangeWatchedFilesClientCapabilities `json:"didChangeWatchedFiles,omitempty"`
573fd4e5da5Sopenharmony_ci
574fd4e5da5Sopenharmony_ci	/*Symbol defined:
575fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `workspace/symbol` request.
576fd4e5da5Sopenharmony_ci	 */
577fd4e5da5Sopenharmony_ci	Symbol *WorkspaceSymbolClientCapabilities `json:"symbol,omitempty"`
578fd4e5da5Sopenharmony_ci
579fd4e5da5Sopenharmony_ci	/*ExecuteCommand defined:
580fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `workspace/executeCommand` request.
581fd4e5da5Sopenharmony_ci	 */
582fd4e5da5Sopenharmony_ci	ExecuteCommand *ExecuteCommandClientCapabilities `json:"executeCommand,omitempty"`
583fd4e5da5Sopenharmony_ci}
584fd4e5da5Sopenharmony_ci
585fd4e5da5Sopenharmony_ci/*TextDocumentClientCapabilities defined:
586fd4e5da5Sopenharmony_ci * Text document specific client capabilities.
587fd4e5da5Sopenharmony_ci */
588fd4e5da5Sopenharmony_citype TextDocumentClientCapabilities struct {
589fd4e5da5Sopenharmony_ci
590fd4e5da5Sopenharmony_ci	/*Synchronization defined:
591fd4e5da5Sopenharmony_ci	 * Defines which synchronization capabilities the client supports.
592fd4e5da5Sopenharmony_ci	 */
593fd4e5da5Sopenharmony_ci	Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitempty"`
594fd4e5da5Sopenharmony_ci
595fd4e5da5Sopenharmony_ci	/*Completion defined:
596fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/completion`
597fd4e5da5Sopenharmony_ci	 */
598fd4e5da5Sopenharmony_ci	Completion *CompletionClientCapabilities `json:"completion,omitempty"`
599fd4e5da5Sopenharmony_ci
600fd4e5da5Sopenharmony_ci	/*Hover defined:
601fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/hover`
602fd4e5da5Sopenharmony_ci	 */
603fd4e5da5Sopenharmony_ci	Hover *HoverClientCapabilities `json:"hover,omitempty"`
604fd4e5da5Sopenharmony_ci
605fd4e5da5Sopenharmony_ci	/*SignatureHelp defined:
606fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/signatureHelp`
607fd4e5da5Sopenharmony_ci	 */
608fd4e5da5Sopenharmony_ci	SignatureHelp *SignatureHelpClientCapabilities `json:"signatureHelp,omitempty"`
609fd4e5da5Sopenharmony_ci
610fd4e5da5Sopenharmony_ci	/*Declaration defined:
611fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/declaration`
612fd4e5da5Sopenharmony_ci	 *
613fd4e5da5Sopenharmony_ci	 * @since 3.14.0
614fd4e5da5Sopenharmony_ci	 */
615fd4e5da5Sopenharmony_ci	Declaration *DeclarationClientCapabilities `json:"declaration,omitempty"`
616fd4e5da5Sopenharmony_ci
617fd4e5da5Sopenharmony_ci	/*Definition defined:
618fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/definition`
619fd4e5da5Sopenharmony_ci	 */
620fd4e5da5Sopenharmony_ci	Definition *DefinitionClientCapabilities `json:"definition,omitempty"`
621fd4e5da5Sopenharmony_ci
622fd4e5da5Sopenharmony_ci	/*TypeDefinition defined:
623fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/typeDefinition`
624fd4e5da5Sopenharmony_ci	 *
625fd4e5da5Sopenharmony_ci	 * @since 3.6.0
626fd4e5da5Sopenharmony_ci	 */
627fd4e5da5Sopenharmony_ci	TypeDefinition *TypeDefinitionClientCapabilities `json:"typeDefinition,omitempty"`
628fd4e5da5Sopenharmony_ci
629fd4e5da5Sopenharmony_ci	/*Implementation defined:
630fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/implementation`
631fd4e5da5Sopenharmony_ci	 *
632fd4e5da5Sopenharmony_ci	 * @since 3.6.0
633fd4e5da5Sopenharmony_ci	 */
634fd4e5da5Sopenharmony_ci	Implementation *ImplementationClientCapabilities `json:"implementation,omitempty"`
635fd4e5da5Sopenharmony_ci
636fd4e5da5Sopenharmony_ci	/*References defined:
637fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/references`
638fd4e5da5Sopenharmony_ci	 */
639fd4e5da5Sopenharmony_ci	References *ReferenceClientCapabilities `json:"references,omitempty"`
640fd4e5da5Sopenharmony_ci
641fd4e5da5Sopenharmony_ci	/*DocumentHighlight defined:
642fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/documentHighlight`
643fd4e5da5Sopenharmony_ci	 */
644fd4e5da5Sopenharmony_ci	DocumentHighlight *DocumentHighlightClientCapabilities `json:"documentHighlight,omitempty"`
645fd4e5da5Sopenharmony_ci
646fd4e5da5Sopenharmony_ci	/*DocumentSymbol defined:
647fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/documentSymbol`
648fd4e5da5Sopenharmony_ci	 */
649fd4e5da5Sopenharmony_ci	DocumentSymbol *DocumentSymbolClientCapabilities `json:"documentSymbol,omitempty"`
650fd4e5da5Sopenharmony_ci
651fd4e5da5Sopenharmony_ci	/*CodeAction defined:
652fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/codeAction`
653fd4e5da5Sopenharmony_ci	 */
654fd4e5da5Sopenharmony_ci	CodeAction *CodeActionClientCapabilities `json:"codeAction,omitempty"`
655fd4e5da5Sopenharmony_ci
656fd4e5da5Sopenharmony_ci	/*CodeLens defined:
657fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/codeLens`
658fd4e5da5Sopenharmony_ci	 */
659fd4e5da5Sopenharmony_ci	CodeLens *CodeLensClientCapabilities `json:"codeLens,omitempty"`
660fd4e5da5Sopenharmony_ci
661fd4e5da5Sopenharmony_ci	/*DocumentLink defined:
662fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/documentLink`
663fd4e5da5Sopenharmony_ci	 */
664fd4e5da5Sopenharmony_ci	DocumentLink *DocumentLinkClientCapabilities `json:"documentLink,omitempty"`
665fd4e5da5Sopenharmony_ci
666fd4e5da5Sopenharmony_ci	/*ColorProvider defined:
667fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/documentColor`
668fd4e5da5Sopenharmony_ci	 */
669fd4e5da5Sopenharmony_ci	ColorProvider *DocumentColorClientCapabilities `json:"colorProvider,omitempty"`
670fd4e5da5Sopenharmony_ci
671fd4e5da5Sopenharmony_ci	/*Formatting defined:
672fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/formatting`
673fd4e5da5Sopenharmony_ci	 */
674fd4e5da5Sopenharmony_ci	Formatting *DocumentFormattingClientCapabilities `json:"formatting,omitempty"`
675fd4e5da5Sopenharmony_ci
676fd4e5da5Sopenharmony_ci	/*RangeFormatting defined:
677fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/rangeFormatting`
678fd4e5da5Sopenharmony_ci	 */
679fd4e5da5Sopenharmony_ci	RangeFormatting *DocumentRangeFormattingClientCapabilities `json:"rangeFormatting,omitempty"`
680fd4e5da5Sopenharmony_ci
681fd4e5da5Sopenharmony_ci	/*OnTypeFormatting defined:
682fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/onTypeFormatting`
683fd4e5da5Sopenharmony_ci	 */
684fd4e5da5Sopenharmony_ci	OnTypeFormatting *DocumentOnTypeFormattingClientCapabilities `json:"onTypeFormatting,omitempty"`
685fd4e5da5Sopenharmony_ci
686fd4e5da5Sopenharmony_ci	/*Rename defined:
687fd4e5da5Sopenharmony_ci	 * Capabilities specific to the `textDocument/rename`
688fd4e5da5Sopenharmony_ci	 */
689fd4e5da5Sopenharmony_ci	Rename *RenameClientCapabilities `json:"rename,omitempty"`
690fd4e5da5Sopenharmony_ci
691fd4e5da5Sopenharmony_ci	/*FoldingRange defined:
692fd4e5da5Sopenharmony_ci	 * Capabilities specific to `textDocument/foldingRange` requests.
693fd4e5da5Sopenharmony_ci	 *
694fd4e5da5Sopenharmony_ci	 * @since 3.10.0
695fd4e5da5Sopenharmony_ci	 */
696fd4e5da5Sopenharmony_ci	FoldingRange *FoldingRangeClientCapabilities `json:"foldingRange,omitempty"`
697fd4e5da5Sopenharmony_ci
698fd4e5da5Sopenharmony_ci	/*SelectionRange defined:
699fd4e5da5Sopenharmony_ci	 * Capabilities specific to `textDocument/selectionRange` requests
700fd4e5da5Sopenharmony_ci	 *
701fd4e5da5Sopenharmony_ci	 * @since 3.15.0
702fd4e5da5Sopenharmony_ci	 */
703fd4e5da5Sopenharmony_ci	SelectionRange *SelectionRangeClientCapabilities `json:"selectionRange,omitempty"`
704fd4e5da5Sopenharmony_ci
705fd4e5da5Sopenharmony_ci	/*PublishDiagnostics defined:
706fd4e5da5Sopenharmony_ci	 * Capabilities specific to `textDocument/publishDiagnostics`.
707fd4e5da5Sopenharmony_ci	 */
708fd4e5da5Sopenharmony_ci	PublishDiagnostics *PublishDiagnosticsClientCapabilities `json:"publishDiagnostics,omitempty"`
709fd4e5da5Sopenharmony_ci}
710fd4e5da5Sopenharmony_ci
711fd4e5da5Sopenharmony_ci/*InnerClientCapabilities defined:
712fd4e5da5Sopenharmony_ci * Defines the capabilities provided by the client.
713fd4e5da5Sopenharmony_ci */
714fd4e5da5Sopenharmony_citype InnerClientCapabilities struct {
715fd4e5da5Sopenharmony_ci
716fd4e5da5Sopenharmony_ci	/*Workspace defined:
717fd4e5da5Sopenharmony_ci	 * Workspace specific client capabilities.
718fd4e5da5Sopenharmony_ci	 */
719fd4e5da5Sopenharmony_ci	Workspace *WorkspaceClientCapabilities `json:"workspace,omitempty"`
720fd4e5da5Sopenharmony_ci
721fd4e5da5Sopenharmony_ci	/*TextDocument defined:
722fd4e5da5Sopenharmony_ci	 * Text document specific client capabilities.
723fd4e5da5Sopenharmony_ci	 */
724fd4e5da5Sopenharmony_ci	TextDocument *TextDocumentClientCapabilities `json:"textDocument,omitempty"`
725fd4e5da5Sopenharmony_ci
726fd4e5da5Sopenharmony_ci	/*Window defined:
727fd4e5da5Sopenharmony_ci	 * Window specific client capabilities.
728fd4e5da5Sopenharmony_ci	 */
729fd4e5da5Sopenharmony_ci	Window interface{} `json:"window,omitempty"`
730fd4e5da5Sopenharmony_ci
731fd4e5da5Sopenharmony_ci	/*Experimental defined:
732fd4e5da5Sopenharmony_ci	 * Experimental client capabilities.
733fd4e5da5Sopenharmony_ci	 */
734fd4e5da5Sopenharmony_ci	Experimental interface{} `json:"experimental,omitempty"`
735fd4e5da5Sopenharmony_ci}
736fd4e5da5Sopenharmony_ci
737fd4e5da5Sopenharmony_ci// ClientCapabilities is
738fd4e5da5Sopenharmony_citype ClientCapabilities struct {
739fd4e5da5Sopenharmony_ci
740fd4e5da5Sopenharmony_ci	/*Workspace defined:
741fd4e5da5Sopenharmony_ci	 * Workspace specific client capabilities.
742fd4e5da5Sopenharmony_ci	 */
743fd4e5da5Sopenharmony_ci	Workspace struct {
744fd4e5da5Sopenharmony_ci
745fd4e5da5Sopenharmony_ci		/*ApplyEdit defined:
746fd4e5da5Sopenharmony_ci		 * The client supports applying batch edits
747fd4e5da5Sopenharmony_ci		 * to the workspace by supporting the request
748fd4e5da5Sopenharmony_ci		 * 'workspace/applyEdit'
749fd4e5da5Sopenharmony_ci		 */
750fd4e5da5Sopenharmony_ci		ApplyEdit bool `json:"applyEdit,omitempty"`
751fd4e5da5Sopenharmony_ci
752fd4e5da5Sopenharmony_ci		/*WorkspaceEdit defined:
753fd4e5da5Sopenharmony_ci		 * Capabilities specific to `WorkspaceEdit`s
754fd4e5da5Sopenharmony_ci		 */
755fd4e5da5Sopenharmony_ci		WorkspaceEdit WorkspaceEditClientCapabilities `json:"workspaceEdit,omitempty"`
756fd4e5da5Sopenharmony_ci
757fd4e5da5Sopenharmony_ci		/*DidChangeConfiguration defined:
758fd4e5da5Sopenharmony_ci		 * Capabilities specific to the `workspace/didChangeConfiguration` notification.
759fd4e5da5Sopenharmony_ci		 */
760fd4e5da5Sopenharmony_ci		DidChangeConfiguration DidChangeConfigurationClientCapabilities `json:"didChangeConfiguration,omitempty"`
761fd4e5da5Sopenharmony_ci
762fd4e5da5Sopenharmony_ci		/*DidChangeWatchedFiles defined:
763fd4e5da5Sopenharmony_ci		 * Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
764fd4e5da5Sopenharmony_ci		 */
765fd4e5da5Sopenharmony_ci		DidChangeWatchedFiles DidChangeWatchedFilesClientCapabilities `json:"didChangeWatchedFiles,omitempty"`
766fd4e5da5Sopenharmony_ci
767fd4e5da5Sopenharmony_ci		/*Symbol defined:
768fd4e5da5Sopenharmony_ci		 * Capabilities specific to the `workspace/symbol` request.
769fd4e5da5Sopenharmony_ci		 */
770fd4e5da5Sopenharmony_ci		Symbol WorkspaceSymbolClientCapabilities `json:"symbol,omitempty"`
771fd4e5da5Sopenharmony_ci
772fd4e5da5Sopenharmony_ci		/*ExecuteCommand defined:
773fd4e5da5Sopenharmony_ci		 * Capabilities specific to the `workspace/executeCommand` request.
774fd4e5da5Sopenharmony_ci		 */
775fd4e5da5Sopenharmony_ci		ExecuteCommand ExecuteCommandClientCapabilities `json:"executeCommand,omitempty"`
776fd4e5da5Sopenharmony_ci
777fd4e5da5Sopenharmony_ci		/*WorkspaceFolders defined:
778fd4e5da5Sopenharmony_ci		 * The client has support for workspace folders
779fd4e5da5Sopenharmony_ci		 */
780fd4e5da5Sopenharmony_ci		WorkspaceFolders bool `json:"workspaceFolders,omitempty"`
781fd4e5da5Sopenharmony_ci
782fd4e5da5Sopenharmony_ci		/*Configuration defined:
783fd4e5da5Sopenharmony_ci		* The client supports `workspace/configuration` requests.
784fd4e5da5Sopenharmony_ci		 */
785fd4e5da5Sopenharmony_ci		Configuration bool `json:"configuration,omitempty"`
786fd4e5da5Sopenharmony_ci	} `json:"workspace,omitempty"`
787fd4e5da5Sopenharmony_ci
788fd4e5da5Sopenharmony_ci	/*TextDocument defined:
789fd4e5da5Sopenharmony_ci	 * Text document specific client capabilities.
790fd4e5da5Sopenharmony_ci	 */
791fd4e5da5Sopenharmony_ci	TextDocument TextDocumentClientCapabilities `json:"textDocument,omitempty"`
792fd4e5da5Sopenharmony_ci
793fd4e5da5Sopenharmony_ci	/*Window defined:
794fd4e5da5Sopenharmony_ci	 * Window specific client capabilities.
795fd4e5da5Sopenharmony_ci	 */
796fd4e5da5Sopenharmony_ci	Window interface{} `json:"window,omitempty"`
797fd4e5da5Sopenharmony_ci
798fd4e5da5Sopenharmony_ci	/*Experimental defined:
799fd4e5da5Sopenharmony_ci	 * Experimental client capabilities.
800fd4e5da5Sopenharmony_ci	 */
801fd4e5da5Sopenharmony_ci	Experimental interface{} `json:"experimental,omitempty"`
802fd4e5da5Sopenharmony_ci
803fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
804fd4e5da5Sopenharmony_ci	 * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
805fd4e5da5Sopenharmony_ci	 * the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
806fd4e5da5Sopenharmony_ci	 * capability as well.
807fd4e5da5Sopenharmony_ci	 */
808fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
809fd4e5da5Sopenharmony_ci}
810fd4e5da5Sopenharmony_ci
811fd4e5da5Sopenharmony_ci/*StaticRegistrationOptions defined:
812fd4e5da5Sopenharmony_ci * Static registration options to be returned in the initialize
813fd4e5da5Sopenharmony_ci * request.
814fd4e5da5Sopenharmony_ci */
815fd4e5da5Sopenharmony_citype StaticRegistrationOptions struct {
816fd4e5da5Sopenharmony_ci
817fd4e5da5Sopenharmony_ci	/*ID defined:
818fd4e5da5Sopenharmony_ci	 * The id used to register the request. The id can be used to deregister
819fd4e5da5Sopenharmony_ci	 * the request again. See also Registration#id.
820fd4e5da5Sopenharmony_ci	 */
821fd4e5da5Sopenharmony_ci	ID string `json:"id,omitempty"`
822fd4e5da5Sopenharmony_ci}
823fd4e5da5Sopenharmony_ci
824fd4e5da5Sopenharmony_ci/*TextDocumentRegistrationOptions defined:
825fd4e5da5Sopenharmony_ci * General text document registration options.
826fd4e5da5Sopenharmony_ci */
827fd4e5da5Sopenharmony_citype TextDocumentRegistrationOptions struct {
828fd4e5da5Sopenharmony_ci
829fd4e5da5Sopenharmony_ci	/*DocumentSelector defined:
830fd4e5da5Sopenharmony_ci	 * A document selector to identify the scope of the registration. If set to null
831fd4e5da5Sopenharmony_ci	 * the document selector provided on the client side will be used.
832fd4e5da5Sopenharmony_ci	 */
833fd4e5da5Sopenharmony_ci	DocumentSelector DocumentSelector `json:"documentSelector"`
834fd4e5da5Sopenharmony_ci}
835fd4e5da5Sopenharmony_ci
836fd4e5da5Sopenharmony_ci/*SaveOptions defined:
837fd4e5da5Sopenharmony_ci * Save options.
838fd4e5da5Sopenharmony_ci */
839fd4e5da5Sopenharmony_citype SaveOptions struct {
840fd4e5da5Sopenharmony_ci
841fd4e5da5Sopenharmony_ci	/*IncludeText defined:
842fd4e5da5Sopenharmony_ci	 * The client is supposed to include the content on save.
843fd4e5da5Sopenharmony_ci	 */
844fd4e5da5Sopenharmony_ci	IncludeText bool `json:"includeText,omitempty"`
845fd4e5da5Sopenharmony_ci}
846fd4e5da5Sopenharmony_ci
847fd4e5da5Sopenharmony_ci// WorkDoneProgressOptions is
848fd4e5da5Sopenharmony_citype WorkDoneProgressOptions struct {
849fd4e5da5Sopenharmony_ci
850fd4e5da5Sopenharmony_ci	// WorkDoneProgress is
851fd4e5da5Sopenharmony_ci	WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
852fd4e5da5Sopenharmony_ci}
853fd4e5da5Sopenharmony_ci
854fd4e5da5Sopenharmony_ci/*InnerServerCapabilities defined:
855fd4e5da5Sopenharmony_ci * Defines the capabilities provided by a language
856fd4e5da5Sopenharmony_ci * server.
857fd4e5da5Sopenharmony_ci */
858fd4e5da5Sopenharmony_citype InnerServerCapabilities struct {
859fd4e5da5Sopenharmony_ci
860fd4e5da5Sopenharmony_ci	/*TextDocumentSync defined:
861fd4e5da5Sopenharmony_ci	 * Defines how text documents are synced. Is either a detailed structure defining each notification or
862fd4e5da5Sopenharmony_ci	 * for backwards compatibility the TextDocumentSyncKind number.
863fd4e5da5Sopenharmony_ci	 */
864fd4e5da5Sopenharmony_ci	TextDocumentSync interface{} `json:"textDocumentSync,omitempty"` // TextDocumentSyncOptions | TextDocumentSyncKind
865fd4e5da5Sopenharmony_ci
866fd4e5da5Sopenharmony_ci	/*CompletionProvider defined:
867fd4e5da5Sopenharmony_ci	 * The server provides completion support.
868fd4e5da5Sopenharmony_ci	 */
869fd4e5da5Sopenharmony_ci	CompletionProvider *CompletionOptions `json:"completionProvider,omitempty"`
870fd4e5da5Sopenharmony_ci
871fd4e5da5Sopenharmony_ci	/*HoverProvider defined:
872fd4e5da5Sopenharmony_ci	 * The server provides hover support.
873fd4e5da5Sopenharmony_ci	 */
874fd4e5da5Sopenharmony_ci	HoverProvider bool `json:"hoverProvider,omitempty"` // boolean | HoverOptions
875fd4e5da5Sopenharmony_ci
876fd4e5da5Sopenharmony_ci	/*SignatureHelpProvider defined:
877fd4e5da5Sopenharmony_ci	 * The server provides signature help support.
878fd4e5da5Sopenharmony_ci	 */
879fd4e5da5Sopenharmony_ci	SignatureHelpProvider *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
880fd4e5da5Sopenharmony_ci
881fd4e5da5Sopenharmony_ci	/*DeclarationProvider defined:
882fd4e5da5Sopenharmony_ci	 * The server provides Goto Declaration support.
883fd4e5da5Sopenharmony_ci	 */
884fd4e5da5Sopenharmony_ci	DeclarationProvider bool `json:"declarationProvider,omitempty"` // boolean | DeclarationOptions | DeclarationRegistrationOptions
885fd4e5da5Sopenharmony_ci
886fd4e5da5Sopenharmony_ci	/*DefinitionProvider defined:
887fd4e5da5Sopenharmony_ci	 * The server provides goto definition support.
888fd4e5da5Sopenharmony_ci	 */
889fd4e5da5Sopenharmony_ci	DefinitionProvider bool `json:"definitionProvider,omitempty"` // boolean | DefinitionOptions
890fd4e5da5Sopenharmony_ci
891fd4e5da5Sopenharmony_ci	/*TypeDefinitionProvider defined:
892fd4e5da5Sopenharmony_ci	 * The server provides Goto Type Definition support.
893fd4e5da5Sopenharmony_ci	 */
894fd4e5da5Sopenharmony_ci	TypeDefinitionProvider bool `json:"typeDefinitionProvider,omitempty"` // boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions
895fd4e5da5Sopenharmony_ci
896fd4e5da5Sopenharmony_ci	/*ImplementationProvider defined:
897fd4e5da5Sopenharmony_ci	 * The server provides Goto Implementation support.
898fd4e5da5Sopenharmony_ci	 */
899fd4e5da5Sopenharmony_ci	ImplementationProvider bool `json:"implementationProvider,omitempty"` // boolean | ImplementationOptions | ImplementationRegistrationOptions
900fd4e5da5Sopenharmony_ci
901fd4e5da5Sopenharmony_ci	/*ReferencesProvider defined:
902fd4e5da5Sopenharmony_ci	 * The server provides find references support.
903fd4e5da5Sopenharmony_ci	 */
904fd4e5da5Sopenharmony_ci	ReferencesProvider bool `json:"referencesProvider,omitempty"` // boolean | ReferenceOptions
905fd4e5da5Sopenharmony_ci
906fd4e5da5Sopenharmony_ci	/*DocumentHighlightProvider defined:
907fd4e5da5Sopenharmony_ci	 * The server provides document highlight support.
908fd4e5da5Sopenharmony_ci	 */
909fd4e5da5Sopenharmony_ci	DocumentHighlightProvider bool `json:"documentHighlightProvider,omitempty"` // boolean | DocumentHighlightOptions
910fd4e5da5Sopenharmony_ci
911fd4e5da5Sopenharmony_ci	/*DocumentSymbolProvider defined:
912fd4e5da5Sopenharmony_ci	 * The server provides document symbol support.
913fd4e5da5Sopenharmony_ci	 */
914fd4e5da5Sopenharmony_ci	DocumentSymbolProvider bool `json:"documentSymbolProvider,omitempty"` // boolean | DocumentSymbolOptions
915fd4e5da5Sopenharmony_ci
916fd4e5da5Sopenharmony_ci	/*CodeActionProvider defined:
917fd4e5da5Sopenharmony_ci	 * The server provides code actions. CodeActionOptions may only be
918fd4e5da5Sopenharmony_ci	 * specified if the client states that it supports
919fd4e5da5Sopenharmony_ci	 * `codeActionLiteralSupport` in its initial `initialize` request.
920fd4e5da5Sopenharmony_ci	 */
921fd4e5da5Sopenharmony_ci	CodeActionProvider interface{} `json:"codeActionProvider,omitempty"` // boolean | CodeActionOptions
922fd4e5da5Sopenharmony_ci
923fd4e5da5Sopenharmony_ci	/*CodeLensProvider defined:
924fd4e5da5Sopenharmony_ci	 * The server provides code lens.
925fd4e5da5Sopenharmony_ci	 */
926fd4e5da5Sopenharmony_ci	CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitempty"`
927fd4e5da5Sopenharmony_ci
928fd4e5da5Sopenharmony_ci	/*DocumentLinkProvider defined:
929fd4e5da5Sopenharmony_ci	 * The server provides document link support.
930fd4e5da5Sopenharmony_ci	 */
931fd4e5da5Sopenharmony_ci	DocumentLinkProvider *DocumentLinkOptions `json:"documentLinkProvider,omitempty"`
932fd4e5da5Sopenharmony_ci
933fd4e5da5Sopenharmony_ci	/*ColorProvider defined:
934fd4e5da5Sopenharmony_ci	 * The server provides color provider support.
935fd4e5da5Sopenharmony_ci	 */
936fd4e5da5Sopenharmony_ci	ColorProvider bool `json:"colorProvider,omitempty"` // boolean | DocumentColorOptions | DocumentColorRegistrationOptions
937fd4e5da5Sopenharmony_ci
938fd4e5da5Sopenharmony_ci	/*WorkspaceSymbolProvider defined:
939fd4e5da5Sopenharmony_ci	 * The server provides workspace symbol support.
940fd4e5da5Sopenharmony_ci	 */
941fd4e5da5Sopenharmony_ci	WorkspaceSymbolProvider bool `json:"workspaceSymbolProvider,omitempty"` // boolean | WorkspaceSymbolOptions
942fd4e5da5Sopenharmony_ci
943fd4e5da5Sopenharmony_ci	/*DocumentFormattingProvider defined:
944fd4e5da5Sopenharmony_ci	 * The server provides document formatting.
945fd4e5da5Sopenharmony_ci	 */
946fd4e5da5Sopenharmony_ci	DocumentFormattingProvider bool `json:"documentFormattingProvider,omitempty"` // boolean | DocumentFormattingOptions
947fd4e5da5Sopenharmony_ci
948fd4e5da5Sopenharmony_ci	/*DocumentRangeFormattingProvider defined:
949fd4e5da5Sopenharmony_ci	 * The server provides document range formatting.
950fd4e5da5Sopenharmony_ci	 */
951fd4e5da5Sopenharmony_ci	DocumentRangeFormattingProvider bool `json:"documentRangeFormattingProvider,omitempty"` // boolean | DocumentRangeFormattingOptions
952fd4e5da5Sopenharmony_ci
953fd4e5da5Sopenharmony_ci	/*DocumentOnTypeFormattingProvider defined:
954fd4e5da5Sopenharmony_ci	 * The server provides document formatting on typing.
955fd4e5da5Sopenharmony_ci	 */
956fd4e5da5Sopenharmony_ci	DocumentOnTypeFormattingProvider *DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"`
957fd4e5da5Sopenharmony_ci
958fd4e5da5Sopenharmony_ci	/*RenameProvider defined:
959fd4e5da5Sopenharmony_ci	 * The server provides rename support. RenameOptions may only be
960fd4e5da5Sopenharmony_ci	 * specified if the client states that it supports
961fd4e5da5Sopenharmony_ci	 * `prepareSupport` in its initial `initialize` request.
962fd4e5da5Sopenharmony_ci	 */
963fd4e5da5Sopenharmony_ci	RenameProvider interface{} `json:"renameProvider,omitempty"` // boolean | RenameOptions
964fd4e5da5Sopenharmony_ci
965fd4e5da5Sopenharmony_ci	/*FoldingRangeProvider defined:
966fd4e5da5Sopenharmony_ci	 * The server provides folding provider support.
967fd4e5da5Sopenharmony_ci	 */
968fd4e5da5Sopenharmony_ci	FoldingRangeProvider bool `json:"foldingRangeProvider,omitempty"` // boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions
969fd4e5da5Sopenharmony_ci
970fd4e5da5Sopenharmony_ci	/*SelectionRangeProvider defined:
971fd4e5da5Sopenharmony_ci	 * The server provides selection range support.
972fd4e5da5Sopenharmony_ci	 */
973fd4e5da5Sopenharmony_ci	SelectionRangeProvider bool `json:"selectionRangeProvider,omitempty"` // boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions
974fd4e5da5Sopenharmony_ci
975fd4e5da5Sopenharmony_ci	/*ExecuteCommandProvider defined:
976fd4e5da5Sopenharmony_ci	 * The server provides execute command support.
977fd4e5da5Sopenharmony_ci	 */
978fd4e5da5Sopenharmony_ci	ExecuteCommandProvider *ExecuteCommandOptions `json:"executeCommandProvider,omitempty"`
979fd4e5da5Sopenharmony_ci
980fd4e5da5Sopenharmony_ci	/*Experimental defined:
981fd4e5da5Sopenharmony_ci	 * Experimental server capabilities.
982fd4e5da5Sopenharmony_ci	 */
983fd4e5da5Sopenharmony_ci	Experimental interface{} `json:"experimental,omitempty"`
984fd4e5da5Sopenharmony_ci}
985fd4e5da5Sopenharmony_ci
986fd4e5da5Sopenharmony_ci// ServerCapabilities is
987fd4e5da5Sopenharmony_citype ServerCapabilities struct {
988fd4e5da5Sopenharmony_ci
989fd4e5da5Sopenharmony_ci	/*TextDocumentSync defined:
990fd4e5da5Sopenharmony_ci	 * Defines how text documents are synced. Is either a detailed structure defining each notification or
991fd4e5da5Sopenharmony_ci	 * for backwards compatibility the TextDocumentSyncKind number.
992fd4e5da5Sopenharmony_ci	 */
993fd4e5da5Sopenharmony_ci	TextDocumentSync interface{} `json:"textDocumentSync,omitempty"` // TextDocumentSyncOptions | TextDocumentSyncKind
994fd4e5da5Sopenharmony_ci
995fd4e5da5Sopenharmony_ci	/*CompletionProvider defined:
996fd4e5da5Sopenharmony_ci	 * The server provides completion support.
997fd4e5da5Sopenharmony_ci	 */
998fd4e5da5Sopenharmony_ci	CompletionProvider *CompletionOptions `json:"completionProvider,omitempty"`
999fd4e5da5Sopenharmony_ci
1000fd4e5da5Sopenharmony_ci	/*HoverProvider defined:
1001fd4e5da5Sopenharmony_ci	 * The server provides hover support.
1002fd4e5da5Sopenharmony_ci	 */
1003fd4e5da5Sopenharmony_ci	HoverProvider bool `json:"hoverProvider,omitempty"` // boolean | HoverOptions
1004fd4e5da5Sopenharmony_ci
1005fd4e5da5Sopenharmony_ci	/*SignatureHelpProvider defined:
1006fd4e5da5Sopenharmony_ci	 * The server provides signature help support.
1007fd4e5da5Sopenharmony_ci	 */
1008fd4e5da5Sopenharmony_ci	SignatureHelpProvider *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
1009fd4e5da5Sopenharmony_ci
1010fd4e5da5Sopenharmony_ci	/*DeclarationProvider defined:
1011fd4e5da5Sopenharmony_ci	 * The server provides Goto Declaration support.
1012fd4e5da5Sopenharmony_ci	 */
1013fd4e5da5Sopenharmony_ci	DeclarationProvider bool `json:"declarationProvider,omitempty"` // boolean | DeclarationOptions | DeclarationRegistrationOptions
1014fd4e5da5Sopenharmony_ci
1015fd4e5da5Sopenharmony_ci	/*DefinitionProvider defined:
1016fd4e5da5Sopenharmony_ci	 * The server provides goto definition support.
1017fd4e5da5Sopenharmony_ci	 */
1018fd4e5da5Sopenharmony_ci	DefinitionProvider bool `json:"definitionProvider,omitempty"` // boolean | DefinitionOptions
1019fd4e5da5Sopenharmony_ci
1020fd4e5da5Sopenharmony_ci	/*TypeDefinitionProvider defined:
1021fd4e5da5Sopenharmony_ci	 * The server provides Goto Type Definition support.
1022fd4e5da5Sopenharmony_ci	 */
1023fd4e5da5Sopenharmony_ci	TypeDefinitionProvider bool `json:"typeDefinitionProvider,omitempty"` // boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions
1024fd4e5da5Sopenharmony_ci
1025fd4e5da5Sopenharmony_ci	/*ImplementationProvider defined:
1026fd4e5da5Sopenharmony_ci	 * The server provides Goto Implementation support.
1027fd4e5da5Sopenharmony_ci	 */
1028fd4e5da5Sopenharmony_ci	ImplementationProvider bool `json:"implementationProvider,omitempty"` // boolean | ImplementationOptions | ImplementationRegistrationOptions
1029fd4e5da5Sopenharmony_ci
1030fd4e5da5Sopenharmony_ci	/*ReferencesProvider defined:
1031fd4e5da5Sopenharmony_ci	 * The server provides find references support.
1032fd4e5da5Sopenharmony_ci	 */
1033fd4e5da5Sopenharmony_ci	ReferencesProvider bool `json:"referencesProvider,omitempty"` // boolean | ReferenceOptions
1034fd4e5da5Sopenharmony_ci
1035fd4e5da5Sopenharmony_ci	/*DocumentHighlightProvider defined:
1036fd4e5da5Sopenharmony_ci	 * The server provides document highlight support.
1037fd4e5da5Sopenharmony_ci	 */
1038fd4e5da5Sopenharmony_ci	DocumentHighlightProvider bool `json:"documentHighlightProvider,omitempty"` // boolean | DocumentHighlightOptions
1039fd4e5da5Sopenharmony_ci
1040fd4e5da5Sopenharmony_ci	/*DocumentSymbolProvider defined:
1041fd4e5da5Sopenharmony_ci	 * The server provides document symbol support.
1042fd4e5da5Sopenharmony_ci	 */
1043fd4e5da5Sopenharmony_ci	DocumentSymbolProvider bool `json:"documentSymbolProvider,omitempty"` // boolean | DocumentSymbolOptions
1044fd4e5da5Sopenharmony_ci
1045fd4e5da5Sopenharmony_ci	/*CodeActionProvider defined:
1046fd4e5da5Sopenharmony_ci	 * The server provides code actions. CodeActionOptions may only be
1047fd4e5da5Sopenharmony_ci	 * specified if the client states that it supports
1048fd4e5da5Sopenharmony_ci	 * `codeActionLiteralSupport` in its initial `initialize` request.
1049fd4e5da5Sopenharmony_ci	 */
1050fd4e5da5Sopenharmony_ci	CodeActionProvider interface{} `json:"codeActionProvider,omitempty"` // boolean | CodeActionOptions
1051fd4e5da5Sopenharmony_ci
1052fd4e5da5Sopenharmony_ci	/*CodeLensProvider defined:
1053fd4e5da5Sopenharmony_ci	 * The server provides code lens.
1054fd4e5da5Sopenharmony_ci	 */
1055fd4e5da5Sopenharmony_ci	CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitempty"`
1056fd4e5da5Sopenharmony_ci
1057fd4e5da5Sopenharmony_ci	/*DocumentLinkProvider defined:
1058fd4e5da5Sopenharmony_ci	 * The server provides document link support.
1059fd4e5da5Sopenharmony_ci	 */
1060fd4e5da5Sopenharmony_ci	DocumentLinkProvider *DocumentLinkOptions `json:"documentLinkProvider,omitempty"`
1061fd4e5da5Sopenharmony_ci
1062fd4e5da5Sopenharmony_ci	/*ColorProvider defined:
1063fd4e5da5Sopenharmony_ci	 * The server provides color provider support.
1064fd4e5da5Sopenharmony_ci	 */
1065fd4e5da5Sopenharmony_ci	ColorProvider bool `json:"colorProvider,omitempty"` // boolean | DocumentColorOptions | DocumentColorRegistrationOptions
1066fd4e5da5Sopenharmony_ci
1067fd4e5da5Sopenharmony_ci	/*WorkspaceSymbolProvider defined:
1068fd4e5da5Sopenharmony_ci	 * The server provides workspace symbol support.
1069fd4e5da5Sopenharmony_ci	 */
1070fd4e5da5Sopenharmony_ci	WorkspaceSymbolProvider bool `json:"workspaceSymbolProvider,omitempty"` // boolean | WorkspaceSymbolOptions
1071fd4e5da5Sopenharmony_ci
1072fd4e5da5Sopenharmony_ci	/*DocumentFormattingProvider defined:
1073fd4e5da5Sopenharmony_ci	 * The server provides document formatting.
1074fd4e5da5Sopenharmony_ci	 */
1075fd4e5da5Sopenharmony_ci	DocumentFormattingProvider bool `json:"documentFormattingProvider,omitempty"` // boolean | DocumentFormattingOptions
1076fd4e5da5Sopenharmony_ci
1077fd4e5da5Sopenharmony_ci	/*DocumentRangeFormattingProvider defined:
1078fd4e5da5Sopenharmony_ci	 * The server provides document range formatting.
1079fd4e5da5Sopenharmony_ci	 */
1080fd4e5da5Sopenharmony_ci	DocumentRangeFormattingProvider bool `json:"documentRangeFormattingProvider,omitempty"` // boolean | DocumentRangeFormattingOptions
1081fd4e5da5Sopenharmony_ci
1082fd4e5da5Sopenharmony_ci	/*DocumentOnTypeFormattingProvider defined:
1083fd4e5da5Sopenharmony_ci	 * The server provides document formatting on typing.
1084fd4e5da5Sopenharmony_ci	 */
1085fd4e5da5Sopenharmony_ci	DocumentOnTypeFormattingProvider *DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"`
1086fd4e5da5Sopenharmony_ci
1087fd4e5da5Sopenharmony_ci	/*RenameProvider defined:
1088fd4e5da5Sopenharmony_ci	 * The server provides rename support. RenameOptions may only be
1089fd4e5da5Sopenharmony_ci	 * specified if the client states that it supports
1090fd4e5da5Sopenharmony_ci	 * `prepareSupport` in its initial `initialize` request.
1091fd4e5da5Sopenharmony_ci	 */
1092fd4e5da5Sopenharmony_ci	RenameProvider interface{} `json:"renameProvider,omitempty"` // boolean | RenameOptions
1093fd4e5da5Sopenharmony_ci
1094fd4e5da5Sopenharmony_ci	/*FoldingRangeProvider defined:
1095fd4e5da5Sopenharmony_ci	 * The server provides folding provider support.
1096fd4e5da5Sopenharmony_ci	 */
1097fd4e5da5Sopenharmony_ci	FoldingRangeProvider bool `json:"foldingRangeProvider,omitempty"` // boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions
1098fd4e5da5Sopenharmony_ci
1099fd4e5da5Sopenharmony_ci	/*SelectionRangeProvider defined:
1100fd4e5da5Sopenharmony_ci	 * The server provides selection range support.
1101fd4e5da5Sopenharmony_ci	 */
1102fd4e5da5Sopenharmony_ci	SelectionRangeProvider bool `json:"selectionRangeProvider,omitempty"` // boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions
1103fd4e5da5Sopenharmony_ci
1104fd4e5da5Sopenharmony_ci	/*ExecuteCommandProvider defined:
1105fd4e5da5Sopenharmony_ci	 * The server provides execute command support.
1106fd4e5da5Sopenharmony_ci	 */
1107fd4e5da5Sopenharmony_ci	ExecuteCommandProvider *ExecuteCommandOptions `json:"executeCommandProvider,omitempty"`
1108fd4e5da5Sopenharmony_ci
1109fd4e5da5Sopenharmony_ci	/*Experimental defined:
1110fd4e5da5Sopenharmony_ci	 * Experimental server capabilities.
1111fd4e5da5Sopenharmony_ci	 */
1112fd4e5da5Sopenharmony_ci	Experimental interface{} `json:"experimental,omitempty"`
1113fd4e5da5Sopenharmony_ci
1114fd4e5da5Sopenharmony_ci	/*Workspace defined:
1115fd4e5da5Sopenharmony_ci	 * The workspace server capabilities
1116fd4e5da5Sopenharmony_ci	 */
1117fd4e5da5Sopenharmony_ci	Workspace *struct {
1118fd4e5da5Sopenharmony_ci
1119fd4e5da5Sopenharmony_ci		// WorkspaceFolders is
1120fd4e5da5Sopenharmony_ci		WorkspaceFolders *struct {
1121fd4e5da5Sopenharmony_ci
1122fd4e5da5Sopenharmony_ci			/*Supported defined:
1123fd4e5da5Sopenharmony_ci			 * The Server has support for workspace folders
1124fd4e5da5Sopenharmony_ci			 */
1125fd4e5da5Sopenharmony_ci			Supported bool `json:"supported,omitempty"`
1126fd4e5da5Sopenharmony_ci
1127fd4e5da5Sopenharmony_ci			/*ChangeNotifications defined:
1128fd4e5da5Sopenharmony_ci			 * Whether the server wants to receive workspace folder
1129fd4e5da5Sopenharmony_ci			 * change notifications.
1130fd4e5da5Sopenharmony_ci			 *
1131fd4e5da5Sopenharmony_ci			 * If a strings is provided the string is treated as a ID
1132fd4e5da5Sopenharmony_ci			 * under which the notification is registered on the client
1133fd4e5da5Sopenharmony_ci			 * side. The ID can be used to unregister for these events
1134fd4e5da5Sopenharmony_ci			 * using the `client/unregisterCapability` request.
1135fd4e5da5Sopenharmony_ci			 */
1136fd4e5da5Sopenharmony_ci			ChangeNotifications string `json:"changeNotifications,omitempty"` // string | boolean
1137fd4e5da5Sopenharmony_ci		} `json:"workspaceFolders,omitempty"`
1138fd4e5da5Sopenharmony_ci	} `json:"workspace,omitempty"`
1139fd4e5da5Sopenharmony_ci}
1140fd4e5da5Sopenharmony_ci
1141fd4e5da5Sopenharmony_ci/*InnerInitializeParams defined:
1142fd4e5da5Sopenharmony_ci * The initialize parameters
1143fd4e5da5Sopenharmony_ci */
1144fd4e5da5Sopenharmony_citype InnerInitializeParams struct {
1145fd4e5da5Sopenharmony_ci
1146fd4e5da5Sopenharmony_ci	/*ProcessID defined:
1147fd4e5da5Sopenharmony_ci	 * The process Id of the parent process that started
1148fd4e5da5Sopenharmony_ci	 * the server.
1149fd4e5da5Sopenharmony_ci	 */
1150fd4e5da5Sopenharmony_ci	ProcessID float64 `json:"processId"`
1151fd4e5da5Sopenharmony_ci
1152fd4e5da5Sopenharmony_ci	/*ClientInfo defined:
1153fd4e5da5Sopenharmony_ci	 * Information about the client
1154fd4e5da5Sopenharmony_ci	 *
1155fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1156fd4e5da5Sopenharmony_ci	 */
1157fd4e5da5Sopenharmony_ci	ClientInfo *struct {
1158fd4e5da5Sopenharmony_ci
1159fd4e5da5Sopenharmony_ci		/*Name defined:
1160fd4e5da5Sopenharmony_ci		 * The name of the client as defined by the client.
1161fd4e5da5Sopenharmony_ci		 */
1162fd4e5da5Sopenharmony_ci		Name string `json:"name"`
1163fd4e5da5Sopenharmony_ci
1164fd4e5da5Sopenharmony_ci		/*Version defined:
1165fd4e5da5Sopenharmony_ci		 * The client's version as defined by the client.
1166fd4e5da5Sopenharmony_ci		 */
1167fd4e5da5Sopenharmony_ci		Version string `json:"version,omitempty"`
1168fd4e5da5Sopenharmony_ci	} `json:"clientInfo,omitempty"`
1169fd4e5da5Sopenharmony_ci
1170fd4e5da5Sopenharmony_ci	/*RootPath defined:
1171fd4e5da5Sopenharmony_ci	 * The rootPath of the workspace. Is null
1172fd4e5da5Sopenharmony_ci	 * if no folder is open.
1173fd4e5da5Sopenharmony_ci	 *
1174fd4e5da5Sopenharmony_ci	 * @deprecated in favour of rootUri.
1175fd4e5da5Sopenharmony_ci	 */
1176fd4e5da5Sopenharmony_ci	RootPath string `json:"rootPath,omitempty"`
1177fd4e5da5Sopenharmony_ci
1178fd4e5da5Sopenharmony_ci	/*RootURI defined:
1179fd4e5da5Sopenharmony_ci	 * The rootUri of the workspace. Is null if no
1180fd4e5da5Sopenharmony_ci	 * folder is open. If both `rootPath` and `rootUri` are set
1181fd4e5da5Sopenharmony_ci	 * `rootUri` wins.
1182fd4e5da5Sopenharmony_ci	 *
1183fd4e5da5Sopenharmony_ci	 * @deprecated in favour of workspaceFolders.
1184fd4e5da5Sopenharmony_ci	 */
1185fd4e5da5Sopenharmony_ci	RootURI DocumentURI `json:"rootUri"`
1186fd4e5da5Sopenharmony_ci
1187fd4e5da5Sopenharmony_ci	/*Capabilities defined:
1188fd4e5da5Sopenharmony_ci	 * The capabilities provided by the client (editor or tool)
1189fd4e5da5Sopenharmony_ci	 */
1190fd4e5da5Sopenharmony_ci	Capabilities ClientCapabilities `json:"capabilities"`
1191fd4e5da5Sopenharmony_ci
1192fd4e5da5Sopenharmony_ci	/*InitializationOptions defined:
1193fd4e5da5Sopenharmony_ci	 * User provided initialization options.
1194fd4e5da5Sopenharmony_ci	 */
1195fd4e5da5Sopenharmony_ci	InitializationOptions interface{} `json:"initializationOptions,omitempty"`
1196fd4e5da5Sopenharmony_ci
1197fd4e5da5Sopenharmony_ci	/*Trace defined:
1198fd4e5da5Sopenharmony_ci	 * The initial trace setting. If omitted trace is disabled ('off').
1199fd4e5da5Sopenharmony_ci	 */
1200fd4e5da5Sopenharmony_ci	Trace string `json:"trace,omitempty"` // 'off' | 'messages' | 'verbose'
1201fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
1202fd4e5da5Sopenharmony_ci}
1203fd4e5da5Sopenharmony_ci
1204fd4e5da5Sopenharmony_ci// InitializeParams is
1205fd4e5da5Sopenharmony_citype InitializeParams struct {
1206fd4e5da5Sopenharmony_ci
1207fd4e5da5Sopenharmony_ci	/*ProcessID defined:
1208fd4e5da5Sopenharmony_ci	 * The process Id of the parent process that started
1209fd4e5da5Sopenharmony_ci	 * the server.
1210fd4e5da5Sopenharmony_ci	 */
1211fd4e5da5Sopenharmony_ci	ProcessID float64 `json:"processId"`
1212fd4e5da5Sopenharmony_ci
1213fd4e5da5Sopenharmony_ci	/*ClientInfo defined:
1214fd4e5da5Sopenharmony_ci	 * Information about the client
1215fd4e5da5Sopenharmony_ci	 *
1216fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1217fd4e5da5Sopenharmony_ci	 */
1218fd4e5da5Sopenharmony_ci	ClientInfo *struct {
1219fd4e5da5Sopenharmony_ci
1220fd4e5da5Sopenharmony_ci		/*Name defined:
1221fd4e5da5Sopenharmony_ci		 * The name of the client as defined by the client.
1222fd4e5da5Sopenharmony_ci		 */
1223fd4e5da5Sopenharmony_ci		Name string `json:"name"`
1224fd4e5da5Sopenharmony_ci
1225fd4e5da5Sopenharmony_ci		/*Version defined:
1226fd4e5da5Sopenharmony_ci		 * The client's version as defined by the client.
1227fd4e5da5Sopenharmony_ci		 */
1228fd4e5da5Sopenharmony_ci		Version string `json:"version,omitempty"`
1229fd4e5da5Sopenharmony_ci	} `json:"clientInfo,omitempty"`
1230fd4e5da5Sopenharmony_ci
1231fd4e5da5Sopenharmony_ci	/*RootPath defined:
1232fd4e5da5Sopenharmony_ci	 * The rootPath of the workspace. Is null
1233fd4e5da5Sopenharmony_ci	 * if no folder is open.
1234fd4e5da5Sopenharmony_ci	 *
1235fd4e5da5Sopenharmony_ci	 * @deprecated in favour of rootUri.
1236fd4e5da5Sopenharmony_ci	 */
1237fd4e5da5Sopenharmony_ci	RootPath string `json:"rootPath,omitempty"`
1238fd4e5da5Sopenharmony_ci
1239fd4e5da5Sopenharmony_ci	/*RootURI defined:
1240fd4e5da5Sopenharmony_ci	 * The rootUri of the workspace. Is null if no
1241fd4e5da5Sopenharmony_ci	 * folder is open. If both `rootPath` and `rootUri` are set
1242fd4e5da5Sopenharmony_ci	 * `rootUri` wins.
1243fd4e5da5Sopenharmony_ci	 *
1244fd4e5da5Sopenharmony_ci	 * @deprecated in favour of workspaceFolders.
1245fd4e5da5Sopenharmony_ci	 */
1246fd4e5da5Sopenharmony_ci	RootURI DocumentURI `json:"rootUri"`
1247fd4e5da5Sopenharmony_ci
1248fd4e5da5Sopenharmony_ci	/*Capabilities defined:
1249fd4e5da5Sopenharmony_ci	 * The capabilities provided by the client (editor or tool)
1250fd4e5da5Sopenharmony_ci	 */
1251fd4e5da5Sopenharmony_ci	Capabilities ClientCapabilities `json:"capabilities"`
1252fd4e5da5Sopenharmony_ci
1253fd4e5da5Sopenharmony_ci	/*InitializationOptions defined:
1254fd4e5da5Sopenharmony_ci	 * User provided initialization options.
1255fd4e5da5Sopenharmony_ci	 */
1256fd4e5da5Sopenharmony_ci	InitializationOptions interface{} `json:"initializationOptions,omitempty"`
1257fd4e5da5Sopenharmony_ci
1258fd4e5da5Sopenharmony_ci	/*Trace defined:
1259fd4e5da5Sopenharmony_ci	 * The initial trace setting. If omitted trace is disabled ('off').
1260fd4e5da5Sopenharmony_ci	 */
1261fd4e5da5Sopenharmony_ci	Trace string `json:"trace,omitempty"` // 'off' | 'messages' | 'verbose'
1262fd4e5da5Sopenharmony_ci
1263fd4e5da5Sopenharmony_ci	/*WorkspaceFolders defined:
1264fd4e5da5Sopenharmony_ci	 * The actual configured workspace folders.
1265fd4e5da5Sopenharmony_ci	 */
1266fd4e5da5Sopenharmony_ci	WorkspaceFolders []WorkspaceFolder `json:"workspaceFolders"`
1267fd4e5da5Sopenharmony_ci}
1268fd4e5da5Sopenharmony_ci
1269fd4e5da5Sopenharmony_ci/*InitializeResult defined:
1270fd4e5da5Sopenharmony_ci * The result returned from an initialize request.
1271fd4e5da5Sopenharmony_ci */
1272fd4e5da5Sopenharmony_citype InitializeResult struct {
1273fd4e5da5Sopenharmony_ci
1274fd4e5da5Sopenharmony_ci	/*Capabilities defined:
1275fd4e5da5Sopenharmony_ci	 * The capabilities the language server provides.
1276fd4e5da5Sopenharmony_ci	 */
1277fd4e5da5Sopenharmony_ci	Capabilities ServerCapabilities `json:"capabilities"`
1278fd4e5da5Sopenharmony_ci
1279fd4e5da5Sopenharmony_ci	/*ServerInfo defined:
1280fd4e5da5Sopenharmony_ci	 * Information about the server.
1281fd4e5da5Sopenharmony_ci	 *
1282fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1283fd4e5da5Sopenharmony_ci	 */
1284fd4e5da5Sopenharmony_ci	ServerInfo *struct {
1285fd4e5da5Sopenharmony_ci
1286fd4e5da5Sopenharmony_ci		/*Name defined:
1287fd4e5da5Sopenharmony_ci		 * The name of the server as defined by the server.
1288fd4e5da5Sopenharmony_ci		 */
1289fd4e5da5Sopenharmony_ci		Name string `json:"name"`
1290fd4e5da5Sopenharmony_ci
1291fd4e5da5Sopenharmony_ci		/*Version defined:
1292fd4e5da5Sopenharmony_ci		 * The servers's version as defined by the server.
1293fd4e5da5Sopenharmony_ci		 */
1294fd4e5da5Sopenharmony_ci		Version string `json:"version,omitempty"`
1295fd4e5da5Sopenharmony_ci	} `json:"serverInfo,omitempty"`
1296fd4e5da5Sopenharmony_ci
1297fd4e5da5Sopenharmony_ci	/*Custom defined:
1298fd4e5da5Sopenharmony_ci	 * Custom initialization results.
1299fd4e5da5Sopenharmony_ci	 */
1300fd4e5da5Sopenharmony_ci	Custom map[string]interface{} `json:"custom"` // [custom: string]: any;
1301fd4e5da5Sopenharmony_ci}
1302fd4e5da5Sopenharmony_ci
1303fd4e5da5Sopenharmony_ci// InitializedParams is
1304fd4e5da5Sopenharmony_citype InitializedParams struct {
1305fd4e5da5Sopenharmony_ci}
1306fd4e5da5Sopenharmony_ci
1307fd4e5da5Sopenharmony_ci// DidChangeConfigurationClientCapabilities is
1308fd4e5da5Sopenharmony_citype DidChangeConfigurationClientCapabilities struct {
1309fd4e5da5Sopenharmony_ci
1310fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
1311fd4e5da5Sopenharmony_ci	 * Did change configuration notification supports dynamic registration.
1312fd4e5da5Sopenharmony_ci	 */
1313fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1314fd4e5da5Sopenharmony_ci}
1315fd4e5da5Sopenharmony_ci
1316fd4e5da5Sopenharmony_ci// DidChangeConfigurationRegistrationOptions is
1317fd4e5da5Sopenharmony_citype DidChangeConfigurationRegistrationOptions struct {
1318fd4e5da5Sopenharmony_ci
1319fd4e5da5Sopenharmony_ci	// Section is
1320fd4e5da5Sopenharmony_ci	Section string `json:"section,omitempty"` // string | string[]
1321fd4e5da5Sopenharmony_ci}
1322fd4e5da5Sopenharmony_ci
1323fd4e5da5Sopenharmony_ci/*DidChangeConfigurationParams defined:
1324fd4e5da5Sopenharmony_ci * The parameters of a change configuration notification.
1325fd4e5da5Sopenharmony_ci */
1326fd4e5da5Sopenharmony_citype DidChangeConfigurationParams struct {
1327fd4e5da5Sopenharmony_ci
1328fd4e5da5Sopenharmony_ci	/*Settings defined:
1329fd4e5da5Sopenharmony_ci	 * The actual changed settings
1330fd4e5da5Sopenharmony_ci	 */
1331fd4e5da5Sopenharmony_ci	Settings interface{} `json:"settings"`
1332fd4e5da5Sopenharmony_ci}
1333fd4e5da5Sopenharmony_ci
1334fd4e5da5Sopenharmony_ci/*ShowMessageParams defined:
1335fd4e5da5Sopenharmony_ci * The parameters of a notification message.
1336fd4e5da5Sopenharmony_ci */
1337fd4e5da5Sopenharmony_citype ShowMessageParams struct {
1338fd4e5da5Sopenharmony_ci
1339fd4e5da5Sopenharmony_ci	/*Type defined:
1340fd4e5da5Sopenharmony_ci	 * The message type. See {@link MessageType}
1341fd4e5da5Sopenharmony_ci	 */
1342fd4e5da5Sopenharmony_ci	Type MessageType `json:"type"`
1343fd4e5da5Sopenharmony_ci
1344fd4e5da5Sopenharmony_ci	/*Message defined:
1345fd4e5da5Sopenharmony_ci	 * The actual message
1346fd4e5da5Sopenharmony_ci	 */
1347fd4e5da5Sopenharmony_ci	Message string `json:"message"`
1348fd4e5da5Sopenharmony_ci}
1349fd4e5da5Sopenharmony_ci
1350fd4e5da5Sopenharmony_ci// MessageActionItem is
1351fd4e5da5Sopenharmony_citype MessageActionItem struct {
1352fd4e5da5Sopenharmony_ci
1353fd4e5da5Sopenharmony_ci	/*Title defined:
1354fd4e5da5Sopenharmony_ci	 * A short title like 'Retry', 'Open Log' etc.
1355fd4e5da5Sopenharmony_ci	 */
1356fd4e5da5Sopenharmony_ci	Title string `json:"title"`
1357fd4e5da5Sopenharmony_ci}
1358fd4e5da5Sopenharmony_ci
1359fd4e5da5Sopenharmony_ci// ShowMessageRequestParams is
1360fd4e5da5Sopenharmony_citype ShowMessageRequestParams struct {
1361fd4e5da5Sopenharmony_ci
1362fd4e5da5Sopenharmony_ci	/*Type defined:
1363fd4e5da5Sopenharmony_ci	 * The message type. See {@link MessageType}
1364fd4e5da5Sopenharmony_ci	 */
1365fd4e5da5Sopenharmony_ci	Type MessageType `json:"type"`
1366fd4e5da5Sopenharmony_ci
1367fd4e5da5Sopenharmony_ci	/*Message defined:
1368fd4e5da5Sopenharmony_ci	 * The actual message
1369fd4e5da5Sopenharmony_ci	 */
1370fd4e5da5Sopenharmony_ci	Message string `json:"message"`
1371fd4e5da5Sopenharmony_ci
1372fd4e5da5Sopenharmony_ci	/*Actions defined:
1373fd4e5da5Sopenharmony_ci	 * The message action items to present.
1374fd4e5da5Sopenharmony_ci	 */
1375fd4e5da5Sopenharmony_ci	Actions []MessageActionItem `json:"actions,omitempty"`
1376fd4e5da5Sopenharmony_ci}
1377fd4e5da5Sopenharmony_ci
1378fd4e5da5Sopenharmony_ci/*LogMessageParams defined:
1379fd4e5da5Sopenharmony_ci * The log message parameters.
1380fd4e5da5Sopenharmony_ci */
1381fd4e5da5Sopenharmony_citype LogMessageParams struct {
1382fd4e5da5Sopenharmony_ci
1383fd4e5da5Sopenharmony_ci	/*Type defined:
1384fd4e5da5Sopenharmony_ci	 * The message type. See {@link MessageType}
1385fd4e5da5Sopenharmony_ci	 */
1386fd4e5da5Sopenharmony_ci	Type MessageType `json:"type"`
1387fd4e5da5Sopenharmony_ci
1388fd4e5da5Sopenharmony_ci	/*Message defined:
1389fd4e5da5Sopenharmony_ci	 * The actual message
1390fd4e5da5Sopenharmony_ci	 */
1391fd4e5da5Sopenharmony_ci	Message string `json:"message"`
1392fd4e5da5Sopenharmony_ci}
1393fd4e5da5Sopenharmony_ci
1394fd4e5da5Sopenharmony_ci// TextDocumentSyncClientCapabilities is
1395fd4e5da5Sopenharmony_citype TextDocumentSyncClientCapabilities struct {
1396fd4e5da5Sopenharmony_ci
1397fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
1398fd4e5da5Sopenharmony_ci	 * Whether text document synchronization supports dynamic registration.
1399fd4e5da5Sopenharmony_ci	 */
1400fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1401fd4e5da5Sopenharmony_ci
1402fd4e5da5Sopenharmony_ci	/*WillSave defined:
1403fd4e5da5Sopenharmony_ci	 * The client supports sending will save notifications.
1404fd4e5da5Sopenharmony_ci	 */
1405fd4e5da5Sopenharmony_ci	WillSave bool `json:"willSave,omitempty"`
1406fd4e5da5Sopenharmony_ci
1407fd4e5da5Sopenharmony_ci	/*WillSaveWaitUntil defined:
1408fd4e5da5Sopenharmony_ci	 * The client supports sending a will save request and
1409fd4e5da5Sopenharmony_ci	 * waits for a response providing text edits which will
1410fd4e5da5Sopenharmony_ci	 * be applied to the document before it is saved.
1411fd4e5da5Sopenharmony_ci	 */
1412fd4e5da5Sopenharmony_ci	WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
1413fd4e5da5Sopenharmony_ci
1414fd4e5da5Sopenharmony_ci	/*DidSave defined:
1415fd4e5da5Sopenharmony_ci	 * The client supports did save notifications.
1416fd4e5da5Sopenharmony_ci	 */
1417fd4e5da5Sopenharmony_ci	DidSave bool `json:"didSave,omitempty"`
1418fd4e5da5Sopenharmony_ci}
1419fd4e5da5Sopenharmony_ci
1420fd4e5da5Sopenharmony_ci// TextDocumentSyncOptions is
1421fd4e5da5Sopenharmony_citype TextDocumentSyncOptions struct {
1422fd4e5da5Sopenharmony_ci
1423fd4e5da5Sopenharmony_ci	/*OpenClose defined:
1424fd4e5da5Sopenharmony_ci	 * Open and close notifications are sent to the server. If omitted open close notification should not
1425fd4e5da5Sopenharmony_ci	 * be sent.
1426fd4e5da5Sopenharmony_ci	 */
1427fd4e5da5Sopenharmony_ci	OpenClose bool `json:"openClose,omitempty"`
1428fd4e5da5Sopenharmony_ci
1429fd4e5da5Sopenharmony_ci	/*Change defined:
1430fd4e5da5Sopenharmony_ci	 * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
1431fd4e5da5Sopenharmony_ci	 * and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
1432fd4e5da5Sopenharmony_ci	 */
1433fd4e5da5Sopenharmony_ci	Change TextDocumentSyncKind `json:"change,omitempty"`
1434fd4e5da5Sopenharmony_ci
1435fd4e5da5Sopenharmony_ci	/*WillSave defined:
1436fd4e5da5Sopenharmony_ci	 * If present will save notifications are sent to the server. If omitted the notification should not be
1437fd4e5da5Sopenharmony_ci	 * sent.
1438fd4e5da5Sopenharmony_ci	 */
1439fd4e5da5Sopenharmony_ci	WillSave bool `json:"willSave,omitempty"`
1440fd4e5da5Sopenharmony_ci
1441fd4e5da5Sopenharmony_ci	/*WillSaveWaitUntil defined:
1442fd4e5da5Sopenharmony_ci	 * If present will save wait until requests are sent to the server. If omitted the request should not be
1443fd4e5da5Sopenharmony_ci	 * sent.
1444fd4e5da5Sopenharmony_ci	 */
1445fd4e5da5Sopenharmony_ci	WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
1446fd4e5da5Sopenharmony_ci
1447fd4e5da5Sopenharmony_ci	/*Save defined:
1448fd4e5da5Sopenharmony_ci	 * If present save notifications are sent to the server. If omitted the notification should not be
1449fd4e5da5Sopenharmony_ci	 * sent.
1450fd4e5da5Sopenharmony_ci	 */
1451fd4e5da5Sopenharmony_ci	Save *SaveOptions `json:"save,omitempty"`
1452fd4e5da5Sopenharmony_ci}
1453fd4e5da5Sopenharmony_ci
1454fd4e5da5Sopenharmony_ci/*DidOpenTextDocumentParams defined:
1455fd4e5da5Sopenharmony_ci * The parameters send in a open text document notification
1456fd4e5da5Sopenharmony_ci */
1457fd4e5da5Sopenharmony_citype DidOpenTextDocumentParams struct {
1458fd4e5da5Sopenharmony_ci
1459fd4e5da5Sopenharmony_ci	/*TextDocument defined:
1460fd4e5da5Sopenharmony_ci	 * The document that was opened.
1461fd4e5da5Sopenharmony_ci	 */
1462fd4e5da5Sopenharmony_ci	TextDocument TextDocumentItem `json:"textDocument"`
1463fd4e5da5Sopenharmony_ci}
1464fd4e5da5Sopenharmony_ci
1465fd4e5da5Sopenharmony_ci/*DidChangeTextDocumentParams defined:
1466fd4e5da5Sopenharmony_ci * The change text document notification's parameters.
1467fd4e5da5Sopenharmony_ci */
1468fd4e5da5Sopenharmony_citype DidChangeTextDocumentParams struct {
1469fd4e5da5Sopenharmony_ci
1470fd4e5da5Sopenharmony_ci	/*TextDocument defined:
1471fd4e5da5Sopenharmony_ci	 * The document that did change. The version number points
1472fd4e5da5Sopenharmony_ci	 * to the version after all provided content changes have
1473fd4e5da5Sopenharmony_ci	 * been applied.
1474fd4e5da5Sopenharmony_ci	 */
1475fd4e5da5Sopenharmony_ci	TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
1476fd4e5da5Sopenharmony_ci
1477fd4e5da5Sopenharmony_ci	/*ContentChanges defined:
1478fd4e5da5Sopenharmony_ci	 * The actual content changes. The content changes describe single state changes
1479fd4e5da5Sopenharmony_ci	 * to the document. So if there are two content changes c1 and c2 for a document
1480fd4e5da5Sopenharmony_ci	 * in state S then c1 move the document to S' and c2 to S''.
1481fd4e5da5Sopenharmony_ci	 */
1482fd4e5da5Sopenharmony_ci	ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"`
1483fd4e5da5Sopenharmony_ci}
1484fd4e5da5Sopenharmony_ci
1485fd4e5da5Sopenharmony_ci/*TextDocumentChangeRegistrationOptions defined:
1486fd4e5da5Sopenharmony_ci * Describe options to be used when registered for text document change events.
1487fd4e5da5Sopenharmony_ci */
1488fd4e5da5Sopenharmony_citype TextDocumentChangeRegistrationOptions struct {
1489fd4e5da5Sopenharmony_ci
1490fd4e5da5Sopenharmony_ci	/*SyncKind defined:
1491fd4e5da5Sopenharmony_ci	 * How documents are synced to the server.
1492fd4e5da5Sopenharmony_ci	 */
1493fd4e5da5Sopenharmony_ci	SyncKind TextDocumentSyncKind `json:"syncKind"`
1494fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
1495fd4e5da5Sopenharmony_ci}
1496fd4e5da5Sopenharmony_ci
1497fd4e5da5Sopenharmony_ci/*DidCloseTextDocumentParams defined:
1498fd4e5da5Sopenharmony_ci * The parameters send in a close text document notification
1499fd4e5da5Sopenharmony_ci */
1500fd4e5da5Sopenharmony_citype DidCloseTextDocumentParams struct {
1501fd4e5da5Sopenharmony_ci
1502fd4e5da5Sopenharmony_ci	/*TextDocument defined:
1503fd4e5da5Sopenharmony_ci	 * The document that was closed.
1504fd4e5da5Sopenharmony_ci	 */
1505fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
1506fd4e5da5Sopenharmony_ci}
1507fd4e5da5Sopenharmony_ci
1508fd4e5da5Sopenharmony_ci/*DidSaveTextDocumentParams defined:
1509fd4e5da5Sopenharmony_ci * The parameters send in a save text document notification
1510fd4e5da5Sopenharmony_ci */
1511fd4e5da5Sopenharmony_citype DidSaveTextDocumentParams struct {
1512fd4e5da5Sopenharmony_ci
1513fd4e5da5Sopenharmony_ci	/*TextDocument defined:
1514fd4e5da5Sopenharmony_ci	 * The document that was closed.
1515fd4e5da5Sopenharmony_ci	 */
1516fd4e5da5Sopenharmony_ci	TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
1517fd4e5da5Sopenharmony_ci
1518fd4e5da5Sopenharmony_ci	/*Text defined:
1519fd4e5da5Sopenharmony_ci	 * Optional the content when saved. Depends on the includeText value
1520fd4e5da5Sopenharmony_ci	 * when the save notification was requested.
1521fd4e5da5Sopenharmony_ci	 */
1522fd4e5da5Sopenharmony_ci	Text string `json:"text,omitempty"`
1523fd4e5da5Sopenharmony_ci}
1524fd4e5da5Sopenharmony_ci
1525fd4e5da5Sopenharmony_ci/*TextDocumentSaveRegistrationOptions defined:
1526fd4e5da5Sopenharmony_ci * Save registration options.
1527fd4e5da5Sopenharmony_ci */
1528fd4e5da5Sopenharmony_citype TextDocumentSaveRegistrationOptions struct {
1529fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
1530fd4e5da5Sopenharmony_ci	SaveOptions
1531fd4e5da5Sopenharmony_ci}
1532fd4e5da5Sopenharmony_ci
1533fd4e5da5Sopenharmony_ci/*WillSaveTextDocumentParams defined:
1534fd4e5da5Sopenharmony_ci * The parameters send in a will save text document notification.
1535fd4e5da5Sopenharmony_ci */
1536fd4e5da5Sopenharmony_citype WillSaveTextDocumentParams struct {
1537fd4e5da5Sopenharmony_ci
1538fd4e5da5Sopenharmony_ci	/*TextDocument defined:
1539fd4e5da5Sopenharmony_ci	 * The document that will be saved.
1540fd4e5da5Sopenharmony_ci	 */
1541fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
1542fd4e5da5Sopenharmony_ci
1543fd4e5da5Sopenharmony_ci	/*Reason defined:
1544fd4e5da5Sopenharmony_ci	 * The 'TextDocumentSaveReason'.
1545fd4e5da5Sopenharmony_ci	 */
1546fd4e5da5Sopenharmony_ci	Reason TextDocumentSaveReason `json:"reason"`
1547fd4e5da5Sopenharmony_ci}
1548fd4e5da5Sopenharmony_ci
1549fd4e5da5Sopenharmony_ci// DidChangeWatchedFilesClientCapabilities is
1550fd4e5da5Sopenharmony_citype DidChangeWatchedFilesClientCapabilities struct {
1551fd4e5da5Sopenharmony_ci
1552fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
1553fd4e5da5Sopenharmony_ci	 * Did change watched files notification supports dynamic registration. Please note
1554fd4e5da5Sopenharmony_ci	 * that the current protocol doesn't support static configuration for file changes
1555fd4e5da5Sopenharmony_ci	 * from the server side.
1556fd4e5da5Sopenharmony_ci	 */
1557fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1558fd4e5da5Sopenharmony_ci}
1559fd4e5da5Sopenharmony_ci
1560fd4e5da5Sopenharmony_ci/*DidChangeWatchedFilesParams defined:
1561fd4e5da5Sopenharmony_ci * The watched files change notification's parameters.
1562fd4e5da5Sopenharmony_ci */
1563fd4e5da5Sopenharmony_citype DidChangeWatchedFilesParams struct {
1564fd4e5da5Sopenharmony_ci
1565fd4e5da5Sopenharmony_ci	/*Changes defined:
1566fd4e5da5Sopenharmony_ci	 * The actual file events.
1567fd4e5da5Sopenharmony_ci	 */
1568fd4e5da5Sopenharmony_ci	Changes []FileEvent `json:"changes"`
1569fd4e5da5Sopenharmony_ci}
1570fd4e5da5Sopenharmony_ci
1571fd4e5da5Sopenharmony_ci/*FileEvent defined:
1572fd4e5da5Sopenharmony_ci * An event describing a file change.
1573fd4e5da5Sopenharmony_ci */
1574fd4e5da5Sopenharmony_citype FileEvent struct {
1575fd4e5da5Sopenharmony_ci
1576fd4e5da5Sopenharmony_ci	/*URI defined:
1577fd4e5da5Sopenharmony_ci	 * The file's uri.
1578fd4e5da5Sopenharmony_ci	 */
1579fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
1580fd4e5da5Sopenharmony_ci
1581fd4e5da5Sopenharmony_ci	/*Type defined:
1582fd4e5da5Sopenharmony_ci	 * The change type.
1583fd4e5da5Sopenharmony_ci	 */
1584fd4e5da5Sopenharmony_ci	Type FileChangeType `json:"type"`
1585fd4e5da5Sopenharmony_ci}
1586fd4e5da5Sopenharmony_ci
1587fd4e5da5Sopenharmony_ci/*DidChangeWatchedFilesRegistrationOptions defined:
1588fd4e5da5Sopenharmony_ci * Describe options to be used when registered for text document change events.
1589fd4e5da5Sopenharmony_ci */
1590fd4e5da5Sopenharmony_citype DidChangeWatchedFilesRegistrationOptions struct {
1591fd4e5da5Sopenharmony_ci
1592fd4e5da5Sopenharmony_ci	/*Watchers defined:
1593fd4e5da5Sopenharmony_ci	 * The watchers to register.
1594fd4e5da5Sopenharmony_ci	 */
1595fd4e5da5Sopenharmony_ci	Watchers []FileSystemWatcher `json:"watchers"`
1596fd4e5da5Sopenharmony_ci}
1597fd4e5da5Sopenharmony_ci
1598fd4e5da5Sopenharmony_ci// FileSystemWatcher is
1599fd4e5da5Sopenharmony_citype FileSystemWatcher struct {
1600fd4e5da5Sopenharmony_ci
1601fd4e5da5Sopenharmony_ci	/*GlobPattern defined:
1602fd4e5da5Sopenharmony_ci	 * The  glob pattern to watch. Glob patterns can have the following syntax:
1603fd4e5da5Sopenharmony_ci	 * - `*` to match one or more characters in a path segment
1604fd4e5da5Sopenharmony_ci	 * - `?` to match on one character in a path segment
1605fd4e5da5Sopenharmony_ci	 * - `**` to match any number of path segments, including none
1606fd4e5da5Sopenharmony_ci	 * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1607fd4e5da5Sopenharmony_ci	 * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1608fd4e5da5Sopenharmony_ci	 * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
1609fd4e5da5Sopenharmony_ci	 */
1610fd4e5da5Sopenharmony_ci	GlobPattern string `json:"globPattern"`
1611fd4e5da5Sopenharmony_ci
1612fd4e5da5Sopenharmony_ci	/*Kind defined:
1613fd4e5da5Sopenharmony_ci	 * The kind of events of interest. If omitted it defaults
1614fd4e5da5Sopenharmony_ci	 * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
1615fd4e5da5Sopenharmony_ci	 * which is 7.
1616fd4e5da5Sopenharmony_ci	 */
1617fd4e5da5Sopenharmony_ci	Kind float64 `json:"kind,omitempty"`
1618fd4e5da5Sopenharmony_ci}
1619fd4e5da5Sopenharmony_ci
1620fd4e5da5Sopenharmony_ci/*PublishDiagnosticsClientCapabilities defined:
1621fd4e5da5Sopenharmony_ci * The publish diagnostic client capabilities.
1622fd4e5da5Sopenharmony_ci */
1623fd4e5da5Sopenharmony_citype PublishDiagnosticsClientCapabilities struct {
1624fd4e5da5Sopenharmony_ci
1625fd4e5da5Sopenharmony_ci	/*RelatedInformation defined:
1626fd4e5da5Sopenharmony_ci	 * Whether the clients accepts diagnostics with related information.
1627fd4e5da5Sopenharmony_ci	 */
1628fd4e5da5Sopenharmony_ci	RelatedInformation bool `json:"relatedInformation,omitempty"`
1629fd4e5da5Sopenharmony_ci
1630fd4e5da5Sopenharmony_ci	/*TagSupport defined:
1631fd4e5da5Sopenharmony_ci	 * Client supports the tag property to provide meta data about a diagnostic.
1632fd4e5da5Sopenharmony_ci	 * Clients supporting tags have to handle unknown tags gracefully.
1633fd4e5da5Sopenharmony_ci	 *
1634fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1635fd4e5da5Sopenharmony_ci	 */
1636fd4e5da5Sopenharmony_ci	TagSupport *struct {
1637fd4e5da5Sopenharmony_ci
1638fd4e5da5Sopenharmony_ci		/*ValueSet defined:
1639fd4e5da5Sopenharmony_ci		 * The tags supported by the client.
1640fd4e5da5Sopenharmony_ci		 */
1641fd4e5da5Sopenharmony_ci		ValueSet []DiagnosticTag `json:"valueSet"`
1642fd4e5da5Sopenharmony_ci	} `json:"tagSupport,omitempty"`
1643fd4e5da5Sopenharmony_ci}
1644fd4e5da5Sopenharmony_ci
1645fd4e5da5Sopenharmony_ci/*PublishDiagnosticsParams defined:
1646fd4e5da5Sopenharmony_ci * The publish diagnostic notification's parameters.
1647fd4e5da5Sopenharmony_ci */
1648fd4e5da5Sopenharmony_citype PublishDiagnosticsParams struct {
1649fd4e5da5Sopenharmony_ci
1650fd4e5da5Sopenharmony_ci	/*URI defined:
1651fd4e5da5Sopenharmony_ci	 * The URI for which diagnostic information is reported.
1652fd4e5da5Sopenharmony_ci	 */
1653fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
1654fd4e5da5Sopenharmony_ci
1655fd4e5da5Sopenharmony_ci	/*Version defined:
1656fd4e5da5Sopenharmony_ci	 * Optional the version number of the document the diagnostics are published for.
1657fd4e5da5Sopenharmony_ci	 *
1658fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1659fd4e5da5Sopenharmony_ci	 */
1660fd4e5da5Sopenharmony_ci	Version float64 `json:"version,omitempty"`
1661fd4e5da5Sopenharmony_ci
1662fd4e5da5Sopenharmony_ci	/*Diagnostics defined:
1663fd4e5da5Sopenharmony_ci	 * An array of diagnostic information items.
1664fd4e5da5Sopenharmony_ci	 */
1665fd4e5da5Sopenharmony_ci	Diagnostics []Diagnostic `json:"diagnostics"`
1666fd4e5da5Sopenharmony_ci}
1667fd4e5da5Sopenharmony_ci
1668fd4e5da5Sopenharmony_ci/*CompletionClientCapabilities defined:
1669fd4e5da5Sopenharmony_ci * Completion client capabilities
1670fd4e5da5Sopenharmony_ci */
1671fd4e5da5Sopenharmony_citype CompletionClientCapabilities struct {
1672fd4e5da5Sopenharmony_ci
1673fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
1674fd4e5da5Sopenharmony_ci	 * Whether completion supports dynamic registration.
1675fd4e5da5Sopenharmony_ci	 */
1676fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1677fd4e5da5Sopenharmony_ci
1678fd4e5da5Sopenharmony_ci	/*CompletionItem defined:
1679fd4e5da5Sopenharmony_ci	 * The client supports the following `CompletionItem` specific
1680fd4e5da5Sopenharmony_ci	 * capabilities.
1681fd4e5da5Sopenharmony_ci	 */
1682fd4e5da5Sopenharmony_ci	CompletionItem *struct {
1683fd4e5da5Sopenharmony_ci
1684fd4e5da5Sopenharmony_ci		/*SnippetSupport defined:
1685fd4e5da5Sopenharmony_ci		 * Client supports snippets as insert text.
1686fd4e5da5Sopenharmony_ci		 *
1687fd4e5da5Sopenharmony_ci		 * A snippet can define tab stops and placeholders with `$1`, `$2`
1688fd4e5da5Sopenharmony_ci		 * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
1689fd4e5da5Sopenharmony_ci		 * the end of the snippet. Placeholders with equal identifiers are linked,
1690fd4e5da5Sopenharmony_ci		 * that is typing in one will update others too.
1691fd4e5da5Sopenharmony_ci		 */
1692fd4e5da5Sopenharmony_ci		SnippetSupport bool `json:"snippetSupport,omitempty"`
1693fd4e5da5Sopenharmony_ci
1694fd4e5da5Sopenharmony_ci		/*CommitCharactersSupport defined:
1695fd4e5da5Sopenharmony_ci		 * Client supports commit characters on a completion item.
1696fd4e5da5Sopenharmony_ci		 */
1697fd4e5da5Sopenharmony_ci		CommitCharactersSupport bool `json:"commitCharactersSupport,omitempty"`
1698fd4e5da5Sopenharmony_ci
1699fd4e5da5Sopenharmony_ci		/*DocumentationFormat defined:
1700fd4e5da5Sopenharmony_ci		 * Client supports the follow content formats for the documentation
1701fd4e5da5Sopenharmony_ci		 * property. The order describes the preferred format of the client.
1702fd4e5da5Sopenharmony_ci		 */
1703fd4e5da5Sopenharmony_ci		DocumentationFormat []MarkupKind `json:"documentationFormat,omitempty"`
1704fd4e5da5Sopenharmony_ci
1705fd4e5da5Sopenharmony_ci		/*DeprecatedSupport defined:
1706fd4e5da5Sopenharmony_ci		 * Client supports the deprecated property on a completion item.
1707fd4e5da5Sopenharmony_ci		 */
1708fd4e5da5Sopenharmony_ci		DeprecatedSupport bool `json:"deprecatedSupport,omitempty"`
1709fd4e5da5Sopenharmony_ci
1710fd4e5da5Sopenharmony_ci		/*PreselectSupport defined:
1711fd4e5da5Sopenharmony_ci		 * Client supports the preselect property on a completion item.
1712fd4e5da5Sopenharmony_ci		 */
1713fd4e5da5Sopenharmony_ci		PreselectSupport bool `json:"preselectSupport,omitempty"`
1714fd4e5da5Sopenharmony_ci
1715fd4e5da5Sopenharmony_ci		/*TagSupport defined:
1716fd4e5da5Sopenharmony_ci		 * Client supports the tag property on a completion item. Clients supporting
1717fd4e5da5Sopenharmony_ci		 * tags have to handle unknown tags gracefully. Clients especially need to
1718fd4e5da5Sopenharmony_ci		 * preserve unknown tags when sending a completion item back to the server in
1719fd4e5da5Sopenharmony_ci		 * a resolve call.
1720fd4e5da5Sopenharmony_ci		 *
1721fd4e5da5Sopenharmony_ci		 * @since 3.15.0
1722fd4e5da5Sopenharmony_ci		 */
1723fd4e5da5Sopenharmony_ci		TagSupport *struct {
1724fd4e5da5Sopenharmony_ci
1725fd4e5da5Sopenharmony_ci			/*ValueSet defined:
1726fd4e5da5Sopenharmony_ci			 * The tags supported by the client.
1727fd4e5da5Sopenharmony_ci			 */
1728fd4e5da5Sopenharmony_ci			ValueSet []CompletionItemTag `json:"valueSet"`
1729fd4e5da5Sopenharmony_ci		} `json:"tagSupport,omitempty"`
1730fd4e5da5Sopenharmony_ci	} `json:"completionItem,omitempty"`
1731fd4e5da5Sopenharmony_ci
1732fd4e5da5Sopenharmony_ci	// CompletionItemKind is
1733fd4e5da5Sopenharmony_ci	CompletionItemKind *struct {
1734fd4e5da5Sopenharmony_ci
1735fd4e5da5Sopenharmony_ci		/*ValueSet defined:
1736fd4e5da5Sopenharmony_ci		 * The completion item kind values the client supports. When this
1737fd4e5da5Sopenharmony_ci		 * property exists the client also guarantees that it will
1738fd4e5da5Sopenharmony_ci		 * handle values outside its set gracefully and falls back
1739fd4e5da5Sopenharmony_ci		 * to a default value when unknown.
1740fd4e5da5Sopenharmony_ci		 *
1741fd4e5da5Sopenharmony_ci		 * If this property is not present the client only supports
1742fd4e5da5Sopenharmony_ci		 * the completion items kinds from `Text` to `Reference` as defined in
1743fd4e5da5Sopenharmony_ci		 * the initial version of the protocol.
1744fd4e5da5Sopenharmony_ci		 */
1745fd4e5da5Sopenharmony_ci		ValueSet []CompletionItemKind `json:"valueSet,omitempty"`
1746fd4e5da5Sopenharmony_ci	} `json:"completionItemKind,omitempty"`
1747fd4e5da5Sopenharmony_ci
1748fd4e5da5Sopenharmony_ci	/*ContextSupport defined:
1749fd4e5da5Sopenharmony_ci	 * The client supports to send additional context information for a
1750fd4e5da5Sopenharmony_ci	 * `textDocument/completion` requestion.
1751fd4e5da5Sopenharmony_ci	 */
1752fd4e5da5Sopenharmony_ci	ContextSupport bool `json:"contextSupport,omitempty"`
1753fd4e5da5Sopenharmony_ci}
1754fd4e5da5Sopenharmony_ci
1755fd4e5da5Sopenharmony_ci/*CompletionContext defined:
1756fd4e5da5Sopenharmony_ci * Contains additional information about the context in which a completion request is triggered.
1757fd4e5da5Sopenharmony_ci */
1758fd4e5da5Sopenharmony_citype CompletionContext struct {
1759fd4e5da5Sopenharmony_ci
1760fd4e5da5Sopenharmony_ci	/*TriggerKind defined:
1761fd4e5da5Sopenharmony_ci	 * How the completion was triggered.
1762fd4e5da5Sopenharmony_ci	 */
1763fd4e5da5Sopenharmony_ci	TriggerKind CompletionTriggerKind `json:"triggerKind"`
1764fd4e5da5Sopenharmony_ci
1765fd4e5da5Sopenharmony_ci	/*TriggerCharacter defined:
1766fd4e5da5Sopenharmony_ci	 * The trigger character (a single character) that has trigger code complete.
1767fd4e5da5Sopenharmony_ci	 * Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
1768fd4e5da5Sopenharmony_ci	 */
1769fd4e5da5Sopenharmony_ci	TriggerCharacter string `json:"triggerCharacter,omitempty"`
1770fd4e5da5Sopenharmony_ci}
1771fd4e5da5Sopenharmony_ci
1772fd4e5da5Sopenharmony_ci/*CompletionParams defined:
1773fd4e5da5Sopenharmony_ci * Completion parameters
1774fd4e5da5Sopenharmony_ci */
1775fd4e5da5Sopenharmony_citype CompletionParams struct {
1776fd4e5da5Sopenharmony_ci
1777fd4e5da5Sopenharmony_ci	/*Context defined:
1778fd4e5da5Sopenharmony_ci	 * The completion context. This is only available it the client specifies
1779fd4e5da5Sopenharmony_ci	 * to send this using the client capability `textDocument.completion.contextSupport === true`
1780fd4e5da5Sopenharmony_ci	 */
1781fd4e5da5Sopenharmony_ci	Context *CompletionContext `json:"context,omitempty"`
1782fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
1783fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
1784fd4e5da5Sopenharmony_ci	PartialResultParams
1785fd4e5da5Sopenharmony_ci}
1786fd4e5da5Sopenharmony_ci
1787fd4e5da5Sopenharmony_ci/*CompletionOptions defined:
1788fd4e5da5Sopenharmony_ci * Completion options.
1789fd4e5da5Sopenharmony_ci */
1790fd4e5da5Sopenharmony_citype CompletionOptions struct {
1791fd4e5da5Sopenharmony_ci
1792fd4e5da5Sopenharmony_ci	/*TriggerCharacters defined:
1793fd4e5da5Sopenharmony_ci	 * Most tools trigger completion request automatically without explicitly requesting
1794fd4e5da5Sopenharmony_ci	 * it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
1795fd4e5da5Sopenharmony_ci	 * starts to type an identifier. For example if the user types `c` in a JavaScript file
1796fd4e5da5Sopenharmony_ci	 * code complete will automatically pop up present `console` besides others as a
1797fd4e5da5Sopenharmony_ci	 * completion item. Characters that make up identifiers don't need to be listed here.
1798fd4e5da5Sopenharmony_ci	 *
1799fd4e5da5Sopenharmony_ci	 * If code complete should automatically be trigger on characters not being valid inside
1800fd4e5da5Sopenharmony_ci	 * an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
1801fd4e5da5Sopenharmony_ci	 */
1802fd4e5da5Sopenharmony_ci	TriggerCharacters []string `json:"triggerCharacters,omitempty"`
1803fd4e5da5Sopenharmony_ci
1804fd4e5da5Sopenharmony_ci	/*AllCommitCharacters defined:
1805fd4e5da5Sopenharmony_ci	 * The list of all possible characters that commit a completion. This field can be used
1806fd4e5da5Sopenharmony_ci	 * if clients don't support individual commit characters per completion item. See
1807fd4e5da5Sopenharmony_ci	 * `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
1808fd4e5da5Sopenharmony_ci	 *
1809fd4e5da5Sopenharmony_ci	 * @since 3.2.0
1810fd4e5da5Sopenharmony_ci	 */
1811fd4e5da5Sopenharmony_ci	AllCommitCharacters []string `json:"allCommitCharacters,omitempty"`
1812fd4e5da5Sopenharmony_ci
1813fd4e5da5Sopenharmony_ci	/*ResolveProvider defined:
1814fd4e5da5Sopenharmony_ci	 * The server provides support to resolve additional
1815fd4e5da5Sopenharmony_ci	 * information for a completion item.
1816fd4e5da5Sopenharmony_ci	 */
1817fd4e5da5Sopenharmony_ci	ResolveProvider bool `json:"resolveProvider,omitempty"`
1818fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
1819fd4e5da5Sopenharmony_ci}
1820fd4e5da5Sopenharmony_ci
1821fd4e5da5Sopenharmony_ci/*CompletionRegistrationOptions defined:
1822fd4e5da5Sopenharmony_ci * Registration options for a [CompletionRequest](#CompletionRequest).
1823fd4e5da5Sopenharmony_ci */
1824fd4e5da5Sopenharmony_citype CompletionRegistrationOptions struct {
1825fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
1826fd4e5da5Sopenharmony_ci	CompletionOptions
1827fd4e5da5Sopenharmony_ci}
1828fd4e5da5Sopenharmony_ci
1829fd4e5da5Sopenharmony_ci// HoverClientCapabilities is
1830fd4e5da5Sopenharmony_citype HoverClientCapabilities struct {
1831fd4e5da5Sopenharmony_ci
1832fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
1833fd4e5da5Sopenharmony_ci	 * Whether hover supports dynamic registration.
1834fd4e5da5Sopenharmony_ci	 */
1835fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1836fd4e5da5Sopenharmony_ci
1837fd4e5da5Sopenharmony_ci	/*ContentFormat defined:
1838fd4e5da5Sopenharmony_ci	 * Client supports the follow content formats for the content
1839fd4e5da5Sopenharmony_ci	 * property. The order describes the preferred format of the client.
1840fd4e5da5Sopenharmony_ci	 */
1841fd4e5da5Sopenharmony_ci	ContentFormat []MarkupKind `json:"contentFormat,omitempty"`
1842fd4e5da5Sopenharmony_ci}
1843fd4e5da5Sopenharmony_ci
1844fd4e5da5Sopenharmony_ci/*HoverOptions defined:
1845fd4e5da5Sopenharmony_ci * Hover options.
1846fd4e5da5Sopenharmony_ci */
1847fd4e5da5Sopenharmony_citype HoverOptions struct {
1848fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
1849fd4e5da5Sopenharmony_ci}
1850fd4e5da5Sopenharmony_ci
1851fd4e5da5Sopenharmony_ci/*HoverParams defined:
1852fd4e5da5Sopenharmony_ci * Parameters for a [HoverRequest](#HoverRequest).
1853fd4e5da5Sopenharmony_ci */
1854fd4e5da5Sopenharmony_citype HoverParams struct {
1855fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
1856fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
1857fd4e5da5Sopenharmony_ci}
1858fd4e5da5Sopenharmony_ci
1859fd4e5da5Sopenharmony_ci/*HoverRegistrationOptions defined:
1860fd4e5da5Sopenharmony_ci * Registration options for a [HoverRequest](#HoverRequest).
1861fd4e5da5Sopenharmony_ci */
1862fd4e5da5Sopenharmony_citype HoverRegistrationOptions struct {
1863fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
1864fd4e5da5Sopenharmony_ci	HoverOptions
1865fd4e5da5Sopenharmony_ci}
1866fd4e5da5Sopenharmony_ci
1867fd4e5da5Sopenharmony_ci/*SignatureHelpClientCapabilities defined:
1868fd4e5da5Sopenharmony_ci * Client Capabilities for a [SignatureHelpRequest](#SignatureHelpRequest).
1869fd4e5da5Sopenharmony_ci */
1870fd4e5da5Sopenharmony_citype SignatureHelpClientCapabilities struct {
1871fd4e5da5Sopenharmony_ci
1872fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
1873fd4e5da5Sopenharmony_ci	 * Whether signature help supports dynamic registration.
1874fd4e5da5Sopenharmony_ci	 */
1875fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1876fd4e5da5Sopenharmony_ci
1877fd4e5da5Sopenharmony_ci	/*SignatureInformation defined:
1878fd4e5da5Sopenharmony_ci	 * The client supports the following `SignatureInformation`
1879fd4e5da5Sopenharmony_ci	 * specific properties.
1880fd4e5da5Sopenharmony_ci	 */
1881fd4e5da5Sopenharmony_ci	SignatureInformation *struct {
1882fd4e5da5Sopenharmony_ci
1883fd4e5da5Sopenharmony_ci		/*DocumentationFormat defined:
1884fd4e5da5Sopenharmony_ci		 * Client supports the follow content formats for the documentation
1885fd4e5da5Sopenharmony_ci		 * property. The order describes the preferred format of the client.
1886fd4e5da5Sopenharmony_ci		 */
1887fd4e5da5Sopenharmony_ci		DocumentationFormat []MarkupKind `json:"documentationFormat,omitempty"`
1888fd4e5da5Sopenharmony_ci
1889fd4e5da5Sopenharmony_ci		/*ParameterInformation defined:
1890fd4e5da5Sopenharmony_ci		 * Client capabilities specific to parameter information.
1891fd4e5da5Sopenharmony_ci		 */
1892fd4e5da5Sopenharmony_ci		ParameterInformation *struct {
1893fd4e5da5Sopenharmony_ci
1894fd4e5da5Sopenharmony_ci			/*LabelOffsetSupport defined:
1895fd4e5da5Sopenharmony_ci			 * The client supports processing label offsets instead of a
1896fd4e5da5Sopenharmony_ci			 * simple label string.
1897fd4e5da5Sopenharmony_ci			 *
1898fd4e5da5Sopenharmony_ci			 * @since 3.14.0
1899fd4e5da5Sopenharmony_ci			 */
1900fd4e5da5Sopenharmony_ci			LabelOffsetSupport bool `json:"labelOffsetSupport,omitempty"`
1901fd4e5da5Sopenharmony_ci		} `json:"parameterInformation,omitempty"`
1902fd4e5da5Sopenharmony_ci	} `json:"signatureInformation,omitempty"`
1903fd4e5da5Sopenharmony_ci
1904fd4e5da5Sopenharmony_ci	/*ContextSupport defined:
1905fd4e5da5Sopenharmony_ci	 * The client supports to send additional context information for a
1906fd4e5da5Sopenharmony_ci	 * `textDocument/signatureHelp` request. A client that opts into
1907fd4e5da5Sopenharmony_ci	 * contextSupport will also support the `retriggerCharacters` on
1908fd4e5da5Sopenharmony_ci	 * `SignatureHelpOptions`.
1909fd4e5da5Sopenharmony_ci	 *
1910fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1911fd4e5da5Sopenharmony_ci	 */
1912fd4e5da5Sopenharmony_ci	ContextSupport bool `json:"contextSupport,omitempty"`
1913fd4e5da5Sopenharmony_ci}
1914fd4e5da5Sopenharmony_ci
1915fd4e5da5Sopenharmony_ci/*SignatureHelpOptions defined:
1916fd4e5da5Sopenharmony_ci * Server Capabilities for a [SignatureHelpRequest](#SignatureHelpRequest).
1917fd4e5da5Sopenharmony_ci */
1918fd4e5da5Sopenharmony_citype SignatureHelpOptions struct {
1919fd4e5da5Sopenharmony_ci
1920fd4e5da5Sopenharmony_ci	/*TriggerCharacters defined:
1921fd4e5da5Sopenharmony_ci	 * List of characters that trigger signature help.
1922fd4e5da5Sopenharmony_ci	 */
1923fd4e5da5Sopenharmony_ci	TriggerCharacters []string `json:"triggerCharacters,omitempty"`
1924fd4e5da5Sopenharmony_ci
1925fd4e5da5Sopenharmony_ci	/*RetriggerCharacters defined:
1926fd4e5da5Sopenharmony_ci	 * List of characters that re-trigger signature help.
1927fd4e5da5Sopenharmony_ci	 *
1928fd4e5da5Sopenharmony_ci	 * These trigger characters are only active when signature help is already showing. All trigger characters
1929fd4e5da5Sopenharmony_ci	 * are also counted as re-trigger characters.
1930fd4e5da5Sopenharmony_ci	 *
1931fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1932fd4e5da5Sopenharmony_ci	 */
1933fd4e5da5Sopenharmony_ci	RetriggerCharacters []string `json:"retriggerCharacters,omitempty"`
1934fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
1935fd4e5da5Sopenharmony_ci}
1936fd4e5da5Sopenharmony_ci
1937fd4e5da5Sopenharmony_ci/*SignatureHelpContext defined:
1938fd4e5da5Sopenharmony_ci * Additional information about the context in which a signature help request was triggered.
1939fd4e5da5Sopenharmony_ci *
1940fd4e5da5Sopenharmony_ci * @since 3.15.0
1941fd4e5da5Sopenharmony_ci */
1942fd4e5da5Sopenharmony_citype SignatureHelpContext struct {
1943fd4e5da5Sopenharmony_ci
1944fd4e5da5Sopenharmony_ci	/*TriggerKind defined:
1945fd4e5da5Sopenharmony_ci	 * Action that caused signature help to be triggered.
1946fd4e5da5Sopenharmony_ci	 */
1947fd4e5da5Sopenharmony_ci	TriggerKind SignatureHelpTriggerKind `json:"triggerKind"`
1948fd4e5da5Sopenharmony_ci
1949fd4e5da5Sopenharmony_ci	/*TriggerCharacter defined:
1950fd4e5da5Sopenharmony_ci	 * Character that caused signature help to be triggered.
1951fd4e5da5Sopenharmony_ci	 *
1952fd4e5da5Sopenharmony_ci	 * This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
1953fd4e5da5Sopenharmony_ci	 */
1954fd4e5da5Sopenharmony_ci	TriggerCharacter string `json:"triggerCharacter,omitempty"`
1955fd4e5da5Sopenharmony_ci
1956fd4e5da5Sopenharmony_ci	/*IsRetrigger defined:
1957fd4e5da5Sopenharmony_ci	 * `true` if signature help was already showing when it was triggered.
1958fd4e5da5Sopenharmony_ci	 *
1959fd4e5da5Sopenharmony_ci	 * Retriggers occur when the signature help is already active and can be caused by actions such as
1960fd4e5da5Sopenharmony_ci	 * typing a trigger character, a cursor move, or document content changes.
1961fd4e5da5Sopenharmony_ci	 */
1962fd4e5da5Sopenharmony_ci	IsRetrigger bool `json:"isRetrigger"`
1963fd4e5da5Sopenharmony_ci
1964fd4e5da5Sopenharmony_ci	/*ActiveSignatureHelp defined:
1965fd4e5da5Sopenharmony_ci	 * The currently active `SignatureHelp`.
1966fd4e5da5Sopenharmony_ci	 *
1967fd4e5da5Sopenharmony_ci	 * The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
1968fd4e5da5Sopenharmony_ci	 * the user navigating through available signatures.
1969fd4e5da5Sopenharmony_ci	 */
1970fd4e5da5Sopenharmony_ci	ActiveSignatureHelp *SignatureHelp `json:"activeSignatureHelp,omitempty"`
1971fd4e5da5Sopenharmony_ci}
1972fd4e5da5Sopenharmony_ci
1973fd4e5da5Sopenharmony_ci/*SignatureHelpParams defined:
1974fd4e5da5Sopenharmony_ci * Parameters for a [SignatureHelpRequest](#SignatureHelpRequest).
1975fd4e5da5Sopenharmony_ci */
1976fd4e5da5Sopenharmony_citype SignatureHelpParams struct {
1977fd4e5da5Sopenharmony_ci
1978fd4e5da5Sopenharmony_ci	/*Context defined:
1979fd4e5da5Sopenharmony_ci	 * The signature help context. This is only available if the client specifies
1980fd4e5da5Sopenharmony_ci	 * to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
1981fd4e5da5Sopenharmony_ci	 *
1982fd4e5da5Sopenharmony_ci	 * @since 3.15.0
1983fd4e5da5Sopenharmony_ci	 */
1984fd4e5da5Sopenharmony_ci	Context *SignatureHelpContext `json:"context,omitempty"`
1985fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
1986fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
1987fd4e5da5Sopenharmony_ci}
1988fd4e5da5Sopenharmony_ci
1989fd4e5da5Sopenharmony_ci/*SignatureHelpRegistrationOptions defined:
1990fd4e5da5Sopenharmony_ci * Registration options for a [SignatureHelpRequest](#SignatureHelpRequest).
1991fd4e5da5Sopenharmony_ci */
1992fd4e5da5Sopenharmony_citype SignatureHelpRegistrationOptions struct {
1993fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
1994fd4e5da5Sopenharmony_ci	SignatureHelpOptions
1995fd4e5da5Sopenharmony_ci}
1996fd4e5da5Sopenharmony_ci
1997fd4e5da5Sopenharmony_ci/*DefinitionClientCapabilities defined:
1998fd4e5da5Sopenharmony_ci * Client Capabilities for a [DefinitionRequest](#DefinitionRequest).
1999fd4e5da5Sopenharmony_ci */
2000fd4e5da5Sopenharmony_citype DefinitionClientCapabilities struct {
2001fd4e5da5Sopenharmony_ci
2002fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2003fd4e5da5Sopenharmony_ci	 * Whether definition supports dynamic registration.
2004fd4e5da5Sopenharmony_ci	 */
2005fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2006fd4e5da5Sopenharmony_ci
2007fd4e5da5Sopenharmony_ci	/*LinkSupport defined:
2008fd4e5da5Sopenharmony_ci	 * The client supports additional metadata in the form of definition links.
2009fd4e5da5Sopenharmony_ci	 *
2010fd4e5da5Sopenharmony_ci	 * @since 3.14.0
2011fd4e5da5Sopenharmony_ci	 */
2012fd4e5da5Sopenharmony_ci	LinkSupport bool `json:"linkSupport,omitempty"`
2013fd4e5da5Sopenharmony_ci}
2014fd4e5da5Sopenharmony_ci
2015fd4e5da5Sopenharmony_ci/*DefinitionOptions defined:
2016fd4e5da5Sopenharmony_ci * Server Capabilities for a [DefinitionRequest](#DefinitionRequest).
2017fd4e5da5Sopenharmony_ci */
2018fd4e5da5Sopenharmony_citype DefinitionOptions struct {
2019fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2020fd4e5da5Sopenharmony_ci}
2021fd4e5da5Sopenharmony_ci
2022fd4e5da5Sopenharmony_ci/*DefinitionParams defined:
2023fd4e5da5Sopenharmony_ci * Parameters for a [DefinitionRequest](#DefinitionRequest).
2024fd4e5da5Sopenharmony_ci */
2025fd4e5da5Sopenharmony_citype DefinitionParams struct {
2026fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
2027fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2028fd4e5da5Sopenharmony_ci	PartialResultParams
2029fd4e5da5Sopenharmony_ci}
2030fd4e5da5Sopenharmony_ci
2031fd4e5da5Sopenharmony_ci/*DefinitionRegistrationOptions defined:
2032fd4e5da5Sopenharmony_ci * Registration options for a [DefinitionRequest](#DefinitionRequest).
2033fd4e5da5Sopenharmony_ci */
2034fd4e5da5Sopenharmony_citype DefinitionRegistrationOptions struct {
2035fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2036fd4e5da5Sopenharmony_ci	DefinitionOptions
2037fd4e5da5Sopenharmony_ci}
2038fd4e5da5Sopenharmony_ci
2039fd4e5da5Sopenharmony_ci/*ReferenceClientCapabilities defined:
2040fd4e5da5Sopenharmony_ci * Client Capabilities for a [ReferencesRequest](#ReferencesRequest).
2041fd4e5da5Sopenharmony_ci */
2042fd4e5da5Sopenharmony_citype ReferenceClientCapabilities struct {
2043fd4e5da5Sopenharmony_ci
2044fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2045fd4e5da5Sopenharmony_ci	 * Whether references supports dynamic registration.
2046fd4e5da5Sopenharmony_ci	 */
2047fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2048fd4e5da5Sopenharmony_ci}
2049fd4e5da5Sopenharmony_ci
2050fd4e5da5Sopenharmony_ci/*ReferenceParams defined:
2051fd4e5da5Sopenharmony_ci * Parameters for a [ReferencesRequest](#ReferencesRequest).
2052fd4e5da5Sopenharmony_ci */
2053fd4e5da5Sopenharmony_citype ReferenceParams struct {
2054fd4e5da5Sopenharmony_ci
2055fd4e5da5Sopenharmony_ci	// Context is
2056fd4e5da5Sopenharmony_ci	Context ReferenceContext `json:"context"`
2057fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
2058fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2059fd4e5da5Sopenharmony_ci	PartialResultParams
2060fd4e5da5Sopenharmony_ci}
2061fd4e5da5Sopenharmony_ci
2062fd4e5da5Sopenharmony_ci/*ReferenceOptions defined:
2063fd4e5da5Sopenharmony_ci * Reference options.
2064fd4e5da5Sopenharmony_ci */
2065fd4e5da5Sopenharmony_citype ReferenceOptions struct {
2066fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2067fd4e5da5Sopenharmony_ci}
2068fd4e5da5Sopenharmony_ci
2069fd4e5da5Sopenharmony_ci/*ReferenceRegistrationOptions defined:
2070fd4e5da5Sopenharmony_ci * Registration options for a [ReferencesRequest](#ReferencesRequest).
2071fd4e5da5Sopenharmony_ci */
2072fd4e5da5Sopenharmony_citype ReferenceRegistrationOptions struct {
2073fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2074fd4e5da5Sopenharmony_ci	ReferenceOptions
2075fd4e5da5Sopenharmony_ci}
2076fd4e5da5Sopenharmony_ci
2077fd4e5da5Sopenharmony_ci/*DocumentHighlightClientCapabilities defined:
2078fd4e5da5Sopenharmony_ci * Client Capabilities for a [DocumentHighlightRequest](#DocumentHighlightRequest).
2079fd4e5da5Sopenharmony_ci */
2080fd4e5da5Sopenharmony_citype DocumentHighlightClientCapabilities struct {
2081fd4e5da5Sopenharmony_ci
2082fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2083fd4e5da5Sopenharmony_ci	 * Whether document highlight supports dynamic registration.
2084fd4e5da5Sopenharmony_ci	 */
2085fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2086fd4e5da5Sopenharmony_ci}
2087fd4e5da5Sopenharmony_ci
2088fd4e5da5Sopenharmony_ci/*DocumentHighlightParams defined:
2089fd4e5da5Sopenharmony_ci * Parameters for a [DocumentHighlightRequest](#DocumentHighlightRequest).
2090fd4e5da5Sopenharmony_ci */
2091fd4e5da5Sopenharmony_citype DocumentHighlightParams struct {
2092fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
2093fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2094fd4e5da5Sopenharmony_ci	PartialResultParams
2095fd4e5da5Sopenharmony_ci}
2096fd4e5da5Sopenharmony_ci
2097fd4e5da5Sopenharmony_ci/*DocumentHighlightOptions defined:
2098fd4e5da5Sopenharmony_ci * Provider options for a [DocumentHighlightRequest](#DocumentHighlightRequest).
2099fd4e5da5Sopenharmony_ci */
2100fd4e5da5Sopenharmony_citype DocumentHighlightOptions struct {
2101fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2102fd4e5da5Sopenharmony_ci}
2103fd4e5da5Sopenharmony_ci
2104fd4e5da5Sopenharmony_ci/*DocumentHighlightRegistrationOptions defined:
2105fd4e5da5Sopenharmony_ci * Registration options for a [DocumentHighlightRequest](#DocumentHighlightRequest).
2106fd4e5da5Sopenharmony_ci */
2107fd4e5da5Sopenharmony_citype DocumentHighlightRegistrationOptions struct {
2108fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2109fd4e5da5Sopenharmony_ci	DocumentHighlightOptions
2110fd4e5da5Sopenharmony_ci}
2111fd4e5da5Sopenharmony_ci
2112fd4e5da5Sopenharmony_ci/*DocumentSymbolClientCapabilities defined:
2113fd4e5da5Sopenharmony_ci * Client Capabilities for a [DocumentSymbolRequest](#DocumentSymbolRequest).
2114fd4e5da5Sopenharmony_ci */
2115fd4e5da5Sopenharmony_citype DocumentSymbolClientCapabilities struct {
2116fd4e5da5Sopenharmony_ci
2117fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2118fd4e5da5Sopenharmony_ci	 * Whether document symbol supports dynamic registration.
2119fd4e5da5Sopenharmony_ci	 */
2120fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2121fd4e5da5Sopenharmony_ci
2122fd4e5da5Sopenharmony_ci	/*SymbolKind defined:
2123fd4e5da5Sopenharmony_ci	 * Specific capabilities for the `SymbolKind`.
2124fd4e5da5Sopenharmony_ci	 */
2125fd4e5da5Sopenharmony_ci	SymbolKind *struct {
2126fd4e5da5Sopenharmony_ci
2127fd4e5da5Sopenharmony_ci		/*ValueSet defined:
2128fd4e5da5Sopenharmony_ci		 * The symbol kind values the client supports. When this
2129fd4e5da5Sopenharmony_ci		 * property exists the client also guarantees that it will
2130fd4e5da5Sopenharmony_ci		 * handle values outside its set gracefully and falls back
2131fd4e5da5Sopenharmony_ci		 * to a default value when unknown.
2132fd4e5da5Sopenharmony_ci		 *
2133fd4e5da5Sopenharmony_ci		 * If this property is not present the client only supports
2134fd4e5da5Sopenharmony_ci		 * the symbol kinds from `File` to `Array` as defined in
2135fd4e5da5Sopenharmony_ci		 * the initial version of the protocol.
2136fd4e5da5Sopenharmony_ci		 */
2137fd4e5da5Sopenharmony_ci		ValueSet []SymbolKind `json:"valueSet,omitempty"`
2138fd4e5da5Sopenharmony_ci	} `json:"symbolKind,omitempty"`
2139fd4e5da5Sopenharmony_ci
2140fd4e5da5Sopenharmony_ci	/*HierarchicalDocumentSymbolSupport defined:
2141fd4e5da5Sopenharmony_ci	 * The client support hierarchical document symbols.
2142fd4e5da5Sopenharmony_ci	 */
2143fd4e5da5Sopenharmony_ci	HierarchicalDocumentSymbolSupport bool `json:"hierarchicalDocumentSymbolSupport,omitempty"`
2144fd4e5da5Sopenharmony_ci}
2145fd4e5da5Sopenharmony_ci
2146fd4e5da5Sopenharmony_ci/*DocumentSymbolParams defined:
2147fd4e5da5Sopenharmony_ci * Parameters for a [DocumentSymbolRequest](#DocumentSymbolRequest).
2148fd4e5da5Sopenharmony_ci */
2149fd4e5da5Sopenharmony_citype DocumentSymbolParams struct {
2150fd4e5da5Sopenharmony_ci
2151fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2152fd4e5da5Sopenharmony_ci	 * The text document.
2153fd4e5da5Sopenharmony_ci	 */
2154fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2155fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2156fd4e5da5Sopenharmony_ci	PartialResultParams
2157fd4e5da5Sopenharmony_ci}
2158fd4e5da5Sopenharmony_ci
2159fd4e5da5Sopenharmony_ci/*DocumentSymbolOptions defined:
2160fd4e5da5Sopenharmony_ci * Provider options for a [DocumentSymbolRequest](#DocumentSymbolRequest).
2161fd4e5da5Sopenharmony_ci */
2162fd4e5da5Sopenharmony_citype DocumentSymbolOptions struct {
2163fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2164fd4e5da5Sopenharmony_ci}
2165fd4e5da5Sopenharmony_ci
2166fd4e5da5Sopenharmony_ci/*DocumentSymbolRegistrationOptions defined:
2167fd4e5da5Sopenharmony_ci * Registration options for a [DocumentSymbolRequest](#DocumentSymbolRequest).
2168fd4e5da5Sopenharmony_ci */
2169fd4e5da5Sopenharmony_citype DocumentSymbolRegistrationOptions struct {
2170fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2171fd4e5da5Sopenharmony_ci	DocumentSymbolOptions
2172fd4e5da5Sopenharmony_ci}
2173fd4e5da5Sopenharmony_ci
2174fd4e5da5Sopenharmony_ci/*CodeActionClientCapabilities defined:
2175fd4e5da5Sopenharmony_ci * The Client Capabilities of a [CodeActionRequest](#CodeActionRequest).
2176fd4e5da5Sopenharmony_ci */
2177fd4e5da5Sopenharmony_citype CodeActionClientCapabilities struct {
2178fd4e5da5Sopenharmony_ci
2179fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2180fd4e5da5Sopenharmony_ci	 * Whether code action supports dynamic registration.
2181fd4e5da5Sopenharmony_ci	 */
2182fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2183fd4e5da5Sopenharmony_ci
2184fd4e5da5Sopenharmony_ci	/*CodeActionLiteralSupport defined:
2185fd4e5da5Sopenharmony_ci	 * The client support code action literals as a valid
2186fd4e5da5Sopenharmony_ci	 * response of the `textDocument/codeAction` request.
2187fd4e5da5Sopenharmony_ci	 *
2188fd4e5da5Sopenharmony_ci	 * @since 3.8.0
2189fd4e5da5Sopenharmony_ci	 */
2190fd4e5da5Sopenharmony_ci	CodeActionLiteralSupport *struct {
2191fd4e5da5Sopenharmony_ci
2192fd4e5da5Sopenharmony_ci		/*CodeActionKind defined:
2193fd4e5da5Sopenharmony_ci		 * The code action kind is support with the following value
2194fd4e5da5Sopenharmony_ci		 * set.
2195fd4e5da5Sopenharmony_ci		 */
2196fd4e5da5Sopenharmony_ci		CodeActionKind struct {
2197fd4e5da5Sopenharmony_ci
2198fd4e5da5Sopenharmony_ci			/*ValueSet defined:
2199fd4e5da5Sopenharmony_ci			 * The code action kind values the client supports. When this
2200fd4e5da5Sopenharmony_ci			 * property exists the client also guarantees that it will
2201fd4e5da5Sopenharmony_ci			 * handle values outside its set gracefully and falls back
2202fd4e5da5Sopenharmony_ci			 * to a default value when unknown.
2203fd4e5da5Sopenharmony_ci			 */
2204fd4e5da5Sopenharmony_ci			ValueSet []CodeActionKind `json:"valueSet"`
2205fd4e5da5Sopenharmony_ci		} `json:"codeActionKind"`
2206fd4e5da5Sopenharmony_ci	} `json:"codeActionLiteralSupport,omitempty"`
2207fd4e5da5Sopenharmony_ci
2208fd4e5da5Sopenharmony_ci	/*IsPreferredSupport defined:
2209fd4e5da5Sopenharmony_ci	 * Whether code action supports the `isPreferred` property.
2210fd4e5da5Sopenharmony_ci	 * @since 3.15.0
2211fd4e5da5Sopenharmony_ci	 */
2212fd4e5da5Sopenharmony_ci	IsPreferredSupport bool `json:"isPreferredSupport,omitempty"`
2213fd4e5da5Sopenharmony_ci}
2214fd4e5da5Sopenharmony_ci
2215fd4e5da5Sopenharmony_ci/*CodeActionParams defined:
2216fd4e5da5Sopenharmony_ci * The parameters of a [CodeActionRequest](#CodeActionRequest).
2217fd4e5da5Sopenharmony_ci */
2218fd4e5da5Sopenharmony_citype CodeActionParams struct {
2219fd4e5da5Sopenharmony_ci
2220fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2221fd4e5da5Sopenharmony_ci	 * The document in which the command was invoked.
2222fd4e5da5Sopenharmony_ci	 */
2223fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2224fd4e5da5Sopenharmony_ci
2225fd4e5da5Sopenharmony_ci	/*Range defined:
2226fd4e5da5Sopenharmony_ci	 * The range for which the command was invoked.
2227fd4e5da5Sopenharmony_ci	 */
2228fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
2229fd4e5da5Sopenharmony_ci
2230fd4e5da5Sopenharmony_ci	/*Context defined:
2231fd4e5da5Sopenharmony_ci	 * Context carrying additional information.
2232fd4e5da5Sopenharmony_ci	 */
2233fd4e5da5Sopenharmony_ci	Context CodeActionContext `json:"context"`
2234fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2235fd4e5da5Sopenharmony_ci	PartialResultParams
2236fd4e5da5Sopenharmony_ci}
2237fd4e5da5Sopenharmony_ci
2238fd4e5da5Sopenharmony_ci/*CodeActionOptions defined:
2239fd4e5da5Sopenharmony_ci * Provider options for a [CodeActionRequest](#CodeActionRequest).
2240fd4e5da5Sopenharmony_ci */
2241fd4e5da5Sopenharmony_citype CodeActionOptions struct {
2242fd4e5da5Sopenharmony_ci
2243fd4e5da5Sopenharmony_ci	/*CodeActionKinds defined:
2244fd4e5da5Sopenharmony_ci	 * CodeActionKinds that this server may return.
2245fd4e5da5Sopenharmony_ci	 *
2246fd4e5da5Sopenharmony_ci	 * The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
2247fd4e5da5Sopenharmony_ci	 * may list out every specific kind they provide.
2248fd4e5da5Sopenharmony_ci	 */
2249fd4e5da5Sopenharmony_ci	CodeActionKinds []CodeActionKind `json:"codeActionKinds,omitempty"`
2250fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2251fd4e5da5Sopenharmony_ci}
2252fd4e5da5Sopenharmony_ci
2253fd4e5da5Sopenharmony_ci/*CodeActionRegistrationOptions defined:
2254fd4e5da5Sopenharmony_ci * Registration options for a [CodeActionRequest](#CodeActionRequest).
2255fd4e5da5Sopenharmony_ci */
2256fd4e5da5Sopenharmony_citype CodeActionRegistrationOptions struct {
2257fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2258fd4e5da5Sopenharmony_ci	CodeActionOptions
2259fd4e5da5Sopenharmony_ci}
2260fd4e5da5Sopenharmony_ci
2261fd4e5da5Sopenharmony_ci/*WorkspaceSymbolClientCapabilities defined:
2262fd4e5da5Sopenharmony_ci * Client capabilities for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2263fd4e5da5Sopenharmony_ci */
2264fd4e5da5Sopenharmony_citype WorkspaceSymbolClientCapabilities struct {
2265fd4e5da5Sopenharmony_ci
2266fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2267fd4e5da5Sopenharmony_ci	 * Symbol request supports dynamic registration.
2268fd4e5da5Sopenharmony_ci	 */
2269fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2270fd4e5da5Sopenharmony_ci
2271fd4e5da5Sopenharmony_ci	/*SymbolKind defined:
2272fd4e5da5Sopenharmony_ci	 * Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
2273fd4e5da5Sopenharmony_ci	 */
2274fd4e5da5Sopenharmony_ci	SymbolKind *struct {
2275fd4e5da5Sopenharmony_ci
2276fd4e5da5Sopenharmony_ci		/*ValueSet defined:
2277fd4e5da5Sopenharmony_ci		 * The symbol kind values the client supports. When this
2278fd4e5da5Sopenharmony_ci		 * property exists the client also guarantees that it will
2279fd4e5da5Sopenharmony_ci		 * handle values outside its set gracefully and falls back
2280fd4e5da5Sopenharmony_ci		 * to a default value when unknown.
2281fd4e5da5Sopenharmony_ci		 *
2282fd4e5da5Sopenharmony_ci		 * If this property is not present the client only supports
2283fd4e5da5Sopenharmony_ci		 * the symbol kinds from `File` to `Array` as defined in
2284fd4e5da5Sopenharmony_ci		 * the initial version of the protocol.
2285fd4e5da5Sopenharmony_ci		 */
2286fd4e5da5Sopenharmony_ci		ValueSet []SymbolKind `json:"valueSet,omitempty"`
2287fd4e5da5Sopenharmony_ci	} `json:"symbolKind,omitempty"`
2288fd4e5da5Sopenharmony_ci}
2289fd4e5da5Sopenharmony_ci
2290fd4e5da5Sopenharmony_ci/*WorkspaceSymbolParams defined:
2291fd4e5da5Sopenharmony_ci * The parameters of a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2292fd4e5da5Sopenharmony_ci */
2293fd4e5da5Sopenharmony_citype WorkspaceSymbolParams struct {
2294fd4e5da5Sopenharmony_ci
2295fd4e5da5Sopenharmony_ci	/*Query defined:
2296fd4e5da5Sopenharmony_ci	 * A query string to filter symbols by. Clients may send an empty
2297fd4e5da5Sopenharmony_ci	 * string here to request all symbols.
2298fd4e5da5Sopenharmony_ci	 */
2299fd4e5da5Sopenharmony_ci	Query string `json:"query"`
2300fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2301fd4e5da5Sopenharmony_ci	PartialResultParams
2302fd4e5da5Sopenharmony_ci}
2303fd4e5da5Sopenharmony_ci
2304fd4e5da5Sopenharmony_ci/*WorkspaceSymbolOptions defined:
2305fd4e5da5Sopenharmony_ci * Server capabilities for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2306fd4e5da5Sopenharmony_ci */
2307fd4e5da5Sopenharmony_citype WorkspaceSymbolOptions struct {
2308fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2309fd4e5da5Sopenharmony_ci}
2310fd4e5da5Sopenharmony_ci
2311fd4e5da5Sopenharmony_ci/*WorkspaceSymbolRegistrationOptions defined:
2312fd4e5da5Sopenharmony_ci * Registration options for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2313fd4e5da5Sopenharmony_ci */
2314fd4e5da5Sopenharmony_citype WorkspaceSymbolRegistrationOptions struct {
2315fd4e5da5Sopenharmony_ci	WorkspaceSymbolOptions
2316fd4e5da5Sopenharmony_ci}
2317fd4e5da5Sopenharmony_ci
2318fd4e5da5Sopenharmony_ci/*CodeLensClientCapabilities defined:
2319fd4e5da5Sopenharmony_ci * The client capabilities  of a [CodeLensRequest](#CodeLensRequest).
2320fd4e5da5Sopenharmony_ci */
2321fd4e5da5Sopenharmony_citype CodeLensClientCapabilities struct {
2322fd4e5da5Sopenharmony_ci
2323fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2324fd4e5da5Sopenharmony_ci	 * Whether code lens supports dynamic registration.
2325fd4e5da5Sopenharmony_ci	 */
2326fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2327fd4e5da5Sopenharmony_ci}
2328fd4e5da5Sopenharmony_ci
2329fd4e5da5Sopenharmony_ci/*CodeLensParams defined:
2330fd4e5da5Sopenharmony_ci * The parameters of a [CodeLensRequest](#CodeLensRequest).
2331fd4e5da5Sopenharmony_ci */
2332fd4e5da5Sopenharmony_citype CodeLensParams struct {
2333fd4e5da5Sopenharmony_ci
2334fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2335fd4e5da5Sopenharmony_ci	 * The document to request code lens for.
2336fd4e5da5Sopenharmony_ci	 */
2337fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2338fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2339fd4e5da5Sopenharmony_ci	PartialResultParams
2340fd4e5da5Sopenharmony_ci}
2341fd4e5da5Sopenharmony_ci
2342fd4e5da5Sopenharmony_ci/*CodeLensOptions defined:
2343fd4e5da5Sopenharmony_ci * Code Lens provider options of a [CodeLensRequest](#CodeLensRequest).
2344fd4e5da5Sopenharmony_ci */
2345fd4e5da5Sopenharmony_citype CodeLensOptions struct {
2346fd4e5da5Sopenharmony_ci
2347fd4e5da5Sopenharmony_ci	/*ResolveProvider defined:
2348fd4e5da5Sopenharmony_ci	 * Code lens has a resolve provider as well.
2349fd4e5da5Sopenharmony_ci	 */
2350fd4e5da5Sopenharmony_ci	ResolveProvider bool `json:"resolveProvider,omitempty"`
2351fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2352fd4e5da5Sopenharmony_ci}
2353fd4e5da5Sopenharmony_ci
2354fd4e5da5Sopenharmony_ci/*CodeLensRegistrationOptions defined:
2355fd4e5da5Sopenharmony_ci * Registration options for a [CodeLensRequest](#CodeLensRequest).
2356fd4e5da5Sopenharmony_ci */
2357fd4e5da5Sopenharmony_citype CodeLensRegistrationOptions struct {
2358fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2359fd4e5da5Sopenharmony_ci	CodeLensOptions
2360fd4e5da5Sopenharmony_ci}
2361fd4e5da5Sopenharmony_ci
2362fd4e5da5Sopenharmony_ci/*DocumentLinkClientCapabilities defined:
2363fd4e5da5Sopenharmony_ci * The client capabilities of a [DocumentLinkRequest](#DocumentLinkRequest).
2364fd4e5da5Sopenharmony_ci */
2365fd4e5da5Sopenharmony_citype DocumentLinkClientCapabilities struct {
2366fd4e5da5Sopenharmony_ci
2367fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2368fd4e5da5Sopenharmony_ci	 * Whether document link supports dynamic registration.
2369fd4e5da5Sopenharmony_ci	 */
2370fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2371fd4e5da5Sopenharmony_ci
2372fd4e5da5Sopenharmony_ci	/*TooltipSupport defined:
2373fd4e5da5Sopenharmony_ci	 * Whether the client support the `tooltip` property on `DocumentLink`.
2374fd4e5da5Sopenharmony_ci	 *
2375fd4e5da5Sopenharmony_ci	 * @since 3.15.0
2376fd4e5da5Sopenharmony_ci	 */
2377fd4e5da5Sopenharmony_ci	TooltipSupport bool `json:"tooltipSupport,omitempty"`
2378fd4e5da5Sopenharmony_ci}
2379fd4e5da5Sopenharmony_ci
2380fd4e5da5Sopenharmony_ci/*DocumentLinkParams defined:
2381fd4e5da5Sopenharmony_ci * The parameters of a [DocumentLinkRequest](#DocumentLinkRequest).
2382fd4e5da5Sopenharmony_ci */
2383fd4e5da5Sopenharmony_citype DocumentLinkParams struct {
2384fd4e5da5Sopenharmony_ci
2385fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2386fd4e5da5Sopenharmony_ci	 * The document to provide document links for.
2387fd4e5da5Sopenharmony_ci	 */
2388fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2389fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2390fd4e5da5Sopenharmony_ci	PartialResultParams
2391fd4e5da5Sopenharmony_ci}
2392fd4e5da5Sopenharmony_ci
2393fd4e5da5Sopenharmony_ci/*DocumentLinkOptions defined:
2394fd4e5da5Sopenharmony_ci * Provider options for a [DocumentLinkRequest](#DocumentLinkRequest).
2395fd4e5da5Sopenharmony_ci */
2396fd4e5da5Sopenharmony_citype DocumentLinkOptions struct {
2397fd4e5da5Sopenharmony_ci
2398fd4e5da5Sopenharmony_ci	/*ResolveProvider defined:
2399fd4e5da5Sopenharmony_ci	 * Document links have a resolve provider as well.
2400fd4e5da5Sopenharmony_ci	 */
2401fd4e5da5Sopenharmony_ci	ResolveProvider bool `json:"resolveProvider,omitempty"`
2402fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2403fd4e5da5Sopenharmony_ci}
2404fd4e5da5Sopenharmony_ci
2405fd4e5da5Sopenharmony_ci/*DocumentLinkRegistrationOptions defined:
2406fd4e5da5Sopenharmony_ci * Registration options for a [DocumentLinkRequest](#DocumentLinkRequest).
2407fd4e5da5Sopenharmony_ci */
2408fd4e5da5Sopenharmony_citype DocumentLinkRegistrationOptions struct {
2409fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2410fd4e5da5Sopenharmony_ci	DocumentLinkOptions
2411fd4e5da5Sopenharmony_ci}
2412fd4e5da5Sopenharmony_ci
2413fd4e5da5Sopenharmony_ci/*DocumentFormattingClientCapabilities defined:
2414fd4e5da5Sopenharmony_ci * Client capabilities of a [DocumentFormattingRequest](#DocumentFormattingRequest).
2415fd4e5da5Sopenharmony_ci */
2416fd4e5da5Sopenharmony_citype DocumentFormattingClientCapabilities struct {
2417fd4e5da5Sopenharmony_ci
2418fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2419fd4e5da5Sopenharmony_ci	 * Whether formatting supports dynamic registration.
2420fd4e5da5Sopenharmony_ci	 */
2421fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2422fd4e5da5Sopenharmony_ci}
2423fd4e5da5Sopenharmony_ci
2424fd4e5da5Sopenharmony_ci/*DocumentFormattingParams defined:
2425fd4e5da5Sopenharmony_ci * The parameters of a [DocumentFormattingRequest](#DocumentFormattingRequest).
2426fd4e5da5Sopenharmony_ci */
2427fd4e5da5Sopenharmony_citype DocumentFormattingParams struct {
2428fd4e5da5Sopenharmony_ci
2429fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2430fd4e5da5Sopenharmony_ci	 * The document to format.
2431fd4e5da5Sopenharmony_ci	 */
2432fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2433fd4e5da5Sopenharmony_ci
2434fd4e5da5Sopenharmony_ci	/*Options defined:
2435fd4e5da5Sopenharmony_ci	 * The format options
2436fd4e5da5Sopenharmony_ci	 */
2437fd4e5da5Sopenharmony_ci	Options FormattingOptions `json:"options"`
2438fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2439fd4e5da5Sopenharmony_ci}
2440fd4e5da5Sopenharmony_ci
2441fd4e5da5Sopenharmony_ci/*DocumentFormattingOptions defined:
2442fd4e5da5Sopenharmony_ci * Provider options for a [DocumentFormattingRequest](#DocumentFormattingRequest).
2443fd4e5da5Sopenharmony_ci */
2444fd4e5da5Sopenharmony_citype DocumentFormattingOptions struct {
2445fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2446fd4e5da5Sopenharmony_ci}
2447fd4e5da5Sopenharmony_ci
2448fd4e5da5Sopenharmony_ci/*DocumentFormattingRegistrationOptions defined:
2449fd4e5da5Sopenharmony_ci * Registration options for a [DocumentFormattingRequest](#DocumentFormattingRequest).
2450fd4e5da5Sopenharmony_ci */
2451fd4e5da5Sopenharmony_citype DocumentFormattingRegistrationOptions struct {
2452fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2453fd4e5da5Sopenharmony_ci	DocumentFormattingOptions
2454fd4e5da5Sopenharmony_ci}
2455fd4e5da5Sopenharmony_ci
2456fd4e5da5Sopenharmony_ci/*DocumentRangeFormattingClientCapabilities defined:
2457fd4e5da5Sopenharmony_ci * Client capabilities of a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2458fd4e5da5Sopenharmony_ci */
2459fd4e5da5Sopenharmony_citype DocumentRangeFormattingClientCapabilities struct {
2460fd4e5da5Sopenharmony_ci
2461fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2462fd4e5da5Sopenharmony_ci	 * Whether range formatting supports dynamic registration.
2463fd4e5da5Sopenharmony_ci	 */
2464fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2465fd4e5da5Sopenharmony_ci}
2466fd4e5da5Sopenharmony_ci
2467fd4e5da5Sopenharmony_ci/*DocumentRangeFormattingParams defined:
2468fd4e5da5Sopenharmony_ci * The parameters of a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2469fd4e5da5Sopenharmony_ci */
2470fd4e5da5Sopenharmony_citype DocumentRangeFormattingParams struct {
2471fd4e5da5Sopenharmony_ci
2472fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2473fd4e5da5Sopenharmony_ci	 * The document to format.
2474fd4e5da5Sopenharmony_ci	 */
2475fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2476fd4e5da5Sopenharmony_ci
2477fd4e5da5Sopenharmony_ci	/*Range defined:
2478fd4e5da5Sopenharmony_ci	 * The range to format
2479fd4e5da5Sopenharmony_ci	 */
2480fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
2481fd4e5da5Sopenharmony_ci
2482fd4e5da5Sopenharmony_ci	/*Options defined:
2483fd4e5da5Sopenharmony_ci	 * The format options
2484fd4e5da5Sopenharmony_ci	 */
2485fd4e5da5Sopenharmony_ci	Options FormattingOptions `json:"options"`
2486fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2487fd4e5da5Sopenharmony_ci}
2488fd4e5da5Sopenharmony_ci
2489fd4e5da5Sopenharmony_ci/*DocumentRangeFormattingOptions defined:
2490fd4e5da5Sopenharmony_ci * Provider options for a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2491fd4e5da5Sopenharmony_ci */
2492fd4e5da5Sopenharmony_citype DocumentRangeFormattingOptions struct {
2493fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2494fd4e5da5Sopenharmony_ci}
2495fd4e5da5Sopenharmony_ci
2496fd4e5da5Sopenharmony_ci/*DocumentRangeFormattingRegistrationOptions defined:
2497fd4e5da5Sopenharmony_ci * Registration options for a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2498fd4e5da5Sopenharmony_ci */
2499fd4e5da5Sopenharmony_citype DocumentRangeFormattingRegistrationOptions struct {
2500fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2501fd4e5da5Sopenharmony_ci	DocumentRangeFormattingOptions
2502fd4e5da5Sopenharmony_ci}
2503fd4e5da5Sopenharmony_ci
2504fd4e5da5Sopenharmony_ci/*DocumentOnTypeFormattingClientCapabilities defined:
2505fd4e5da5Sopenharmony_ci * Client capabilities of a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2506fd4e5da5Sopenharmony_ci */
2507fd4e5da5Sopenharmony_citype DocumentOnTypeFormattingClientCapabilities struct {
2508fd4e5da5Sopenharmony_ci
2509fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2510fd4e5da5Sopenharmony_ci	 * Whether on type formatting supports dynamic registration.
2511fd4e5da5Sopenharmony_ci	 */
2512fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2513fd4e5da5Sopenharmony_ci}
2514fd4e5da5Sopenharmony_ci
2515fd4e5da5Sopenharmony_ci/*DocumentOnTypeFormattingParams defined:
2516fd4e5da5Sopenharmony_ci * The parameters of a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2517fd4e5da5Sopenharmony_ci */
2518fd4e5da5Sopenharmony_citype DocumentOnTypeFormattingParams struct {
2519fd4e5da5Sopenharmony_ci
2520fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2521fd4e5da5Sopenharmony_ci	 * The document to format.
2522fd4e5da5Sopenharmony_ci	 */
2523fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2524fd4e5da5Sopenharmony_ci
2525fd4e5da5Sopenharmony_ci	/*Position defined:
2526fd4e5da5Sopenharmony_ci	 * The position at which this request was send.
2527fd4e5da5Sopenharmony_ci	 */
2528fd4e5da5Sopenharmony_ci	Position Position `json:"position"`
2529fd4e5da5Sopenharmony_ci
2530fd4e5da5Sopenharmony_ci	/*Ch defined:
2531fd4e5da5Sopenharmony_ci	 * The character that has been typed.
2532fd4e5da5Sopenharmony_ci	 */
2533fd4e5da5Sopenharmony_ci	Ch string `json:"ch"`
2534fd4e5da5Sopenharmony_ci
2535fd4e5da5Sopenharmony_ci	/*Options defined:
2536fd4e5da5Sopenharmony_ci	 * The format options.
2537fd4e5da5Sopenharmony_ci	 */
2538fd4e5da5Sopenharmony_ci	Options FormattingOptions `json:"options"`
2539fd4e5da5Sopenharmony_ci}
2540fd4e5da5Sopenharmony_ci
2541fd4e5da5Sopenharmony_ci/*DocumentOnTypeFormattingOptions defined:
2542fd4e5da5Sopenharmony_ci * Provider options for a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2543fd4e5da5Sopenharmony_ci */
2544fd4e5da5Sopenharmony_citype DocumentOnTypeFormattingOptions struct {
2545fd4e5da5Sopenharmony_ci
2546fd4e5da5Sopenharmony_ci	/*FirstTriggerCharacter defined:
2547fd4e5da5Sopenharmony_ci	 * A character on which formatting should be triggered, like `}`.
2548fd4e5da5Sopenharmony_ci	 */
2549fd4e5da5Sopenharmony_ci	FirstTriggerCharacter string `json:"firstTriggerCharacter"`
2550fd4e5da5Sopenharmony_ci
2551fd4e5da5Sopenharmony_ci	/*MoreTriggerCharacter defined:
2552fd4e5da5Sopenharmony_ci	 * More trigger characters.
2553fd4e5da5Sopenharmony_ci	 */
2554fd4e5da5Sopenharmony_ci	MoreTriggerCharacter []string `json:"moreTriggerCharacter,omitempty"`
2555fd4e5da5Sopenharmony_ci}
2556fd4e5da5Sopenharmony_ci
2557fd4e5da5Sopenharmony_ci/*DocumentOnTypeFormattingRegistrationOptions defined:
2558fd4e5da5Sopenharmony_ci * Registration options for a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2559fd4e5da5Sopenharmony_ci */
2560fd4e5da5Sopenharmony_citype DocumentOnTypeFormattingRegistrationOptions struct {
2561fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2562fd4e5da5Sopenharmony_ci	DocumentOnTypeFormattingOptions
2563fd4e5da5Sopenharmony_ci}
2564fd4e5da5Sopenharmony_ci
2565fd4e5da5Sopenharmony_ci// RenameClientCapabilities is
2566fd4e5da5Sopenharmony_citype RenameClientCapabilities struct {
2567fd4e5da5Sopenharmony_ci
2568fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2569fd4e5da5Sopenharmony_ci	 * Whether rename supports dynamic registration.
2570fd4e5da5Sopenharmony_ci	 */
2571fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2572fd4e5da5Sopenharmony_ci
2573fd4e5da5Sopenharmony_ci	/*PrepareSupport defined:
2574fd4e5da5Sopenharmony_ci	 * Client supports testing for validity of rename operations
2575fd4e5da5Sopenharmony_ci	 * before execution.
2576fd4e5da5Sopenharmony_ci	 *
2577fd4e5da5Sopenharmony_ci	 * @since version 3.12.0
2578fd4e5da5Sopenharmony_ci	 */
2579fd4e5da5Sopenharmony_ci	PrepareSupport bool `json:"prepareSupport,omitempty"`
2580fd4e5da5Sopenharmony_ci}
2581fd4e5da5Sopenharmony_ci
2582fd4e5da5Sopenharmony_ci/*RenameParams defined:
2583fd4e5da5Sopenharmony_ci * The parameters of a [RenameRequest](#RenameRequest).
2584fd4e5da5Sopenharmony_ci */
2585fd4e5da5Sopenharmony_citype RenameParams struct {
2586fd4e5da5Sopenharmony_ci
2587fd4e5da5Sopenharmony_ci	/*TextDocument defined:
2588fd4e5da5Sopenharmony_ci	 * The document to rename.
2589fd4e5da5Sopenharmony_ci	 */
2590fd4e5da5Sopenharmony_ci	TextDocument TextDocumentIdentifier `json:"textDocument"`
2591fd4e5da5Sopenharmony_ci
2592fd4e5da5Sopenharmony_ci	/*Position defined:
2593fd4e5da5Sopenharmony_ci	 * The position at which this request was sent.
2594fd4e5da5Sopenharmony_ci	 */
2595fd4e5da5Sopenharmony_ci	Position Position `json:"position"`
2596fd4e5da5Sopenharmony_ci
2597fd4e5da5Sopenharmony_ci	/*NewName defined:
2598fd4e5da5Sopenharmony_ci	 * The new name of the symbol. If the given name is not valid the
2599fd4e5da5Sopenharmony_ci	 * request must return a [ResponseError](#ResponseError) with an
2600fd4e5da5Sopenharmony_ci	 * appropriate message set.
2601fd4e5da5Sopenharmony_ci	 */
2602fd4e5da5Sopenharmony_ci	NewName string `json:"newName"`
2603fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2604fd4e5da5Sopenharmony_ci}
2605fd4e5da5Sopenharmony_ci
2606fd4e5da5Sopenharmony_ci/*RenameOptions defined:
2607fd4e5da5Sopenharmony_ci * Provider options for a [RenameRequest](#RenameRequest).
2608fd4e5da5Sopenharmony_ci */
2609fd4e5da5Sopenharmony_citype RenameOptions struct {
2610fd4e5da5Sopenharmony_ci
2611fd4e5da5Sopenharmony_ci	/*PrepareProvider defined:
2612fd4e5da5Sopenharmony_ci	 * Renames should be checked and tested before being executed.
2613fd4e5da5Sopenharmony_ci	 *
2614fd4e5da5Sopenharmony_ci	 * @since version 3.12.0
2615fd4e5da5Sopenharmony_ci	 */
2616fd4e5da5Sopenharmony_ci	PrepareProvider bool `json:"prepareProvider,omitempty"`
2617fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2618fd4e5da5Sopenharmony_ci}
2619fd4e5da5Sopenharmony_ci
2620fd4e5da5Sopenharmony_ci/*RenameRegistrationOptions defined:
2621fd4e5da5Sopenharmony_ci * Registration options for a [RenameRequest](#RenameRequest).
2622fd4e5da5Sopenharmony_ci */
2623fd4e5da5Sopenharmony_citype RenameRegistrationOptions struct {
2624fd4e5da5Sopenharmony_ci	TextDocumentRegistrationOptions
2625fd4e5da5Sopenharmony_ci	RenameOptions
2626fd4e5da5Sopenharmony_ci}
2627fd4e5da5Sopenharmony_ci
2628fd4e5da5Sopenharmony_ci// PrepareRenameParams is
2629fd4e5da5Sopenharmony_citype PrepareRenameParams struct {
2630fd4e5da5Sopenharmony_ci	TextDocumentPositionParams
2631fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2632fd4e5da5Sopenharmony_ci}
2633fd4e5da5Sopenharmony_ci
2634fd4e5da5Sopenharmony_ci/*ExecuteCommandClientCapabilities defined:
2635fd4e5da5Sopenharmony_ci * The client capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
2636fd4e5da5Sopenharmony_ci */
2637fd4e5da5Sopenharmony_citype ExecuteCommandClientCapabilities struct {
2638fd4e5da5Sopenharmony_ci
2639fd4e5da5Sopenharmony_ci	/*DynamicRegistration defined:
2640fd4e5da5Sopenharmony_ci	 * Execute command supports dynamic registration.
2641fd4e5da5Sopenharmony_ci	 */
2642fd4e5da5Sopenharmony_ci	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2643fd4e5da5Sopenharmony_ci}
2644fd4e5da5Sopenharmony_ci
2645fd4e5da5Sopenharmony_ci/*ExecuteCommandParams defined:
2646fd4e5da5Sopenharmony_ci * The parameters of a [ExecuteCommandRequest](#ExecuteCommandRequest).
2647fd4e5da5Sopenharmony_ci */
2648fd4e5da5Sopenharmony_citype ExecuteCommandParams struct {
2649fd4e5da5Sopenharmony_ci
2650fd4e5da5Sopenharmony_ci	/*Command defined:
2651fd4e5da5Sopenharmony_ci	 * The identifier of the actual command handler.
2652fd4e5da5Sopenharmony_ci	 */
2653fd4e5da5Sopenharmony_ci	Command string `json:"command"`
2654fd4e5da5Sopenharmony_ci
2655fd4e5da5Sopenharmony_ci	/*Arguments defined:
2656fd4e5da5Sopenharmony_ci	 * Arguments that the command should be invoked with.
2657fd4e5da5Sopenharmony_ci	 */
2658fd4e5da5Sopenharmony_ci	Arguments []interface{} `json:"arguments,omitempty"`
2659fd4e5da5Sopenharmony_ci	WorkDoneProgressParams
2660fd4e5da5Sopenharmony_ci}
2661fd4e5da5Sopenharmony_ci
2662fd4e5da5Sopenharmony_ci/*ExecuteCommandOptions defined:
2663fd4e5da5Sopenharmony_ci * The server capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
2664fd4e5da5Sopenharmony_ci */
2665fd4e5da5Sopenharmony_citype ExecuteCommandOptions struct {
2666fd4e5da5Sopenharmony_ci
2667fd4e5da5Sopenharmony_ci	/*Commands defined:
2668fd4e5da5Sopenharmony_ci	 * The commands to be executed on the server
2669fd4e5da5Sopenharmony_ci	 */
2670fd4e5da5Sopenharmony_ci	Commands []string `json:"commands"`
2671fd4e5da5Sopenharmony_ci	WorkDoneProgressOptions
2672fd4e5da5Sopenharmony_ci}
2673fd4e5da5Sopenharmony_ci
2674fd4e5da5Sopenharmony_ci/*ExecuteCommandRegistrationOptions defined:
2675fd4e5da5Sopenharmony_ci * Registration options for a [ExecuteCommandRequest](#ExecuteCommandRequest).
2676fd4e5da5Sopenharmony_ci */
2677fd4e5da5Sopenharmony_citype ExecuteCommandRegistrationOptions struct {
2678fd4e5da5Sopenharmony_ci	ExecuteCommandOptions
2679fd4e5da5Sopenharmony_ci}
2680fd4e5da5Sopenharmony_ci
2681fd4e5da5Sopenharmony_ci// WorkspaceEditClientCapabilities is
2682fd4e5da5Sopenharmony_citype WorkspaceEditClientCapabilities struct {
2683fd4e5da5Sopenharmony_ci
2684fd4e5da5Sopenharmony_ci	/*DocumentChanges defined:
2685fd4e5da5Sopenharmony_ci	 * The client supports versioned document changes in `WorkspaceEdit`s
2686fd4e5da5Sopenharmony_ci	 */
2687fd4e5da5Sopenharmony_ci	DocumentChanges bool `json:"documentChanges,omitempty"`
2688fd4e5da5Sopenharmony_ci
2689fd4e5da5Sopenharmony_ci	/*ResourceOperations defined:
2690fd4e5da5Sopenharmony_ci	 * The resource operations the client supports. Clients should at least
2691fd4e5da5Sopenharmony_ci	 * support 'create', 'rename' and 'delete' files and folders.
2692fd4e5da5Sopenharmony_ci	 *
2693fd4e5da5Sopenharmony_ci	 * @since 3.13.0
2694fd4e5da5Sopenharmony_ci	 */
2695fd4e5da5Sopenharmony_ci	ResourceOperations []ResourceOperationKind `json:"resourceOperations,omitempty"`
2696fd4e5da5Sopenharmony_ci
2697fd4e5da5Sopenharmony_ci	/*FailureHandling defined:
2698fd4e5da5Sopenharmony_ci	 * The failure handling strategy of a client if applying the workspace edit
2699fd4e5da5Sopenharmony_ci	 * fails.
2700fd4e5da5Sopenharmony_ci	 *
2701fd4e5da5Sopenharmony_ci	 * @since 3.13.0
2702fd4e5da5Sopenharmony_ci	 */
2703fd4e5da5Sopenharmony_ci	FailureHandling FailureHandlingKind `json:"failureHandling,omitempty"`
2704fd4e5da5Sopenharmony_ci}
2705fd4e5da5Sopenharmony_ci
2706fd4e5da5Sopenharmony_ci/*ApplyWorkspaceEditParams defined:
2707fd4e5da5Sopenharmony_ci * The parameters passed via a apply workspace edit request.
2708fd4e5da5Sopenharmony_ci */
2709fd4e5da5Sopenharmony_citype ApplyWorkspaceEditParams struct {
2710fd4e5da5Sopenharmony_ci
2711fd4e5da5Sopenharmony_ci	/*Label defined:
2712fd4e5da5Sopenharmony_ci	 * An optional label of the workspace edit. This label is
2713fd4e5da5Sopenharmony_ci	 * presented in the user interface for example on an undo
2714fd4e5da5Sopenharmony_ci	 * stack to undo the workspace edit.
2715fd4e5da5Sopenharmony_ci	 */
2716fd4e5da5Sopenharmony_ci	Label string `json:"label,omitempty"`
2717fd4e5da5Sopenharmony_ci
2718fd4e5da5Sopenharmony_ci	/*Edit defined:
2719fd4e5da5Sopenharmony_ci	 * The edits to apply.
2720fd4e5da5Sopenharmony_ci	 */
2721fd4e5da5Sopenharmony_ci	Edit WorkspaceEdit `json:"edit"`
2722fd4e5da5Sopenharmony_ci}
2723fd4e5da5Sopenharmony_ci
2724fd4e5da5Sopenharmony_ci/*ApplyWorkspaceEditResponse defined:
2725fd4e5da5Sopenharmony_ci * A response returned from the apply workspace edit request.
2726fd4e5da5Sopenharmony_ci */
2727fd4e5da5Sopenharmony_citype ApplyWorkspaceEditResponse struct {
2728fd4e5da5Sopenharmony_ci
2729fd4e5da5Sopenharmony_ci	/*Applied defined:
2730fd4e5da5Sopenharmony_ci	 * Indicates whether the edit was applied or not.
2731fd4e5da5Sopenharmony_ci	 */
2732fd4e5da5Sopenharmony_ci	Applied bool `json:"applied"`
2733fd4e5da5Sopenharmony_ci
2734fd4e5da5Sopenharmony_ci	/*FailureReason defined:
2735fd4e5da5Sopenharmony_ci	 * An optional textual description for why the edit was not applied.
2736fd4e5da5Sopenharmony_ci	 * This may be used by the server for diagnostic logging or to provide
2737fd4e5da5Sopenharmony_ci	 * a suitable error for a request that triggered the edit.
2738fd4e5da5Sopenharmony_ci	 */
2739fd4e5da5Sopenharmony_ci	FailureReason string `json:"failureReason,omitempty"`
2740fd4e5da5Sopenharmony_ci
2741fd4e5da5Sopenharmony_ci	/*FailedChange defined:
2742fd4e5da5Sopenharmony_ci	 * Depending on the client's failure handling strategy `failedChange` might
2743fd4e5da5Sopenharmony_ci	 * contain the index of the change that failed. This property is only available
2744fd4e5da5Sopenharmony_ci	 * if the client signals a `failureHandlingStrategy` in its client capabilities.
2745fd4e5da5Sopenharmony_ci	 */
2746fd4e5da5Sopenharmony_ci	FailedChange float64 `json:"failedChange,omitempty"`
2747fd4e5da5Sopenharmony_ci}
2748fd4e5da5Sopenharmony_ci
2749fd4e5da5Sopenharmony_ci/*Position defined:
2750fd4e5da5Sopenharmony_ci * Position in a text document expressed as zero-based line and character offset.
2751fd4e5da5Sopenharmony_ci * The offsets are based on a UTF-16 string representation. So a string of the form
2752fd4e5da5Sopenharmony_ci * `a�b` the character offset of the character `a` is 0, the character offset of `�`
2753fd4e5da5Sopenharmony_ci * is 1 and the character offset of b is 3 since `�` is represented using two code
2754fd4e5da5Sopenharmony_ci * units in UTF-16.
2755fd4e5da5Sopenharmony_ci *
2756fd4e5da5Sopenharmony_ci * Positions are line end character agnostic. So you can not specify a position that
2757fd4e5da5Sopenharmony_ci * denotes `\r|\n` or `\n|` where `|` represents the character offset.
2758fd4e5da5Sopenharmony_ci */
2759fd4e5da5Sopenharmony_citype Position struct {
2760fd4e5da5Sopenharmony_ci
2761fd4e5da5Sopenharmony_ci	/*Line defined:
2762fd4e5da5Sopenharmony_ci	 * Line position in a document (zero-based).
2763fd4e5da5Sopenharmony_ci	 * If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
2764fd4e5da5Sopenharmony_ci	 * If a line number is negative, it defaults to 0.
2765fd4e5da5Sopenharmony_ci	 */
2766fd4e5da5Sopenharmony_ci	Line float64 `json:"line"`
2767fd4e5da5Sopenharmony_ci
2768fd4e5da5Sopenharmony_ci	/*Character defined:
2769fd4e5da5Sopenharmony_ci	 * Character offset on a line in a document (zero-based). Assuming that the line is
2770fd4e5da5Sopenharmony_ci	 * represented as a string, the `character` value represents the gap between the
2771fd4e5da5Sopenharmony_ci	 * `character` and `character + 1`.
2772fd4e5da5Sopenharmony_ci	 *
2773fd4e5da5Sopenharmony_ci	 * If the character value is greater than the line length it defaults back to the
2774fd4e5da5Sopenharmony_ci	 * line length.
2775fd4e5da5Sopenharmony_ci	 * If a line number is negative, it defaults to 0.
2776fd4e5da5Sopenharmony_ci	 */
2777fd4e5da5Sopenharmony_ci	Character float64 `json:"character"`
2778fd4e5da5Sopenharmony_ci}
2779fd4e5da5Sopenharmony_ci
2780fd4e5da5Sopenharmony_ci/*Range defined:
2781fd4e5da5Sopenharmony_ci * A range in a text document expressed as (zero-based) start and end positions.
2782fd4e5da5Sopenharmony_ci *
2783fd4e5da5Sopenharmony_ci * If you want to specify a range that contains a line including the line ending
2784fd4e5da5Sopenharmony_ci * character(s) then use an end position denoting the start of the next line.
2785fd4e5da5Sopenharmony_ci * For example:
2786fd4e5da5Sopenharmony_ci * ```ts
2787fd4e5da5Sopenharmony_ci * {
2788fd4e5da5Sopenharmony_ci *     start: { line: 5, character: 23 }
2789fd4e5da5Sopenharmony_ci *     end : { line 6, character : 0 }
2790fd4e5da5Sopenharmony_ci * }
2791fd4e5da5Sopenharmony_ci * ```
2792fd4e5da5Sopenharmony_ci */
2793fd4e5da5Sopenharmony_citype Range struct {
2794fd4e5da5Sopenharmony_ci
2795fd4e5da5Sopenharmony_ci	/*Start defined:
2796fd4e5da5Sopenharmony_ci	 * The range's start position
2797fd4e5da5Sopenharmony_ci	 */
2798fd4e5da5Sopenharmony_ci	Start Position `json:"start"`
2799fd4e5da5Sopenharmony_ci
2800fd4e5da5Sopenharmony_ci	/*End defined:
2801fd4e5da5Sopenharmony_ci	 * The range's end position.
2802fd4e5da5Sopenharmony_ci	 */
2803fd4e5da5Sopenharmony_ci	End Position `json:"end"`
2804fd4e5da5Sopenharmony_ci}
2805fd4e5da5Sopenharmony_ci
2806fd4e5da5Sopenharmony_ci/*Location defined:
2807fd4e5da5Sopenharmony_ci * Represents a location inside a resource, such as a line
2808fd4e5da5Sopenharmony_ci * inside a text file.
2809fd4e5da5Sopenharmony_ci */
2810fd4e5da5Sopenharmony_citype Location struct {
2811fd4e5da5Sopenharmony_ci
2812fd4e5da5Sopenharmony_ci	// URI is
2813fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
2814fd4e5da5Sopenharmony_ci
2815fd4e5da5Sopenharmony_ci	// Range is
2816fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
2817fd4e5da5Sopenharmony_ci}
2818fd4e5da5Sopenharmony_ci
2819fd4e5da5Sopenharmony_ci/*LocationLink defined:
2820fd4e5da5Sopenharmony_ci * Represents the connection of two locations. Provides additional metadata over normal [locations](#Location),
2821fd4e5da5Sopenharmony_ci * including an origin range.
2822fd4e5da5Sopenharmony_ci */
2823fd4e5da5Sopenharmony_citype LocationLink struct {
2824fd4e5da5Sopenharmony_ci
2825fd4e5da5Sopenharmony_ci	/*OriginSelectionRange defined:
2826fd4e5da5Sopenharmony_ci	 * Span of the origin of this link.
2827fd4e5da5Sopenharmony_ci	 *
2828fd4e5da5Sopenharmony_ci	 * Used as the underlined span for mouse definition hover. Defaults to the word range at
2829fd4e5da5Sopenharmony_ci	 * the definition position.
2830fd4e5da5Sopenharmony_ci	 */
2831fd4e5da5Sopenharmony_ci	OriginSelectionRange *Range `json:"originSelectionRange,omitempty"`
2832fd4e5da5Sopenharmony_ci
2833fd4e5da5Sopenharmony_ci	/*TargetURI defined:
2834fd4e5da5Sopenharmony_ci	 * The target resource identifier of this link.
2835fd4e5da5Sopenharmony_ci	 */
2836fd4e5da5Sopenharmony_ci	TargetURI DocumentURI `json:"targetUri"`
2837fd4e5da5Sopenharmony_ci
2838fd4e5da5Sopenharmony_ci	/*TargetRange defined:
2839fd4e5da5Sopenharmony_ci	 * The full target range of this link. If the target for example is a symbol then target range is the
2840fd4e5da5Sopenharmony_ci	 * range enclosing this symbol not including leading/trailing whitespace but everything else
2841fd4e5da5Sopenharmony_ci	 * like comments. This information is typically used to highlight the range in the editor.
2842fd4e5da5Sopenharmony_ci	 */
2843fd4e5da5Sopenharmony_ci	TargetRange Range `json:"targetRange"`
2844fd4e5da5Sopenharmony_ci
2845fd4e5da5Sopenharmony_ci	/*TargetSelectionRange defined:
2846fd4e5da5Sopenharmony_ci	 * The range that should be selected and revealed when this link is being followed, e.g the name of a function.
2847fd4e5da5Sopenharmony_ci	 * Must be contained by the `targetRange`. See also `DocumentSymbol#range`
2848fd4e5da5Sopenharmony_ci	 */
2849fd4e5da5Sopenharmony_ci	TargetSelectionRange Range `json:"targetSelectionRange"`
2850fd4e5da5Sopenharmony_ci}
2851fd4e5da5Sopenharmony_ci
2852fd4e5da5Sopenharmony_ci/*Color defined:
2853fd4e5da5Sopenharmony_ci * Represents a color in RGBA space.
2854fd4e5da5Sopenharmony_ci */
2855fd4e5da5Sopenharmony_citype Color struct {
2856fd4e5da5Sopenharmony_ci
2857fd4e5da5Sopenharmony_ci	/*Red defined:
2858fd4e5da5Sopenharmony_ci	 * The red component of this color in the range [0-1].
2859fd4e5da5Sopenharmony_ci	 */
2860fd4e5da5Sopenharmony_ci	Red float64 `json:"red"`
2861fd4e5da5Sopenharmony_ci
2862fd4e5da5Sopenharmony_ci	/*Green defined:
2863fd4e5da5Sopenharmony_ci	 * The green component of this color in the range [0-1].
2864fd4e5da5Sopenharmony_ci	 */
2865fd4e5da5Sopenharmony_ci	Green float64 `json:"green"`
2866fd4e5da5Sopenharmony_ci
2867fd4e5da5Sopenharmony_ci	/*Blue defined:
2868fd4e5da5Sopenharmony_ci	 * The blue component of this color in the range [0-1].
2869fd4e5da5Sopenharmony_ci	 */
2870fd4e5da5Sopenharmony_ci	Blue float64 `json:"blue"`
2871fd4e5da5Sopenharmony_ci
2872fd4e5da5Sopenharmony_ci	/*Alpha defined:
2873fd4e5da5Sopenharmony_ci	 * The alpha component of this color in the range [0-1].
2874fd4e5da5Sopenharmony_ci	 */
2875fd4e5da5Sopenharmony_ci	Alpha float64 `json:"alpha"`
2876fd4e5da5Sopenharmony_ci}
2877fd4e5da5Sopenharmony_ci
2878fd4e5da5Sopenharmony_ci/*ColorInformation defined:
2879fd4e5da5Sopenharmony_ci * Represents a color range from a document.
2880fd4e5da5Sopenharmony_ci */
2881fd4e5da5Sopenharmony_citype ColorInformation struct {
2882fd4e5da5Sopenharmony_ci
2883fd4e5da5Sopenharmony_ci	/*Range defined:
2884fd4e5da5Sopenharmony_ci	 * The range in the document where this color appears.
2885fd4e5da5Sopenharmony_ci	 */
2886fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
2887fd4e5da5Sopenharmony_ci
2888fd4e5da5Sopenharmony_ci	/*Color defined:
2889fd4e5da5Sopenharmony_ci	 * The actual color value for this color range.
2890fd4e5da5Sopenharmony_ci	 */
2891fd4e5da5Sopenharmony_ci	Color Color `json:"color"`
2892fd4e5da5Sopenharmony_ci}
2893fd4e5da5Sopenharmony_ci
2894fd4e5da5Sopenharmony_ci// ColorPresentation is
2895fd4e5da5Sopenharmony_citype ColorPresentation struct {
2896fd4e5da5Sopenharmony_ci
2897fd4e5da5Sopenharmony_ci	/*Label defined:
2898fd4e5da5Sopenharmony_ci	 * The label of this color presentation. It will be shown on the color
2899fd4e5da5Sopenharmony_ci	 * picker header. By default this is also the text that is inserted when selecting
2900fd4e5da5Sopenharmony_ci	 * this color presentation.
2901fd4e5da5Sopenharmony_ci	 */
2902fd4e5da5Sopenharmony_ci	Label string `json:"label"`
2903fd4e5da5Sopenharmony_ci
2904fd4e5da5Sopenharmony_ci	/*TextEdit defined:
2905fd4e5da5Sopenharmony_ci	 * An [edit](#TextEdit) which is applied to a document when selecting
2906fd4e5da5Sopenharmony_ci	 * this presentation for the color.  When `falsy` the [label](#ColorPresentation.label)
2907fd4e5da5Sopenharmony_ci	 * is used.
2908fd4e5da5Sopenharmony_ci	 */
2909fd4e5da5Sopenharmony_ci	TextEdit *TextEdit `json:"textEdit,omitempty"`
2910fd4e5da5Sopenharmony_ci
2911fd4e5da5Sopenharmony_ci	/*AdditionalTextEdits defined:
2912fd4e5da5Sopenharmony_ci	 * An optional array of additional [text edits](#TextEdit) that are applied when
2913fd4e5da5Sopenharmony_ci	 * selecting this color presentation. Edits must not overlap with the main [edit](#ColorPresentation.textEdit) nor with themselves.
2914fd4e5da5Sopenharmony_ci	 */
2915fd4e5da5Sopenharmony_ci	AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
2916fd4e5da5Sopenharmony_ci}
2917fd4e5da5Sopenharmony_ci
2918fd4e5da5Sopenharmony_ci/*DiagnosticRelatedInformation defined:
2919fd4e5da5Sopenharmony_ci * Represents a related message and source code location for a diagnostic. This should be
2920fd4e5da5Sopenharmony_ci * used to point to code locations that cause or related to a diagnostics, e.g when duplicating
2921fd4e5da5Sopenharmony_ci * a symbol in a scope.
2922fd4e5da5Sopenharmony_ci */
2923fd4e5da5Sopenharmony_citype DiagnosticRelatedInformation struct {
2924fd4e5da5Sopenharmony_ci
2925fd4e5da5Sopenharmony_ci	/*Location defined:
2926fd4e5da5Sopenharmony_ci	 * The location of this related diagnostic information.
2927fd4e5da5Sopenharmony_ci	 */
2928fd4e5da5Sopenharmony_ci	Location Location `json:"location"`
2929fd4e5da5Sopenharmony_ci
2930fd4e5da5Sopenharmony_ci	/*Message defined:
2931fd4e5da5Sopenharmony_ci	 * The message of this related diagnostic information.
2932fd4e5da5Sopenharmony_ci	 */
2933fd4e5da5Sopenharmony_ci	Message string `json:"message"`
2934fd4e5da5Sopenharmony_ci}
2935fd4e5da5Sopenharmony_ci
2936fd4e5da5Sopenharmony_ci/*Diagnostic defined:
2937fd4e5da5Sopenharmony_ci * Represents a diagnostic, such as a compiler error or warning. Diagnostic objects
2938fd4e5da5Sopenharmony_ci * are only valid in the scope of a resource.
2939fd4e5da5Sopenharmony_ci */
2940fd4e5da5Sopenharmony_citype Diagnostic struct {
2941fd4e5da5Sopenharmony_ci
2942fd4e5da5Sopenharmony_ci	/*Range defined:
2943fd4e5da5Sopenharmony_ci	 * The range at which the message applies
2944fd4e5da5Sopenharmony_ci	 */
2945fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
2946fd4e5da5Sopenharmony_ci
2947fd4e5da5Sopenharmony_ci	/*Severity defined:
2948fd4e5da5Sopenharmony_ci	 * The diagnostic's severity. Can be omitted. If omitted it is up to the
2949fd4e5da5Sopenharmony_ci	 * client to interpret diagnostics as error, warning, info or hint.
2950fd4e5da5Sopenharmony_ci	 */
2951fd4e5da5Sopenharmony_ci	Severity DiagnosticSeverity `json:"severity,omitempty"`
2952fd4e5da5Sopenharmony_ci
2953fd4e5da5Sopenharmony_ci	/*Code defined:
2954fd4e5da5Sopenharmony_ci	 * The diagnostic's code, which usually appear in the user interface.
2955fd4e5da5Sopenharmony_ci	 */
2956fd4e5da5Sopenharmony_ci	Code interface{} `json:"code,omitempty"` // number | string
2957fd4e5da5Sopenharmony_ci
2958fd4e5da5Sopenharmony_ci	/*Source defined:
2959fd4e5da5Sopenharmony_ci	 * A human-readable string describing the source of this
2960fd4e5da5Sopenharmony_ci	 * diagnostic, e.g. 'typescript' or 'super lint'. It usually
2961fd4e5da5Sopenharmony_ci	 * appears in the user interface.
2962fd4e5da5Sopenharmony_ci	 */
2963fd4e5da5Sopenharmony_ci	Source string `json:"source,omitempty"`
2964fd4e5da5Sopenharmony_ci
2965fd4e5da5Sopenharmony_ci	/*Message defined:
2966fd4e5da5Sopenharmony_ci	 * The diagnostic's message. It usually appears in the user interface
2967fd4e5da5Sopenharmony_ci	 */
2968fd4e5da5Sopenharmony_ci	Message string `json:"message"`
2969fd4e5da5Sopenharmony_ci
2970fd4e5da5Sopenharmony_ci	/*Tags defined:
2971fd4e5da5Sopenharmony_ci	 * Additional metadata about the diagnostic.
2972fd4e5da5Sopenharmony_ci	 */
2973fd4e5da5Sopenharmony_ci	Tags []DiagnosticTag `json:"tags,omitempty"`
2974fd4e5da5Sopenharmony_ci
2975fd4e5da5Sopenharmony_ci	/*RelatedInformation defined:
2976fd4e5da5Sopenharmony_ci	 * An array of related diagnostic information, e.g. when symbol-names within
2977fd4e5da5Sopenharmony_ci	 * a scope collide all definitions can be marked via this property.
2978fd4e5da5Sopenharmony_ci	 */
2979fd4e5da5Sopenharmony_ci	RelatedInformation []DiagnosticRelatedInformation `json:"relatedInformation,omitempty"`
2980fd4e5da5Sopenharmony_ci}
2981fd4e5da5Sopenharmony_ci
2982fd4e5da5Sopenharmony_ci/*Command defined:
2983fd4e5da5Sopenharmony_ci * Represents a reference to a command. Provides a title which
2984fd4e5da5Sopenharmony_ci * will be used to represent a command in the UI and, optionally,
2985fd4e5da5Sopenharmony_ci * an array of arguments which will be passed to the command handler
2986fd4e5da5Sopenharmony_ci * function when invoked.
2987fd4e5da5Sopenharmony_ci */
2988fd4e5da5Sopenharmony_citype Command struct {
2989fd4e5da5Sopenharmony_ci
2990fd4e5da5Sopenharmony_ci	/*Title defined:
2991fd4e5da5Sopenharmony_ci	 * Title of the command, like `save`.
2992fd4e5da5Sopenharmony_ci	 */
2993fd4e5da5Sopenharmony_ci	Title string `json:"title"`
2994fd4e5da5Sopenharmony_ci
2995fd4e5da5Sopenharmony_ci	/*Command defined:
2996fd4e5da5Sopenharmony_ci	 * The identifier of the actual command handler.
2997fd4e5da5Sopenharmony_ci	 */
2998fd4e5da5Sopenharmony_ci	Command string `json:"command"`
2999fd4e5da5Sopenharmony_ci
3000fd4e5da5Sopenharmony_ci	/*Arguments defined:
3001fd4e5da5Sopenharmony_ci	 * Arguments that the command handler should be
3002fd4e5da5Sopenharmony_ci	 * invoked with.
3003fd4e5da5Sopenharmony_ci	 */
3004fd4e5da5Sopenharmony_ci	Arguments []interface{} `json:"arguments,omitempty"`
3005fd4e5da5Sopenharmony_ci}
3006fd4e5da5Sopenharmony_ci
3007fd4e5da5Sopenharmony_ci/*TextEdit defined:
3008fd4e5da5Sopenharmony_ci * A text edit applicable to a text document.
3009fd4e5da5Sopenharmony_ci */
3010fd4e5da5Sopenharmony_citype TextEdit struct {
3011fd4e5da5Sopenharmony_ci
3012fd4e5da5Sopenharmony_ci	/*Range defined:
3013fd4e5da5Sopenharmony_ci	 * The range of the text document to be manipulated. To insert
3014fd4e5da5Sopenharmony_ci	 * text into a document create a range where start === end.
3015fd4e5da5Sopenharmony_ci	 */
3016fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
3017fd4e5da5Sopenharmony_ci
3018fd4e5da5Sopenharmony_ci	/*NewText defined:
3019fd4e5da5Sopenharmony_ci	 * The string to be inserted. For delete operations use an
3020fd4e5da5Sopenharmony_ci	 * empty string.
3021fd4e5da5Sopenharmony_ci	 */
3022fd4e5da5Sopenharmony_ci	NewText string `json:"newText"`
3023fd4e5da5Sopenharmony_ci}
3024fd4e5da5Sopenharmony_ci
3025fd4e5da5Sopenharmony_ci/*TextDocumentEdit defined:
3026fd4e5da5Sopenharmony_ci * Describes textual changes on a text document.
3027fd4e5da5Sopenharmony_ci */
3028fd4e5da5Sopenharmony_citype TextDocumentEdit struct {
3029fd4e5da5Sopenharmony_ci
3030fd4e5da5Sopenharmony_ci	/*TextDocument defined:
3031fd4e5da5Sopenharmony_ci	 * The text document to change.
3032fd4e5da5Sopenharmony_ci	 */
3033fd4e5da5Sopenharmony_ci	TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
3034fd4e5da5Sopenharmony_ci
3035fd4e5da5Sopenharmony_ci	/*Edits defined:
3036fd4e5da5Sopenharmony_ci	 * The edits to be applied.
3037fd4e5da5Sopenharmony_ci	 */
3038fd4e5da5Sopenharmony_ci	Edits []TextEdit `json:"edits"`
3039fd4e5da5Sopenharmony_ci}
3040fd4e5da5Sopenharmony_ci
3041fd4e5da5Sopenharmony_ci// ResourceOperation is
3042fd4e5da5Sopenharmony_citype ResourceOperation struct {
3043fd4e5da5Sopenharmony_ci
3044fd4e5da5Sopenharmony_ci	// Kind is
3045fd4e5da5Sopenharmony_ci	Kind string `json:"kind"`
3046fd4e5da5Sopenharmony_ci}
3047fd4e5da5Sopenharmony_ci
3048fd4e5da5Sopenharmony_ci/*CreateFileOptions defined:
3049fd4e5da5Sopenharmony_ci * Options to create a file.
3050fd4e5da5Sopenharmony_ci */
3051fd4e5da5Sopenharmony_citype CreateFileOptions struct {
3052fd4e5da5Sopenharmony_ci
3053fd4e5da5Sopenharmony_ci	/*Overwrite defined:
3054fd4e5da5Sopenharmony_ci	 * Overwrite existing file. Overwrite wins over `ignoreIfExists`
3055fd4e5da5Sopenharmony_ci	 */
3056fd4e5da5Sopenharmony_ci	Overwrite bool `json:"overwrite,omitempty"`
3057fd4e5da5Sopenharmony_ci
3058fd4e5da5Sopenharmony_ci	/*IgnoreIfExists defined:
3059fd4e5da5Sopenharmony_ci	 * Ignore if exists.
3060fd4e5da5Sopenharmony_ci	 */
3061fd4e5da5Sopenharmony_ci	IgnoreIfExists bool `json:"ignoreIfExists,omitempty"`
3062fd4e5da5Sopenharmony_ci}
3063fd4e5da5Sopenharmony_ci
3064fd4e5da5Sopenharmony_ci/*CreateFile defined:
3065fd4e5da5Sopenharmony_ci * Create file operation.
3066fd4e5da5Sopenharmony_ci */
3067fd4e5da5Sopenharmony_citype CreateFile struct {
3068fd4e5da5Sopenharmony_ci
3069fd4e5da5Sopenharmony_ci	/*Kind defined:
3070fd4e5da5Sopenharmony_ci	 * A create
3071fd4e5da5Sopenharmony_ci	 */
3072fd4e5da5Sopenharmony_ci	Kind string `json:"kind"` // 'create'
3073fd4e5da5Sopenharmony_ci
3074fd4e5da5Sopenharmony_ci	/*URI defined:
3075fd4e5da5Sopenharmony_ci	 * The resource to create.
3076fd4e5da5Sopenharmony_ci	 */
3077fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
3078fd4e5da5Sopenharmony_ci
3079fd4e5da5Sopenharmony_ci	/*Options defined:
3080fd4e5da5Sopenharmony_ci	 * Additional options
3081fd4e5da5Sopenharmony_ci	 */
3082fd4e5da5Sopenharmony_ci	Options *CreateFileOptions `json:"options,omitempty"`
3083fd4e5da5Sopenharmony_ci}
3084fd4e5da5Sopenharmony_ci
3085fd4e5da5Sopenharmony_ci/*RenameFileOptions defined:
3086fd4e5da5Sopenharmony_ci * Rename file options
3087fd4e5da5Sopenharmony_ci */
3088fd4e5da5Sopenharmony_citype RenameFileOptions struct {
3089fd4e5da5Sopenharmony_ci
3090fd4e5da5Sopenharmony_ci	/*Overwrite defined:
3091fd4e5da5Sopenharmony_ci	 * Overwrite target if existing. Overwrite wins over `ignoreIfExists`
3092fd4e5da5Sopenharmony_ci	 */
3093fd4e5da5Sopenharmony_ci	Overwrite bool `json:"overwrite,omitempty"`
3094fd4e5da5Sopenharmony_ci
3095fd4e5da5Sopenharmony_ci	/*IgnoreIfExists defined:
3096fd4e5da5Sopenharmony_ci	 * Ignores if target exists.
3097fd4e5da5Sopenharmony_ci	 */
3098fd4e5da5Sopenharmony_ci	IgnoreIfExists bool `json:"ignoreIfExists,omitempty"`
3099fd4e5da5Sopenharmony_ci}
3100fd4e5da5Sopenharmony_ci
3101fd4e5da5Sopenharmony_ci/*RenameFile defined:
3102fd4e5da5Sopenharmony_ci * Rename file operation
3103fd4e5da5Sopenharmony_ci */
3104fd4e5da5Sopenharmony_citype RenameFile struct {
3105fd4e5da5Sopenharmony_ci
3106fd4e5da5Sopenharmony_ci	/*Kind defined:
3107fd4e5da5Sopenharmony_ci	 * A rename
3108fd4e5da5Sopenharmony_ci	 */
3109fd4e5da5Sopenharmony_ci	Kind string `json:"kind"` // 'rename'
3110fd4e5da5Sopenharmony_ci
3111fd4e5da5Sopenharmony_ci	/*OldURI defined:
3112fd4e5da5Sopenharmony_ci	 * The old (existing) location.
3113fd4e5da5Sopenharmony_ci	 */
3114fd4e5da5Sopenharmony_ci	OldURI DocumentURI `json:"oldUri"`
3115fd4e5da5Sopenharmony_ci
3116fd4e5da5Sopenharmony_ci	/*NewURI defined:
3117fd4e5da5Sopenharmony_ci	 * The new location.
3118fd4e5da5Sopenharmony_ci	 */
3119fd4e5da5Sopenharmony_ci	NewURI DocumentURI `json:"newUri"`
3120fd4e5da5Sopenharmony_ci
3121fd4e5da5Sopenharmony_ci	/*Options defined:
3122fd4e5da5Sopenharmony_ci	 * Rename options.
3123fd4e5da5Sopenharmony_ci	 */
3124fd4e5da5Sopenharmony_ci	Options *RenameFileOptions `json:"options,omitempty"`
3125fd4e5da5Sopenharmony_ci}
3126fd4e5da5Sopenharmony_ci
3127fd4e5da5Sopenharmony_ci/*DeleteFileOptions defined:
3128fd4e5da5Sopenharmony_ci * Delete file options
3129fd4e5da5Sopenharmony_ci */
3130fd4e5da5Sopenharmony_citype DeleteFileOptions struct {
3131fd4e5da5Sopenharmony_ci
3132fd4e5da5Sopenharmony_ci	/*Recursive defined:
3133fd4e5da5Sopenharmony_ci	 * Delete the content recursively if a folder is denoted.
3134fd4e5da5Sopenharmony_ci	 */
3135fd4e5da5Sopenharmony_ci	Recursive bool `json:"recursive,omitempty"`
3136fd4e5da5Sopenharmony_ci
3137fd4e5da5Sopenharmony_ci	/*IgnoreIfNotExists defined:
3138fd4e5da5Sopenharmony_ci	 * Ignore the operation if the file doesn't exist.
3139fd4e5da5Sopenharmony_ci	 */
3140fd4e5da5Sopenharmony_ci	IgnoreIfNotExists bool `json:"ignoreIfNotExists,omitempty"`
3141fd4e5da5Sopenharmony_ci}
3142fd4e5da5Sopenharmony_ci
3143fd4e5da5Sopenharmony_ci/*DeleteFile defined:
3144fd4e5da5Sopenharmony_ci * Delete file operation
3145fd4e5da5Sopenharmony_ci */
3146fd4e5da5Sopenharmony_citype DeleteFile struct {
3147fd4e5da5Sopenharmony_ci
3148fd4e5da5Sopenharmony_ci	/*Kind defined:
3149fd4e5da5Sopenharmony_ci	 * A delete
3150fd4e5da5Sopenharmony_ci	 */
3151fd4e5da5Sopenharmony_ci	Kind string `json:"kind"` // 'delete'
3152fd4e5da5Sopenharmony_ci
3153fd4e5da5Sopenharmony_ci	/*URI defined:
3154fd4e5da5Sopenharmony_ci	 * The file to delete.
3155fd4e5da5Sopenharmony_ci	 */
3156fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
3157fd4e5da5Sopenharmony_ci
3158fd4e5da5Sopenharmony_ci	/*Options defined:
3159fd4e5da5Sopenharmony_ci	 * Delete options.
3160fd4e5da5Sopenharmony_ci	 */
3161fd4e5da5Sopenharmony_ci	Options *DeleteFileOptions `json:"options,omitempty"`
3162fd4e5da5Sopenharmony_ci}
3163fd4e5da5Sopenharmony_ci
3164fd4e5da5Sopenharmony_ci/*WorkspaceEdit defined:
3165fd4e5da5Sopenharmony_ci * A workspace edit represents changes to many resources managed in the workspace. The edit
3166fd4e5da5Sopenharmony_ci * should either provide `changes` or `documentChanges`. If documentChanges are present
3167fd4e5da5Sopenharmony_ci * they are preferred over `changes` if the client can handle versioned document edits.
3168fd4e5da5Sopenharmony_ci */
3169fd4e5da5Sopenharmony_citype WorkspaceEdit struct {
3170fd4e5da5Sopenharmony_ci
3171fd4e5da5Sopenharmony_ci	/*Changes defined:
3172fd4e5da5Sopenharmony_ci	 * Holds changes to existing resources.
3173fd4e5da5Sopenharmony_ci	 */
3174fd4e5da5Sopenharmony_ci	Changes *map[string][]TextEdit `json:"changes,omitempty"` // [uri: string]: TextEdit[];
3175fd4e5da5Sopenharmony_ci
3176fd4e5da5Sopenharmony_ci	/*DocumentChanges defined:
3177fd4e5da5Sopenharmony_ci	 * Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
3178fd4e5da5Sopenharmony_ci	 * are either an array of `TextDocumentEdit`s to express changes to n different text documents
3179fd4e5da5Sopenharmony_ci	 * where each text document edit addresses a specific version of a text document. Or it can contain
3180fd4e5da5Sopenharmony_ci	 * above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.
3181fd4e5da5Sopenharmony_ci	 *
3182fd4e5da5Sopenharmony_ci	 * Whether a client supports versioned document edits is expressed via
3183fd4e5da5Sopenharmony_ci	 * `workspace.workspaceEdit.documentChanges` client capability.
3184fd4e5da5Sopenharmony_ci	 *
3185fd4e5da5Sopenharmony_ci	 * If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
3186fd4e5da5Sopenharmony_ci	 * only plain `TextEdit`s using the `changes` property are supported.
3187fd4e5da5Sopenharmony_ci	 */
3188fd4e5da5Sopenharmony_ci	DocumentChanges []TextDocumentEdit `json:"documentChanges,omitempty"` // (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)
3189fd4e5da5Sopenharmony_ci}
3190fd4e5da5Sopenharmony_ci
3191fd4e5da5Sopenharmony_ci/*TextEditChange defined:
3192fd4e5da5Sopenharmony_ci * A change to capture text edits for existing resources.
3193fd4e5da5Sopenharmony_ci */
3194fd4e5da5Sopenharmony_citype TextEditChange struct {
3195fd4e5da5Sopenharmony_ci}
3196fd4e5da5Sopenharmony_ci
3197fd4e5da5Sopenharmony_ci/*TextDocumentIdentifier defined:
3198fd4e5da5Sopenharmony_ci * A literal to identify a text document in the client.
3199fd4e5da5Sopenharmony_ci */
3200fd4e5da5Sopenharmony_citype TextDocumentIdentifier struct {
3201fd4e5da5Sopenharmony_ci
3202fd4e5da5Sopenharmony_ci	/*URI defined:
3203fd4e5da5Sopenharmony_ci	 * The text document's uri.
3204fd4e5da5Sopenharmony_ci	 */
3205fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
3206fd4e5da5Sopenharmony_ci}
3207fd4e5da5Sopenharmony_ci
3208fd4e5da5Sopenharmony_ci/*VersionedTextDocumentIdentifier defined:
3209fd4e5da5Sopenharmony_ci * An identifier to denote a specific version of a text document.
3210fd4e5da5Sopenharmony_ci */
3211fd4e5da5Sopenharmony_citype VersionedTextDocumentIdentifier struct {
3212fd4e5da5Sopenharmony_ci
3213fd4e5da5Sopenharmony_ci	/*Version defined:
3214fd4e5da5Sopenharmony_ci	 * The version number of this document. If a versioned text document identifier
3215fd4e5da5Sopenharmony_ci	 * is sent from the server to the client and the file is not open in the editor
3216fd4e5da5Sopenharmony_ci	 * (the server has not received an open notification before) the server can send
3217fd4e5da5Sopenharmony_ci	 * `null` to indicate that the version is unknown and the content on disk is the
3218fd4e5da5Sopenharmony_ci	 * truth (as speced with document content ownership).
3219fd4e5da5Sopenharmony_ci	 */
3220fd4e5da5Sopenharmony_ci	Version float64 `json:"version"`
3221fd4e5da5Sopenharmony_ci	TextDocumentIdentifier
3222fd4e5da5Sopenharmony_ci}
3223fd4e5da5Sopenharmony_ci
3224fd4e5da5Sopenharmony_ci/*TextDocumentItem defined:
3225fd4e5da5Sopenharmony_ci * An item to transfer a text document from the client to the
3226fd4e5da5Sopenharmony_ci * server.
3227fd4e5da5Sopenharmony_ci */
3228fd4e5da5Sopenharmony_citype TextDocumentItem struct {
3229fd4e5da5Sopenharmony_ci
3230fd4e5da5Sopenharmony_ci	/*URI defined:
3231fd4e5da5Sopenharmony_ci	 * The text document's uri.
3232fd4e5da5Sopenharmony_ci	 */
3233fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
3234fd4e5da5Sopenharmony_ci
3235fd4e5da5Sopenharmony_ci	/*LanguageID defined:
3236fd4e5da5Sopenharmony_ci	 * The text document's language identifier
3237fd4e5da5Sopenharmony_ci	 */
3238fd4e5da5Sopenharmony_ci	LanguageID string `json:"languageId"`
3239fd4e5da5Sopenharmony_ci
3240fd4e5da5Sopenharmony_ci	/*Version defined:
3241fd4e5da5Sopenharmony_ci	 * The version number of this document (it will increase after each
3242fd4e5da5Sopenharmony_ci	 * change, including undo/redo).
3243fd4e5da5Sopenharmony_ci	 */
3244fd4e5da5Sopenharmony_ci	Version float64 `json:"version"`
3245fd4e5da5Sopenharmony_ci
3246fd4e5da5Sopenharmony_ci	/*Text defined:
3247fd4e5da5Sopenharmony_ci	 * The content of the opened text document.
3248fd4e5da5Sopenharmony_ci	 */
3249fd4e5da5Sopenharmony_ci	Text string `json:"text"`
3250fd4e5da5Sopenharmony_ci}
3251fd4e5da5Sopenharmony_ci
3252fd4e5da5Sopenharmony_ci/*MarkupContent defined:
3253fd4e5da5Sopenharmony_ci * A `MarkupContent` literal represents a string value which content is interpreted base on its
3254fd4e5da5Sopenharmony_ci * kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds.
3255fd4e5da5Sopenharmony_ci *
3256fd4e5da5Sopenharmony_ci * If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues.
3257fd4e5da5Sopenharmony_ci * See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
3258fd4e5da5Sopenharmony_ci *
3259fd4e5da5Sopenharmony_ci * Here is an example how such a string can be constructed using JavaScript / TypeScript:
3260fd4e5da5Sopenharmony_ci * ```ts
3261fd4e5da5Sopenharmony_ci * let markdown: MarkdownContent = {
3262fd4e5da5Sopenharmony_ci *  kind: MarkupKind.Markdown,
3263fd4e5da5Sopenharmony_ci *	value: [
3264fd4e5da5Sopenharmony_ci *		'# Header',
3265fd4e5da5Sopenharmony_ci *		'Some text',
3266fd4e5da5Sopenharmony_ci *		'```typescript',
3267fd4e5da5Sopenharmony_ci *		'someCode();',
3268fd4e5da5Sopenharmony_ci *		'```'
3269fd4e5da5Sopenharmony_ci *	].join('\n')
3270fd4e5da5Sopenharmony_ci * };
3271fd4e5da5Sopenharmony_ci * ```
3272fd4e5da5Sopenharmony_ci *
3273fd4e5da5Sopenharmony_ci * *Please Note* that clients might sanitize the return markdown. A client could decide to
3274fd4e5da5Sopenharmony_ci * remove HTML from the markdown to avoid script execution.
3275fd4e5da5Sopenharmony_ci */
3276fd4e5da5Sopenharmony_citype MarkupContent struct {
3277fd4e5da5Sopenharmony_ci
3278fd4e5da5Sopenharmony_ci	/*Kind defined:
3279fd4e5da5Sopenharmony_ci	 * The type of the Markup
3280fd4e5da5Sopenharmony_ci	 */
3281fd4e5da5Sopenharmony_ci	Kind MarkupKind `json:"kind"`
3282fd4e5da5Sopenharmony_ci
3283fd4e5da5Sopenharmony_ci	/*Value defined:
3284fd4e5da5Sopenharmony_ci	 * The content itself
3285fd4e5da5Sopenharmony_ci	 */
3286fd4e5da5Sopenharmony_ci	Value string `json:"value"`
3287fd4e5da5Sopenharmony_ci}
3288fd4e5da5Sopenharmony_ci
3289fd4e5da5Sopenharmony_ci/*CompletionItem defined:
3290fd4e5da5Sopenharmony_ci * A completion item represents a text snippet that is
3291fd4e5da5Sopenharmony_ci * proposed to complete text that is being typed.
3292fd4e5da5Sopenharmony_ci */
3293fd4e5da5Sopenharmony_citype CompletionItem struct {
3294fd4e5da5Sopenharmony_ci
3295fd4e5da5Sopenharmony_ci	/*Label defined:
3296fd4e5da5Sopenharmony_ci	 * The label of this completion item. By default
3297fd4e5da5Sopenharmony_ci	 * also the text that is inserted when selecting
3298fd4e5da5Sopenharmony_ci	 * this completion.
3299fd4e5da5Sopenharmony_ci	 */
3300fd4e5da5Sopenharmony_ci	Label string `json:"label"`
3301fd4e5da5Sopenharmony_ci
3302fd4e5da5Sopenharmony_ci	/*Kind defined:
3303fd4e5da5Sopenharmony_ci	 * The kind of this completion item. Based of the kind
3304fd4e5da5Sopenharmony_ci	 * an icon is chosen by the editor.
3305fd4e5da5Sopenharmony_ci	 */
3306fd4e5da5Sopenharmony_ci	Kind CompletionItemKind `json:"kind,omitempty"`
3307fd4e5da5Sopenharmony_ci
3308fd4e5da5Sopenharmony_ci	/*Tags defined:
3309fd4e5da5Sopenharmony_ci	 * Tags for this completion item.
3310fd4e5da5Sopenharmony_ci	 *
3311fd4e5da5Sopenharmony_ci	 * @since 3.15.0
3312fd4e5da5Sopenharmony_ci	 */
3313fd4e5da5Sopenharmony_ci	Tags []CompletionItemTag `json:"tags,omitempty"`
3314fd4e5da5Sopenharmony_ci
3315fd4e5da5Sopenharmony_ci	/*Detail defined:
3316fd4e5da5Sopenharmony_ci	 * A human-readable string with additional information
3317fd4e5da5Sopenharmony_ci	 * about this item, like type or symbol information.
3318fd4e5da5Sopenharmony_ci	 */
3319fd4e5da5Sopenharmony_ci	Detail string `json:"detail,omitempty"`
3320fd4e5da5Sopenharmony_ci
3321fd4e5da5Sopenharmony_ci	/*Documentation defined:
3322fd4e5da5Sopenharmony_ci	 * A human-readable string that represents a doc-comment.
3323fd4e5da5Sopenharmony_ci	 */
3324fd4e5da5Sopenharmony_ci	Documentation string `json:"documentation,omitempty"` // string | MarkupContent
3325fd4e5da5Sopenharmony_ci
3326fd4e5da5Sopenharmony_ci	/*Deprecated defined:
3327fd4e5da5Sopenharmony_ci	 * Indicates if this item is deprecated.
3328fd4e5da5Sopenharmony_ci	 * @deprecated Use `tags` instead.
3329fd4e5da5Sopenharmony_ci	 */
3330fd4e5da5Sopenharmony_ci	Deprecated bool `json:"deprecated,omitempty"`
3331fd4e5da5Sopenharmony_ci
3332fd4e5da5Sopenharmony_ci	/*Preselect defined:
3333fd4e5da5Sopenharmony_ci	 * Select this item when showing.
3334fd4e5da5Sopenharmony_ci	 *
3335fd4e5da5Sopenharmony_ci	 * *Note* that only one completion item can be selected and that the
3336fd4e5da5Sopenharmony_ci	 * tool / client decides which item that is. The rule is that the *first*
3337fd4e5da5Sopenharmony_ci	 * item of those that match best is selected.
3338fd4e5da5Sopenharmony_ci	 */
3339fd4e5da5Sopenharmony_ci	Preselect bool `json:"preselect,omitempty"`
3340fd4e5da5Sopenharmony_ci
3341fd4e5da5Sopenharmony_ci	/*SortText defined:
3342fd4e5da5Sopenharmony_ci	 * A string that should be used when comparing this item
3343fd4e5da5Sopenharmony_ci	 * with other items. When `falsy` the [label](#CompletionItem.label)
3344fd4e5da5Sopenharmony_ci	 * is used.
3345fd4e5da5Sopenharmony_ci	 */
3346fd4e5da5Sopenharmony_ci	SortText string `json:"sortText,omitempty"`
3347fd4e5da5Sopenharmony_ci
3348fd4e5da5Sopenharmony_ci	/*FilterText defined:
3349fd4e5da5Sopenharmony_ci	 * A string that should be used when filtering a set of
3350fd4e5da5Sopenharmony_ci	 * completion items. When `falsy` the [label](#CompletionItem.label)
3351fd4e5da5Sopenharmony_ci	 * is used.
3352fd4e5da5Sopenharmony_ci	 */
3353fd4e5da5Sopenharmony_ci	FilterText string `json:"filterText,omitempty"`
3354fd4e5da5Sopenharmony_ci
3355fd4e5da5Sopenharmony_ci	/*InsertText defined:
3356fd4e5da5Sopenharmony_ci	 * A string that should be inserted into a document when selecting
3357fd4e5da5Sopenharmony_ci	 * this completion. When `falsy` the [label](#CompletionItem.label)
3358fd4e5da5Sopenharmony_ci	 * is used.
3359fd4e5da5Sopenharmony_ci	 *
3360fd4e5da5Sopenharmony_ci	 * The `insertText` is subject to interpretation by the client side.
3361fd4e5da5Sopenharmony_ci	 * Some tools might not take the string literally. For example
3362fd4e5da5Sopenharmony_ci	 * VS Code when code complete is requested in this example `con<cursor position>`
3363fd4e5da5Sopenharmony_ci	 * and a completion item with an `insertText` of `console` is provided it
3364fd4e5da5Sopenharmony_ci	 * will only insert `sole`. Therefore it is recommended to use `textEdit` instead
3365fd4e5da5Sopenharmony_ci	 * since it avoids additional client side interpretation.
3366fd4e5da5Sopenharmony_ci	 */
3367fd4e5da5Sopenharmony_ci	InsertText string `json:"insertText,omitempty"`
3368fd4e5da5Sopenharmony_ci
3369fd4e5da5Sopenharmony_ci	/*InsertTextFormat defined:
3370fd4e5da5Sopenharmony_ci	 * The format of the insert text. The format applies to both the `insertText` property
3371fd4e5da5Sopenharmony_ci	 * and the `newText` property of a provided `textEdit`.
3372fd4e5da5Sopenharmony_ci	 */
3373fd4e5da5Sopenharmony_ci	InsertTextFormat InsertTextFormat `json:"insertTextFormat,omitempty"`
3374fd4e5da5Sopenharmony_ci
3375fd4e5da5Sopenharmony_ci	/*TextEdit defined:
3376fd4e5da5Sopenharmony_ci	 * An [edit](#TextEdit) which is applied to a document when selecting
3377fd4e5da5Sopenharmony_ci	 * this completion. When an edit is provided the value of
3378fd4e5da5Sopenharmony_ci	 * [insertText](#CompletionItem.insertText) is ignored.
3379fd4e5da5Sopenharmony_ci	 *
3380fd4e5da5Sopenharmony_ci	 * *Note:* The text edit's range must be a [single line] and it must contain the position
3381fd4e5da5Sopenharmony_ci	 * at which completion has been requested.
3382fd4e5da5Sopenharmony_ci	 */
3383fd4e5da5Sopenharmony_ci	TextEdit *TextEdit `json:"textEdit,omitempty"`
3384fd4e5da5Sopenharmony_ci
3385fd4e5da5Sopenharmony_ci	/*AdditionalTextEdits defined:
3386fd4e5da5Sopenharmony_ci	 * An optional array of additional [text edits](#TextEdit) that are applied when
3387fd4e5da5Sopenharmony_ci	 * selecting this completion. Edits must not overlap (including the same insert position)
3388fd4e5da5Sopenharmony_ci	 * with the main [edit](#CompletionItem.textEdit) nor with themselves.
3389fd4e5da5Sopenharmony_ci	 *
3390fd4e5da5Sopenharmony_ci	 * Additional text edits should be used to change text unrelated to the current cursor position
3391fd4e5da5Sopenharmony_ci	 * (for example adding an import statement at the top of the file if the completion item will
3392fd4e5da5Sopenharmony_ci	 * insert an unqualified type).
3393fd4e5da5Sopenharmony_ci	 */
3394fd4e5da5Sopenharmony_ci	AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
3395fd4e5da5Sopenharmony_ci
3396fd4e5da5Sopenharmony_ci	/*CommitCharacters defined:
3397fd4e5da5Sopenharmony_ci	 * An optional set of characters that when pressed while this completion is active will accept it first and
3398fd4e5da5Sopenharmony_ci	 * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
3399fd4e5da5Sopenharmony_ci	 * characters will be ignored.
3400fd4e5da5Sopenharmony_ci	 */
3401fd4e5da5Sopenharmony_ci	CommitCharacters []string `json:"commitCharacters,omitempty"`
3402fd4e5da5Sopenharmony_ci
3403fd4e5da5Sopenharmony_ci	/*Command defined:
3404fd4e5da5Sopenharmony_ci	 * An optional [command](#Command) that is executed *after* inserting this completion. *Note* that
3405fd4e5da5Sopenharmony_ci	 * additional modifications to the current document should be described with the
3406fd4e5da5Sopenharmony_ci	 * [additionalTextEdits](#CompletionItem.additionalTextEdits)-property.
3407fd4e5da5Sopenharmony_ci	 */
3408fd4e5da5Sopenharmony_ci	Command *Command `json:"command,omitempty"`
3409fd4e5da5Sopenharmony_ci
3410fd4e5da5Sopenharmony_ci	/*Data defined:
3411fd4e5da5Sopenharmony_ci	 * An data entry field that is preserved on a completion item between
3412fd4e5da5Sopenharmony_ci	 * a [CompletionRequest](#CompletionRequest) and a [CompletionResolveRequest]
3413fd4e5da5Sopenharmony_ci	 * (#CompletionResolveRequest)
3414fd4e5da5Sopenharmony_ci	 */
3415fd4e5da5Sopenharmony_ci	Data interface{} `json:"data,omitempty"`
3416fd4e5da5Sopenharmony_ci}
3417fd4e5da5Sopenharmony_ci
3418fd4e5da5Sopenharmony_ci/*CompletionList defined:
3419fd4e5da5Sopenharmony_ci * Represents a collection of [completion items](#CompletionItem) to be presented
3420fd4e5da5Sopenharmony_ci * in the editor.
3421fd4e5da5Sopenharmony_ci */
3422fd4e5da5Sopenharmony_citype CompletionList struct {
3423fd4e5da5Sopenharmony_ci
3424fd4e5da5Sopenharmony_ci	/*IsIncomplete defined:
3425fd4e5da5Sopenharmony_ci	 * This list it not complete. Further typing results in recomputing this list.
3426fd4e5da5Sopenharmony_ci	 */
3427fd4e5da5Sopenharmony_ci	IsIncomplete bool `json:"isIncomplete"`
3428fd4e5da5Sopenharmony_ci
3429fd4e5da5Sopenharmony_ci	/*Items defined:
3430fd4e5da5Sopenharmony_ci	 * The completion items.
3431fd4e5da5Sopenharmony_ci	 */
3432fd4e5da5Sopenharmony_ci	Items []CompletionItem `json:"items"`
3433fd4e5da5Sopenharmony_ci}
3434fd4e5da5Sopenharmony_ci
3435fd4e5da5Sopenharmony_ci/*Hover defined:
3436fd4e5da5Sopenharmony_ci * The result of a hover request.
3437fd4e5da5Sopenharmony_ci */
3438fd4e5da5Sopenharmony_citype Hover struct {
3439fd4e5da5Sopenharmony_ci
3440fd4e5da5Sopenharmony_ci	/*Contents defined:
3441fd4e5da5Sopenharmony_ci	 * The hover's content
3442fd4e5da5Sopenharmony_ci	 */
3443fd4e5da5Sopenharmony_ci	Contents MarkupContent `json:"contents"` // MarkupContent | MarkedString | MarkedString[]
3444fd4e5da5Sopenharmony_ci
3445fd4e5da5Sopenharmony_ci	/*Range defined:
3446fd4e5da5Sopenharmony_ci	 * An optional range
3447fd4e5da5Sopenharmony_ci	 */
3448fd4e5da5Sopenharmony_ci	Range *Range `json:"range,omitempty"`
3449fd4e5da5Sopenharmony_ci}
3450fd4e5da5Sopenharmony_ci
3451fd4e5da5Sopenharmony_ci/*ParameterInformation defined:
3452fd4e5da5Sopenharmony_ci * Represents a parameter of a callable-signature. A parameter can
3453fd4e5da5Sopenharmony_ci * have a label and a doc-comment.
3454fd4e5da5Sopenharmony_ci */
3455fd4e5da5Sopenharmony_citype ParameterInformation struct {
3456fd4e5da5Sopenharmony_ci
3457fd4e5da5Sopenharmony_ci	/*Label defined:
3458fd4e5da5Sopenharmony_ci	 * The label of this parameter information.
3459fd4e5da5Sopenharmony_ci	 *
3460fd4e5da5Sopenharmony_ci	 * Either a string or an inclusive start and exclusive end offsets within its containing
3461fd4e5da5Sopenharmony_ci	 * signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
3462fd4e5da5Sopenharmony_ci	 * string representation as `Position` and `Range` does.
3463fd4e5da5Sopenharmony_ci	 *
3464fd4e5da5Sopenharmony_ci	 * *Note*: a label of type string should be a substring of its containing signature label.
3465fd4e5da5Sopenharmony_ci	 * Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
3466fd4e5da5Sopenharmony_ci	 */
3467fd4e5da5Sopenharmony_ci	Label string `json:"label"` // string | [number, number]
3468fd4e5da5Sopenharmony_ci
3469fd4e5da5Sopenharmony_ci	/*Documentation defined:
3470fd4e5da5Sopenharmony_ci	 * The human-readable doc-comment of this signature. Will be shown
3471fd4e5da5Sopenharmony_ci	 * in the UI but can be omitted.
3472fd4e5da5Sopenharmony_ci	 */
3473fd4e5da5Sopenharmony_ci	Documentation string `json:"documentation,omitempty"` // string | MarkupContent
3474fd4e5da5Sopenharmony_ci}
3475fd4e5da5Sopenharmony_ci
3476fd4e5da5Sopenharmony_ci/*SignatureInformation defined:
3477fd4e5da5Sopenharmony_ci * Represents the signature of something callable. A signature
3478fd4e5da5Sopenharmony_ci * can have a label, like a function-name, a doc-comment, and
3479fd4e5da5Sopenharmony_ci * a set of parameters.
3480fd4e5da5Sopenharmony_ci */
3481fd4e5da5Sopenharmony_citype SignatureInformation struct {
3482fd4e5da5Sopenharmony_ci
3483fd4e5da5Sopenharmony_ci	/*Label defined:
3484fd4e5da5Sopenharmony_ci	 * The label of this signature. Will be shown in
3485fd4e5da5Sopenharmony_ci	 * the UI.
3486fd4e5da5Sopenharmony_ci	 */
3487fd4e5da5Sopenharmony_ci	Label string `json:"label"`
3488fd4e5da5Sopenharmony_ci
3489fd4e5da5Sopenharmony_ci	/*Documentation defined:
3490fd4e5da5Sopenharmony_ci	 * The human-readable doc-comment of this signature. Will be shown
3491fd4e5da5Sopenharmony_ci	 * in the UI but can be omitted.
3492fd4e5da5Sopenharmony_ci	 */
3493fd4e5da5Sopenharmony_ci	Documentation string `json:"documentation,omitempty"` // string | MarkupContent
3494fd4e5da5Sopenharmony_ci
3495fd4e5da5Sopenharmony_ci	/*Parameters defined:
3496fd4e5da5Sopenharmony_ci	 * The parameters of this signature.
3497fd4e5da5Sopenharmony_ci	 */
3498fd4e5da5Sopenharmony_ci	Parameters []ParameterInformation `json:"parameters,omitempty"`
3499fd4e5da5Sopenharmony_ci}
3500fd4e5da5Sopenharmony_ci
3501fd4e5da5Sopenharmony_ci/*SignatureHelp defined:
3502fd4e5da5Sopenharmony_ci * Signature help represents the signature of something
3503fd4e5da5Sopenharmony_ci * callable. There can be multiple signature but only one
3504fd4e5da5Sopenharmony_ci * active and only one active parameter.
3505fd4e5da5Sopenharmony_ci */
3506fd4e5da5Sopenharmony_citype SignatureHelp struct {
3507fd4e5da5Sopenharmony_ci
3508fd4e5da5Sopenharmony_ci	/*Signatures defined:
3509fd4e5da5Sopenharmony_ci	 * One or more signatures.
3510fd4e5da5Sopenharmony_ci	 */
3511fd4e5da5Sopenharmony_ci	Signatures []SignatureInformation `json:"signatures"`
3512fd4e5da5Sopenharmony_ci
3513fd4e5da5Sopenharmony_ci	/*ActiveSignature defined:
3514fd4e5da5Sopenharmony_ci	 * The active signature. Set to `null` if no
3515fd4e5da5Sopenharmony_ci	 * signatures exist.
3516fd4e5da5Sopenharmony_ci	 */
3517fd4e5da5Sopenharmony_ci	ActiveSignature float64 `json:"activeSignature"`
3518fd4e5da5Sopenharmony_ci
3519fd4e5da5Sopenharmony_ci	/*ActiveParameter defined:
3520fd4e5da5Sopenharmony_ci	 * The active parameter of the active signature. Set to `null`
3521fd4e5da5Sopenharmony_ci	 * if the active signature has no parameters.
3522fd4e5da5Sopenharmony_ci	 */
3523fd4e5da5Sopenharmony_ci	ActiveParameter float64 `json:"activeParameter"`
3524fd4e5da5Sopenharmony_ci}
3525fd4e5da5Sopenharmony_ci
3526fd4e5da5Sopenharmony_ci/*ReferenceContext defined:
3527fd4e5da5Sopenharmony_ci * Value-object that contains additional information when
3528fd4e5da5Sopenharmony_ci * requesting references.
3529fd4e5da5Sopenharmony_ci */
3530fd4e5da5Sopenharmony_citype ReferenceContext struct {
3531fd4e5da5Sopenharmony_ci
3532fd4e5da5Sopenharmony_ci	/*IncludeDeclaration defined:
3533fd4e5da5Sopenharmony_ci	 * Include the declaration of the current symbol.
3534fd4e5da5Sopenharmony_ci	 */
3535fd4e5da5Sopenharmony_ci	IncludeDeclaration bool `json:"includeDeclaration"`
3536fd4e5da5Sopenharmony_ci}
3537fd4e5da5Sopenharmony_ci
3538fd4e5da5Sopenharmony_ci/*DocumentHighlight defined:
3539fd4e5da5Sopenharmony_ci * A document highlight is a range inside a text document which deserves
3540fd4e5da5Sopenharmony_ci * special attention. Usually a document highlight is visualized by changing
3541fd4e5da5Sopenharmony_ci * the background color of its range.
3542fd4e5da5Sopenharmony_ci */
3543fd4e5da5Sopenharmony_citype DocumentHighlight struct {
3544fd4e5da5Sopenharmony_ci
3545fd4e5da5Sopenharmony_ci	/*Range defined:
3546fd4e5da5Sopenharmony_ci	 * The range this highlight applies to.
3547fd4e5da5Sopenharmony_ci	 */
3548fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
3549fd4e5da5Sopenharmony_ci
3550fd4e5da5Sopenharmony_ci	/*Kind defined:
3551fd4e5da5Sopenharmony_ci	 * The highlight kind, default is [text](#DocumentHighlightKind.Text).
3552fd4e5da5Sopenharmony_ci	 */
3553fd4e5da5Sopenharmony_ci	Kind *DocumentHighlightKind `json:"kind,omitempty"`
3554fd4e5da5Sopenharmony_ci}
3555fd4e5da5Sopenharmony_ci
3556fd4e5da5Sopenharmony_ci/*SymbolInformation defined:
3557fd4e5da5Sopenharmony_ci * Represents information about programming constructs like variables, classes,
3558fd4e5da5Sopenharmony_ci * interfaces etc.
3559fd4e5da5Sopenharmony_ci */
3560fd4e5da5Sopenharmony_citype SymbolInformation struct {
3561fd4e5da5Sopenharmony_ci
3562fd4e5da5Sopenharmony_ci	/*Name defined:
3563fd4e5da5Sopenharmony_ci	 * The name of this symbol.
3564fd4e5da5Sopenharmony_ci	 */
3565fd4e5da5Sopenharmony_ci	Name string `json:"name"`
3566fd4e5da5Sopenharmony_ci
3567fd4e5da5Sopenharmony_ci	/*Kind defined:
3568fd4e5da5Sopenharmony_ci	 * The kind of this symbol.
3569fd4e5da5Sopenharmony_ci	 */
3570fd4e5da5Sopenharmony_ci	Kind SymbolKind `json:"kind"`
3571fd4e5da5Sopenharmony_ci
3572fd4e5da5Sopenharmony_ci	/*Deprecated defined:
3573fd4e5da5Sopenharmony_ci	 * Indicates if this symbol is deprecated.
3574fd4e5da5Sopenharmony_ci	 */
3575fd4e5da5Sopenharmony_ci	Deprecated bool `json:"deprecated,omitempty"`
3576fd4e5da5Sopenharmony_ci
3577fd4e5da5Sopenharmony_ci	/*Location defined:
3578fd4e5da5Sopenharmony_ci	 * The location of this symbol. The location's range is used by a tool
3579fd4e5da5Sopenharmony_ci	 * to reveal the location in the editor. If the symbol is selected in the
3580fd4e5da5Sopenharmony_ci	 * tool the range's start information is used to position the cursor. So
3581fd4e5da5Sopenharmony_ci	 * the range usually spans more than the actual symbol's name and does
3582fd4e5da5Sopenharmony_ci	 * normally include thinks like visibility modifiers.
3583fd4e5da5Sopenharmony_ci	 *
3584fd4e5da5Sopenharmony_ci	 * The range doesn't have to denote a node range in the sense of a abstract
3585fd4e5da5Sopenharmony_ci	 * syntax tree. It can therefore not be used to re-construct a hierarchy of
3586fd4e5da5Sopenharmony_ci	 * the symbols.
3587fd4e5da5Sopenharmony_ci	 */
3588fd4e5da5Sopenharmony_ci	Location Location `json:"location"`
3589fd4e5da5Sopenharmony_ci
3590fd4e5da5Sopenharmony_ci	/*ContainerName defined:
3591fd4e5da5Sopenharmony_ci	 * The name of the symbol containing this symbol. This information is for
3592fd4e5da5Sopenharmony_ci	 * user interface purposes (e.g. to render a qualifier in the user interface
3593fd4e5da5Sopenharmony_ci	 * if necessary). It can't be used to re-infer a hierarchy for the document
3594fd4e5da5Sopenharmony_ci	 * symbols.
3595fd4e5da5Sopenharmony_ci	 */
3596fd4e5da5Sopenharmony_ci	ContainerName string `json:"containerName,omitempty"`
3597fd4e5da5Sopenharmony_ci}
3598fd4e5da5Sopenharmony_ci
3599fd4e5da5Sopenharmony_ci/*DocumentSymbol defined:
3600fd4e5da5Sopenharmony_ci * Represents programming constructs like variables, classes, interfaces etc.
3601fd4e5da5Sopenharmony_ci * that appear in a document. Document symbols can be hierarchical and they
3602fd4e5da5Sopenharmony_ci * have two ranges: one that encloses its definition and one that points to
3603fd4e5da5Sopenharmony_ci * its most interesting range, e.g. the range of an identifier.
3604fd4e5da5Sopenharmony_ci */
3605fd4e5da5Sopenharmony_citype DocumentSymbol struct {
3606fd4e5da5Sopenharmony_ci
3607fd4e5da5Sopenharmony_ci	/*Name defined:
3608fd4e5da5Sopenharmony_ci	 * The name of this symbol. Will be displayed in the user interface and therefore must not be
3609fd4e5da5Sopenharmony_ci	 * an empty string or a string only consisting of white spaces.
3610fd4e5da5Sopenharmony_ci	 */
3611fd4e5da5Sopenharmony_ci	Name string `json:"name"`
3612fd4e5da5Sopenharmony_ci
3613fd4e5da5Sopenharmony_ci	/*Detail defined:
3614fd4e5da5Sopenharmony_ci	 * More detail for this symbol, e.g the signature of a function.
3615fd4e5da5Sopenharmony_ci	 */
3616fd4e5da5Sopenharmony_ci	Detail string `json:"detail,omitempty"`
3617fd4e5da5Sopenharmony_ci
3618fd4e5da5Sopenharmony_ci	/*Kind defined:
3619fd4e5da5Sopenharmony_ci	 * The kind of this symbol.
3620fd4e5da5Sopenharmony_ci	 */
3621fd4e5da5Sopenharmony_ci	Kind SymbolKind `json:"kind"`
3622fd4e5da5Sopenharmony_ci
3623fd4e5da5Sopenharmony_ci	/*Deprecated defined:
3624fd4e5da5Sopenharmony_ci	 * Indicates if this symbol is deprecated.
3625fd4e5da5Sopenharmony_ci	 */
3626fd4e5da5Sopenharmony_ci	Deprecated bool `json:"deprecated,omitempty"`
3627fd4e5da5Sopenharmony_ci
3628fd4e5da5Sopenharmony_ci	/*Range defined:
3629fd4e5da5Sopenharmony_ci	 * The range enclosing this symbol not including leading/trailing whitespace but everything else
3630fd4e5da5Sopenharmony_ci	 * like comments. This information is typically used to determine if the clients cursor is
3631fd4e5da5Sopenharmony_ci	 * inside the symbol to reveal in the symbol in the UI.
3632fd4e5da5Sopenharmony_ci	 */
3633fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
3634fd4e5da5Sopenharmony_ci
3635fd4e5da5Sopenharmony_ci	/*SelectionRange defined:
3636fd4e5da5Sopenharmony_ci	 * The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
3637fd4e5da5Sopenharmony_ci	 * Must be contained by the `range`.
3638fd4e5da5Sopenharmony_ci	 */
3639fd4e5da5Sopenharmony_ci	SelectionRange Range `json:"selectionRange"`
3640fd4e5da5Sopenharmony_ci
3641fd4e5da5Sopenharmony_ci	/*Children defined:
3642fd4e5da5Sopenharmony_ci	 * Children of this symbol, e.g. properties of a class.
3643fd4e5da5Sopenharmony_ci	 */
3644fd4e5da5Sopenharmony_ci	Children []DocumentSymbol `json:"children,omitempty"`
3645fd4e5da5Sopenharmony_ci}
3646fd4e5da5Sopenharmony_ci
3647fd4e5da5Sopenharmony_ci/*CodeActionContext defined:
3648fd4e5da5Sopenharmony_ci * Contains additional diagnostic information about the context in which
3649fd4e5da5Sopenharmony_ci * a [code action](#CodeActionProvider.provideCodeActions) is run.
3650fd4e5da5Sopenharmony_ci */
3651fd4e5da5Sopenharmony_citype CodeActionContext struct {
3652fd4e5da5Sopenharmony_ci
3653fd4e5da5Sopenharmony_ci	/*Diagnostics defined:
3654fd4e5da5Sopenharmony_ci	 * An array of diagnostics known on the client side overlapping the range provided to the
3655fd4e5da5Sopenharmony_ci	 * `textDocument/codeAction` request. They are provided so that the server knows which
3656fd4e5da5Sopenharmony_ci	 * errors are currently presented to the user for the given range. There is no guarantee
3657fd4e5da5Sopenharmony_ci	 * that these accurately reflect the error state of the resource. The primary parameter
3658fd4e5da5Sopenharmony_ci	 * to compute code actions is the provided range.
3659fd4e5da5Sopenharmony_ci	 */
3660fd4e5da5Sopenharmony_ci	Diagnostics []Diagnostic `json:"diagnostics"`
3661fd4e5da5Sopenharmony_ci
3662fd4e5da5Sopenharmony_ci	/*Only defined:
3663fd4e5da5Sopenharmony_ci	 * Requested kind of actions to return.
3664fd4e5da5Sopenharmony_ci	 *
3665fd4e5da5Sopenharmony_ci	 * Actions not of this kind are filtered out by the client before being shown. So servers
3666fd4e5da5Sopenharmony_ci	 * can omit computing them.
3667fd4e5da5Sopenharmony_ci	 */
3668fd4e5da5Sopenharmony_ci	Only []CodeActionKind `json:"only,omitempty"`
3669fd4e5da5Sopenharmony_ci}
3670fd4e5da5Sopenharmony_ci
3671fd4e5da5Sopenharmony_ci/*CodeAction defined:
3672fd4e5da5Sopenharmony_ci * A code action represents a change that can be performed in code, e.g. to fix a problem or
3673fd4e5da5Sopenharmony_ci * to refactor code.
3674fd4e5da5Sopenharmony_ci *
3675fd4e5da5Sopenharmony_ci * A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
3676fd4e5da5Sopenharmony_ci */
3677fd4e5da5Sopenharmony_citype CodeAction struct {
3678fd4e5da5Sopenharmony_ci
3679fd4e5da5Sopenharmony_ci	/*Title defined:
3680fd4e5da5Sopenharmony_ci	 * A short, human-readable, title for this code action.
3681fd4e5da5Sopenharmony_ci	 */
3682fd4e5da5Sopenharmony_ci	Title string `json:"title"`
3683fd4e5da5Sopenharmony_ci
3684fd4e5da5Sopenharmony_ci	/*Kind defined:
3685fd4e5da5Sopenharmony_ci	 * The kind of the code action.
3686fd4e5da5Sopenharmony_ci	 *
3687fd4e5da5Sopenharmony_ci	 * Used to filter code actions.
3688fd4e5da5Sopenharmony_ci	 */
3689fd4e5da5Sopenharmony_ci	Kind CodeActionKind `json:"kind,omitempty"`
3690fd4e5da5Sopenharmony_ci
3691fd4e5da5Sopenharmony_ci	/*Diagnostics defined:
3692fd4e5da5Sopenharmony_ci	 * The diagnostics that this code action resolves.
3693fd4e5da5Sopenharmony_ci	 */
3694fd4e5da5Sopenharmony_ci	Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
3695fd4e5da5Sopenharmony_ci
3696fd4e5da5Sopenharmony_ci	/*IsPreferred defined:
3697fd4e5da5Sopenharmony_ci	 * Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
3698fd4e5da5Sopenharmony_ci	 * by keybindings.
3699fd4e5da5Sopenharmony_ci	 *
3700fd4e5da5Sopenharmony_ci	 * A quick fix should be marked preferred if it properly addresses the underlying error.
3701fd4e5da5Sopenharmony_ci	 * A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
3702fd4e5da5Sopenharmony_ci	 *
3703fd4e5da5Sopenharmony_ci	 * @since 3.15.0
3704fd4e5da5Sopenharmony_ci	 */
3705fd4e5da5Sopenharmony_ci	IsPreferred bool `json:"isPreferred,omitempty"`
3706fd4e5da5Sopenharmony_ci
3707fd4e5da5Sopenharmony_ci	/*Edit defined:
3708fd4e5da5Sopenharmony_ci	 * The workspace edit this code action performs.
3709fd4e5da5Sopenharmony_ci	 */
3710fd4e5da5Sopenharmony_ci	Edit *WorkspaceEdit `json:"edit,omitempty"`
3711fd4e5da5Sopenharmony_ci
3712fd4e5da5Sopenharmony_ci	/*Command defined:
3713fd4e5da5Sopenharmony_ci	 * A command this code action executes. If a code action
3714fd4e5da5Sopenharmony_ci	 * provides a edit and a command, first the edit is
3715fd4e5da5Sopenharmony_ci	 * executed and then the command.
3716fd4e5da5Sopenharmony_ci	 */
3717fd4e5da5Sopenharmony_ci	Command *Command `json:"command,omitempty"`
3718fd4e5da5Sopenharmony_ci}
3719fd4e5da5Sopenharmony_ci
3720fd4e5da5Sopenharmony_ci/*CodeLens defined:
3721fd4e5da5Sopenharmony_ci * A code lens represents a [command](#Command) that should be shown along with
3722fd4e5da5Sopenharmony_ci * source text, like the number of references, a way to run tests, etc.
3723fd4e5da5Sopenharmony_ci *
3724fd4e5da5Sopenharmony_ci * A code lens is _unresolved_ when no command is associated to it. For performance
3725fd4e5da5Sopenharmony_ci * reasons the creation of a code lens and resolving should be done to two stages.
3726fd4e5da5Sopenharmony_ci */
3727fd4e5da5Sopenharmony_citype CodeLens struct {
3728fd4e5da5Sopenharmony_ci
3729fd4e5da5Sopenharmony_ci	/*Range defined:
3730fd4e5da5Sopenharmony_ci	 * The range in which this code lens is valid. Should only span a single line.
3731fd4e5da5Sopenharmony_ci	 */
3732fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
3733fd4e5da5Sopenharmony_ci
3734fd4e5da5Sopenharmony_ci	/*Command defined:
3735fd4e5da5Sopenharmony_ci	 * The command this code lens represents.
3736fd4e5da5Sopenharmony_ci	 */
3737fd4e5da5Sopenharmony_ci	Command *Command `json:"command,omitempty"`
3738fd4e5da5Sopenharmony_ci
3739fd4e5da5Sopenharmony_ci	/*Data defined:
3740fd4e5da5Sopenharmony_ci	 * An data entry field that is preserved on a code lens item between
3741fd4e5da5Sopenharmony_ci	 * a [CodeLensRequest](#CodeLensRequest) and a [CodeLensResolveRequest]
3742fd4e5da5Sopenharmony_ci	 * (#CodeLensResolveRequest)
3743fd4e5da5Sopenharmony_ci	 */
3744fd4e5da5Sopenharmony_ci	Data interface{} `json:"data,omitempty"`
3745fd4e5da5Sopenharmony_ci}
3746fd4e5da5Sopenharmony_ci
3747fd4e5da5Sopenharmony_ci/*FormattingOptions defined:
3748fd4e5da5Sopenharmony_ci * Value-object describing what options formatting should use.
3749fd4e5da5Sopenharmony_ci */
3750fd4e5da5Sopenharmony_citype FormattingOptions struct {
3751fd4e5da5Sopenharmony_ci
3752fd4e5da5Sopenharmony_ci	/*TabSize defined:
3753fd4e5da5Sopenharmony_ci	 * Size of a tab in spaces.
3754fd4e5da5Sopenharmony_ci	 */
3755fd4e5da5Sopenharmony_ci	TabSize float64 `json:"tabSize"`
3756fd4e5da5Sopenharmony_ci
3757fd4e5da5Sopenharmony_ci	/*InsertSpaces defined:
3758fd4e5da5Sopenharmony_ci	 * Prefer spaces over tabs.
3759fd4e5da5Sopenharmony_ci	 */
3760fd4e5da5Sopenharmony_ci	InsertSpaces bool `json:"insertSpaces"`
3761fd4e5da5Sopenharmony_ci
3762fd4e5da5Sopenharmony_ci	/*TrimTrailingWhitespace defined:
3763fd4e5da5Sopenharmony_ci	 * Trim trailing whitespaces on a line.
3764fd4e5da5Sopenharmony_ci	 *
3765fd4e5da5Sopenharmony_ci	 * @since 3.15.0
3766fd4e5da5Sopenharmony_ci	 */
3767fd4e5da5Sopenharmony_ci	TrimTrailingWhitespace bool `json:"trimTrailingWhitespace,omitempty"`
3768fd4e5da5Sopenharmony_ci
3769fd4e5da5Sopenharmony_ci	/*InsertFinalNewline defined:
3770fd4e5da5Sopenharmony_ci	 * Insert a newline character at the end of the file if one does not exist.
3771fd4e5da5Sopenharmony_ci	 *
3772fd4e5da5Sopenharmony_ci	 * @since 3.15.0
3773fd4e5da5Sopenharmony_ci	 */
3774fd4e5da5Sopenharmony_ci	InsertFinalNewline bool `json:"insertFinalNewline,omitempty"`
3775fd4e5da5Sopenharmony_ci
3776fd4e5da5Sopenharmony_ci	/*TrimFinalNewlines defined:
3777fd4e5da5Sopenharmony_ci	 * Trim all newlines after the final newline at the end of the file.
3778fd4e5da5Sopenharmony_ci	 *
3779fd4e5da5Sopenharmony_ci	 * @since 3.15.0
3780fd4e5da5Sopenharmony_ci	 */
3781fd4e5da5Sopenharmony_ci	TrimFinalNewlines bool `json:"trimFinalNewlines,omitempty"`
3782fd4e5da5Sopenharmony_ci
3783fd4e5da5Sopenharmony_ci	/*Key defined:
3784fd4e5da5Sopenharmony_ci	 * Signature for further properties.
3785fd4e5da5Sopenharmony_ci	 */
3786fd4e5da5Sopenharmony_ci	Key map[string]bool `json:"key"` // [key: string]: boolean | number | string | undefined;
3787fd4e5da5Sopenharmony_ci}
3788fd4e5da5Sopenharmony_ci
3789fd4e5da5Sopenharmony_ci/*DocumentLink defined:
3790fd4e5da5Sopenharmony_ci * A document link is a range in a text document that links to an internal or external resource, like another
3791fd4e5da5Sopenharmony_ci * text document or a web site.
3792fd4e5da5Sopenharmony_ci */
3793fd4e5da5Sopenharmony_citype DocumentLink struct {
3794fd4e5da5Sopenharmony_ci
3795fd4e5da5Sopenharmony_ci	/*Range defined:
3796fd4e5da5Sopenharmony_ci	 * The range this link applies to.
3797fd4e5da5Sopenharmony_ci	 */
3798fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
3799fd4e5da5Sopenharmony_ci
3800fd4e5da5Sopenharmony_ci	/*Target defined:
3801fd4e5da5Sopenharmony_ci	 * The uri this link points to.
3802fd4e5da5Sopenharmony_ci	 */
3803fd4e5da5Sopenharmony_ci	Target string `json:"target,omitempty"`
3804fd4e5da5Sopenharmony_ci
3805fd4e5da5Sopenharmony_ci	/*Tooltip defined:
3806fd4e5da5Sopenharmony_ci	 * The tooltip text when you hover over this link.
3807fd4e5da5Sopenharmony_ci	 *
3808fd4e5da5Sopenharmony_ci	 * If a tooltip is provided, is will be displayed in a string that includes instructions on how to
3809fd4e5da5Sopenharmony_ci	 * trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS,
3810fd4e5da5Sopenharmony_ci	 * user settings, and localization.
3811fd4e5da5Sopenharmony_ci	 *
3812fd4e5da5Sopenharmony_ci	 * @since 3.15.0
3813fd4e5da5Sopenharmony_ci	 */
3814fd4e5da5Sopenharmony_ci	Tooltip string `json:"tooltip,omitempty"`
3815fd4e5da5Sopenharmony_ci
3816fd4e5da5Sopenharmony_ci	/*Data defined:
3817fd4e5da5Sopenharmony_ci	 * A data entry field that is preserved on a document link between a
3818fd4e5da5Sopenharmony_ci	 * DocumentLinkRequest and a DocumentLinkResolveRequest.
3819fd4e5da5Sopenharmony_ci	 */
3820fd4e5da5Sopenharmony_ci	Data interface{} `json:"data,omitempty"`
3821fd4e5da5Sopenharmony_ci}
3822fd4e5da5Sopenharmony_ci
3823fd4e5da5Sopenharmony_ci/*SelectionRange defined:
3824fd4e5da5Sopenharmony_ci * A selection range represents a part of a selection hierarchy. A selection range
3825fd4e5da5Sopenharmony_ci * may have a parent selection range that contains it.
3826fd4e5da5Sopenharmony_ci */
3827fd4e5da5Sopenharmony_citype SelectionRange struct {
3828fd4e5da5Sopenharmony_ci
3829fd4e5da5Sopenharmony_ci	/*Range defined:
3830fd4e5da5Sopenharmony_ci	 * The [range](#Range) of this selection range.
3831fd4e5da5Sopenharmony_ci	 */
3832fd4e5da5Sopenharmony_ci	Range Range `json:"range"`
3833fd4e5da5Sopenharmony_ci
3834fd4e5da5Sopenharmony_ci	/*Parent defined:
3835fd4e5da5Sopenharmony_ci	 * The parent selection range containing this range. Therefore `parent.range` must contain `this.range`.
3836fd4e5da5Sopenharmony_ci	 */
3837fd4e5da5Sopenharmony_ci	Parent *SelectionRange `json:"parent,omitempty"`
3838fd4e5da5Sopenharmony_ci}
3839fd4e5da5Sopenharmony_ci
3840fd4e5da5Sopenharmony_ci/*TextDocument defined:
3841fd4e5da5Sopenharmony_ci * A simple text document. Not to be implemented.
3842fd4e5da5Sopenharmony_ci */
3843fd4e5da5Sopenharmony_citype TextDocument struct {
3844fd4e5da5Sopenharmony_ci
3845fd4e5da5Sopenharmony_ci	/*URI defined:
3846fd4e5da5Sopenharmony_ci	 * The associated URI for this document. Most documents have the __file__-scheme, indicating that they
3847fd4e5da5Sopenharmony_ci	 * represent files on disk. However, some documents may have other schemes indicating that they are not
3848fd4e5da5Sopenharmony_ci	 * available on disk.
3849fd4e5da5Sopenharmony_ci	 *
3850fd4e5da5Sopenharmony_ci	 * @readonly
3851fd4e5da5Sopenharmony_ci	 */
3852fd4e5da5Sopenharmony_ci	URI DocumentURI `json:"uri"`
3853fd4e5da5Sopenharmony_ci
3854fd4e5da5Sopenharmony_ci	/*LanguageID defined:
3855fd4e5da5Sopenharmony_ci	 * The identifier of the language associated with this document.
3856fd4e5da5Sopenharmony_ci	 *
3857fd4e5da5Sopenharmony_ci	 * @readonly
3858fd4e5da5Sopenharmony_ci	 */
3859fd4e5da5Sopenharmony_ci	LanguageID string `json:"languageId"`
3860fd4e5da5Sopenharmony_ci
3861fd4e5da5Sopenharmony_ci	/*Version defined:
3862fd4e5da5Sopenharmony_ci	 * The version number of this document (it will increase after each
3863fd4e5da5Sopenharmony_ci	 * change, including undo/redo).
3864fd4e5da5Sopenharmony_ci	 *
3865fd4e5da5Sopenharmony_ci	 * @readonly
3866fd4e5da5Sopenharmony_ci	 */
3867fd4e5da5Sopenharmony_ci	Version float64 `json:"version"`
3868fd4e5da5Sopenharmony_ci
3869fd4e5da5Sopenharmony_ci	/*LineCount defined:
3870fd4e5da5Sopenharmony_ci	 * The number of lines in this document.
3871fd4e5da5Sopenharmony_ci	 *
3872fd4e5da5Sopenharmony_ci	 * @readonly
3873fd4e5da5Sopenharmony_ci	 */
3874fd4e5da5Sopenharmony_ci	LineCount float64 `json:"lineCount"`
3875fd4e5da5Sopenharmony_ci}
3876fd4e5da5Sopenharmony_ci
3877fd4e5da5Sopenharmony_ci/*TextDocumentChangeEvent defined:
3878fd4e5da5Sopenharmony_ci * Event to signal changes to a simple text document.
3879fd4e5da5Sopenharmony_ci */
3880fd4e5da5Sopenharmony_citype TextDocumentChangeEvent struct {
3881fd4e5da5Sopenharmony_ci
3882fd4e5da5Sopenharmony_ci	/*Document defined:
3883fd4e5da5Sopenharmony_ci	 * The document that has changed.
3884fd4e5da5Sopenharmony_ci	 */
3885fd4e5da5Sopenharmony_ci	Document TextDocument `json:"document"`
3886fd4e5da5Sopenharmony_ci}
3887fd4e5da5Sopenharmony_ci
3888fd4e5da5Sopenharmony_ci// TextDocumentWillSaveEvent is
3889fd4e5da5Sopenharmony_citype TextDocumentWillSaveEvent struct {
3890fd4e5da5Sopenharmony_ci
3891fd4e5da5Sopenharmony_ci	/*Document defined:
3892fd4e5da5Sopenharmony_ci	 * The document that will be saved
3893fd4e5da5Sopenharmony_ci	 */
3894fd4e5da5Sopenharmony_ci	Document TextDocument `json:"document"`
3895fd4e5da5Sopenharmony_ci
3896fd4e5da5Sopenharmony_ci	/*Reason defined:
3897fd4e5da5Sopenharmony_ci	 * The reason why save was triggered.
3898fd4e5da5Sopenharmony_ci	 */
3899fd4e5da5Sopenharmony_ci	Reason TextDocumentSaveReason `json:"reason"`
3900fd4e5da5Sopenharmony_ci}
3901fd4e5da5Sopenharmony_ci
3902fd4e5da5Sopenharmony_ci/*TextDocumentContentChangeEvent defined:
3903fd4e5da5Sopenharmony_ci * An event describing a change to a text document. If range and rangeLength are omitted
3904fd4e5da5Sopenharmony_ci * the new text is considered to be the full content of the document.
3905fd4e5da5Sopenharmony_ci */
3906fd4e5da5Sopenharmony_citype TextDocumentContentChangeEvent struct {
3907fd4e5da5Sopenharmony_ci
3908fd4e5da5Sopenharmony_ci	/*Range defined:
3909fd4e5da5Sopenharmony_ci	 * The range of the document that changed.
3910fd4e5da5Sopenharmony_ci	 */
3911fd4e5da5Sopenharmony_ci	Range *Range `json:"range,omitempty"`
3912fd4e5da5Sopenharmony_ci
3913fd4e5da5Sopenharmony_ci	/*RangeLength defined:
3914fd4e5da5Sopenharmony_ci	 * The length of the range that got replaced.
3915fd4e5da5Sopenharmony_ci	 */
3916fd4e5da5Sopenharmony_ci	RangeLength float64 `json:"rangeLength,omitempty"`
3917fd4e5da5Sopenharmony_ci
3918fd4e5da5Sopenharmony_ci	/*Text defined:
3919fd4e5da5Sopenharmony_ci	 * The new text of the document.
3920fd4e5da5Sopenharmony_ci	 */
3921fd4e5da5Sopenharmony_ci	Text string `json:"text"`
3922fd4e5da5Sopenharmony_ci}
3923fd4e5da5Sopenharmony_ci
3924fd4e5da5Sopenharmony_ci// ProgressParams is
3925fd4e5da5Sopenharmony_citype ProgressParams struct {
3926fd4e5da5Sopenharmony_ci
3927fd4e5da5Sopenharmony_ci	/*Token defined:
3928fd4e5da5Sopenharmony_ci	 * The progress token provided by the client or server.
3929fd4e5da5Sopenharmony_ci	 */
3930fd4e5da5Sopenharmony_ci	Token ProgressToken `json:"token"`
3931fd4e5da5Sopenharmony_ci
3932fd4e5da5Sopenharmony_ci	/*Value defined:
3933fd4e5da5Sopenharmony_ci	 * The progress data.
3934fd4e5da5Sopenharmony_ci	 */
3935fd4e5da5Sopenharmony_ci	Value interface{} `json:"value"`
3936fd4e5da5Sopenharmony_ci}
3937fd4e5da5Sopenharmony_ci
3938fd4e5da5Sopenharmony_ci// SetTraceParams is
3939fd4e5da5Sopenharmony_citype SetTraceParams struct {
3940fd4e5da5Sopenharmony_ci
3941fd4e5da5Sopenharmony_ci	// Value is
3942fd4e5da5Sopenharmony_ci	Value TraceValues `json:"value"`
3943fd4e5da5Sopenharmony_ci}
3944fd4e5da5Sopenharmony_ci
3945fd4e5da5Sopenharmony_ci// LogTraceParams is
3946fd4e5da5Sopenharmony_citype LogTraceParams struct {
3947fd4e5da5Sopenharmony_ci
3948fd4e5da5Sopenharmony_ci	// Message is
3949fd4e5da5Sopenharmony_ci	Message string `json:"message"`
3950fd4e5da5Sopenharmony_ci
3951fd4e5da5Sopenharmony_ci	// Verbose is
3952fd4e5da5Sopenharmony_ci	Verbose string `json:"verbose,omitempty"`
3953fd4e5da5Sopenharmony_ci}
3954fd4e5da5Sopenharmony_ci
3955fd4e5da5Sopenharmony_ci// Tracer is
3956fd4e5da5Sopenharmony_citype Tracer struct {
3957fd4e5da5Sopenharmony_ci}
3958fd4e5da5Sopenharmony_ci
3959fd4e5da5Sopenharmony_ci// FoldingRangeKind defines constants
3960fd4e5da5Sopenharmony_citype FoldingRangeKind string
3961fd4e5da5Sopenharmony_ci
3962fd4e5da5Sopenharmony_ci// ResourceOperationKind defines constants
3963fd4e5da5Sopenharmony_citype ResourceOperationKind string
3964fd4e5da5Sopenharmony_ci
3965fd4e5da5Sopenharmony_ci// FailureHandlingKind defines constants
3966fd4e5da5Sopenharmony_citype FailureHandlingKind string
3967fd4e5da5Sopenharmony_ci
3968fd4e5da5Sopenharmony_ci// InitializeError defines constants
3969fd4e5da5Sopenharmony_citype InitializeError float64
3970fd4e5da5Sopenharmony_ci
3971fd4e5da5Sopenharmony_ci// MessageType defines constants
3972fd4e5da5Sopenharmony_citype MessageType float64
3973fd4e5da5Sopenharmony_ci
3974fd4e5da5Sopenharmony_ci// TextDocumentSyncKind defines constants
3975fd4e5da5Sopenharmony_citype TextDocumentSyncKind float64
3976fd4e5da5Sopenharmony_ci
3977fd4e5da5Sopenharmony_ci// FileChangeType defines constants
3978fd4e5da5Sopenharmony_citype FileChangeType float64
3979fd4e5da5Sopenharmony_ci
3980fd4e5da5Sopenharmony_ci// WatchKind defines constants
3981fd4e5da5Sopenharmony_citype WatchKind float64
3982fd4e5da5Sopenharmony_ci
3983fd4e5da5Sopenharmony_ci// CompletionTriggerKind defines constants
3984fd4e5da5Sopenharmony_citype CompletionTriggerKind float64
3985fd4e5da5Sopenharmony_ci
3986fd4e5da5Sopenharmony_ci// SignatureHelpTriggerKind defines constants
3987fd4e5da5Sopenharmony_citype SignatureHelpTriggerKind float64
3988fd4e5da5Sopenharmony_ci
3989fd4e5da5Sopenharmony_ci// DiagnosticSeverity defines constants
3990fd4e5da5Sopenharmony_citype DiagnosticSeverity float64
3991fd4e5da5Sopenharmony_ci
3992fd4e5da5Sopenharmony_ci// DiagnosticTag defines constants
3993fd4e5da5Sopenharmony_citype DiagnosticTag float64
3994fd4e5da5Sopenharmony_ci
3995fd4e5da5Sopenharmony_ci// MarkupKind defines constants
3996fd4e5da5Sopenharmony_citype MarkupKind string
3997fd4e5da5Sopenharmony_ci
3998fd4e5da5Sopenharmony_ci// CompletionItemKind defines constants
3999fd4e5da5Sopenharmony_citype CompletionItemKind float64
4000fd4e5da5Sopenharmony_ci
4001fd4e5da5Sopenharmony_ci// InsertTextFormat defines constants
4002fd4e5da5Sopenharmony_citype InsertTextFormat float64
4003fd4e5da5Sopenharmony_ci
4004fd4e5da5Sopenharmony_ci// CompletionItemTag defines constants
4005fd4e5da5Sopenharmony_citype CompletionItemTag float64
4006fd4e5da5Sopenharmony_ci
4007fd4e5da5Sopenharmony_ci// DocumentHighlightKind defines constants
4008fd4e5da5Sopenharmony_citype DocumentHighlightKind float64
4009fd4e5da5Sopenharmony_ci
4010fd4e5da5Sopenharmony_ci// SymbolKind defines constants
4011fd4e5da5Sopenharmony_citype SymbolKind float64
4012fd4e5da5Sopenharmony_ci
4013fd4e5da5Sopenharmony_ci// CodeActionKind defines constants
4014fd4e5da5Sopenharmony_citype CodeActionKind string
4015fd4e5da5Sopenharmony_ci
4016fd4e5da5Sopenharmony_ci// TextDocumentSaveReason defines constants
4017fd4e5da5Sopenharmony_citype TextDocumentSaveReason float64
4018fd4e5da5Sopenharmony_ci
4019fd4e5da5Sopenharmony_ci// ErrorCodes defines constants
4020fd4e5da5Sopenharmony_citype ErrorCodes float64
4021fd4e5da5Sopenharmony_ci
4022fd4e5da5Sopenharmony_ci// Touch defines constants
4023fd4e5da5Sopenharmony_citype Touch float64
4024fd4e5da5Sopenharmony_ci
4025fd4e5da5Sopenharmony_ci// Trace defines constants
4026fd4e5da5Sopenharmony_citype Trace string
4027fd4e5da5Sopenharmony_ci
4028fd4e5da5Sopenharmony_ci// TraceFormat defines constants
4029fd4e5da5Sopenharmony_citype TraceFormat string
4030fd4e5da5Sopenharmony_ci
4031fd4e5da5Sopenharmony_ci// ConnectionErrors defines constants
4032fd4e5da5Sopenharmony_citype ConnectionErrors float64
4033fd4e5da5Sopenharmony_ci
4034fd4e5da5Sopenharmony_ci// ConnectionState defines constants
4035fd4e5da5Sopenharmony_citype ConnectionState float64
4036fd4e5da5Sopenharmony_ci
4037fd4e5da5Sopenharmony_ciconst (
4038fd4e5da5Sopenharmony_ci
4039fd4e5da5Sopenharmony_ci	/*Comment defined:
4040fd4e5da5Sopenharmony_ci	 * Folding range for a comment
4041fd4e5da5Sopenharmony_ci	 */
4042fd4e5da5Sopenharmony_ci	Comment FoldingRangeKind = "comment"
4043fd4e5da5Sopenharmony_ci
4044fd4e5da5Sopenharmony_ci	/*Imports defined:
4045fd4e5da5Sopenharmony_ci	 * Folding range for a imports or includes
4046fd4e5da5Sopenharmony_ci	 */
4047fd4e5da5Sopenharmony_ci	Imports FoldingRangeKind = "imports"
4048fd4e5da5Sopenharmony_ci
4049fd4e5da5Sopenharmony_ci	/*Region defined:
4050fd4e5da5Sopenharmony_ci	 * Folding range for a region (e.g. `#region`)
4051fd4e5da5Sopenharmony_ci	 */
4052fd4e5da5Sopenharmony_ci	Region FoldingRangeKind = "region"
4053fd4e5da5Sopenharmony_ci
4054fd4e5da5Sopenharmony_ci	/*Create defined:
4055fd4e5da5Sopenharmony_ci	 * Supports creating new files and folders.
4056fd4e5da5Sopenharmony_ci	 */
4057fd4e5da5Sopenharmony_ci	Create ResourceOperationKind = "create"
4058fd4e5da5Sopenharmony_ci
4059fd4e5da5Sopenharmony_ci	/*Rename defined:
4060fd4e5da5Sopenharmony_ci	 * Supports renaming existing files and folders.
4061fd4e5da5Sopenharmony_ci	 */
4062fd4e5da5Sopenharmony_ci	Rename ResourceOperationKind = "rename"
4063fd4e5da5Sopenharmony_ci
4064fd4e5da5Sopenharmony_ci	/*Delete defined:
4065fd4e5da5Sopenharmony_ci	 * Supports deleting existing files and folders.
4066fd4e5da5Sopenharmony_ci	 */
4067fd4e5da5Sopenharmony_ci	Delete ResourceOperationKind = "delete"
4068fd4e5da5Sopenharmony_ci
4069fd4e5da5Sopenharmony_ci	/*Abort defined:
4070fd4e5da5Sopenharmony_ci	 * Applying the workspace change is simply aborted if one of the changes provided
4071fd4e5da5Sopenharmony_ci	 * fails. All operations executed before the failing operation stay executed.
4072fd4e5da5Sopenharmony_ci	 */
4073fd4e5da5Sopenharmony_ci	Abort FailureHandlingKind = "abort"
4074fd4e5da5Sopenharmony_ci
4075fd4e5da5Sopenharmony_ci	/*Transactional defined:
4076fd4e5da5Sopenharmony_ci	 * All operations are executed transactional. That means they either all
4077fd4e5da5Sopenharmony_ci	 * succeed or no changes at all are applied to the workspace.
4078fd4e5da5Sopenharmony_ci	 */
4079fd4e5da5Sopenharmony_ci	Transactional FailureHandlingKind = "transactional"
4080fd4e5da5Sopenharmony_ci
4081fd4e5da5Sopenharmony_ci	/*TextOnlyTransactional defined:
4082fd4e5da5Sopenharmony_ci	 * If the workspace edit contains only textual file changes they are executed transactional.
4083fd4e5da5Sopenharmony_ci	 * If resource changes (create, rename or delete file) are part of the change the failure
4084fd4e5da5Sopenharmony_ci	 * handling strategy is abort.
4085fd4e5da5Sopenharmony_ci	 */
4086fd4e5da5Sopenharmony_ci	TextOnlyTransactional FailureHandlingKind = "textOnlyTransactional"
4087fd4e5da5Sopenharmony_ci
4088fd4e5da5Sopenharmony_ci	/*Undo defined:
4089fd4e5da5Sopenharmony_ci	 * The client tries to undo the operations already executed. But there is no
4090fd4e5da5Sopenharmony_ci	 * guarantee that this is succeeding.
4091fd4e5da5Sopenharmony_ci	 */
4092fd4e5da5Sopenharmony_ci	Undo FailureHandlingKind = "undo"
4093fd4e5da5Sopenharmony_ci
4094fd4e5da5Sopenharmony_ci	/*UnknownProtocolVersion defined:
4095fd4e5da5Sopenharmony_ci	 * If the protocol version provided by the client can't be handled by the server.
4096fd4e5da5Sopenharmony_ci	 * @deprecated This initialize error got replaced by client capabilities. There is
4097fd4e5da5Sopenharmony_ci	 * no version handshake in version 3.0x
4098fd4e5da5Sopenharmony_ci	 */
4099fd4e5da5Sopenharmony_ci	UnknownProtocolVersion InitializeError = 1
4100fd4e5da5Sopenharmony_ci
4101fd4e5da5Sopenharmony_ci	/*Error defined:
4102fd4e5da5Sopenharmony_ci	 * An error message.
4103fd4e5da5Sopenharmony_ci	 */
4104fd4e5da5Sopenharmony_ci	Error MessageType = 1
4105fd4e5da5Sopenharmony_ci
4106fd4e5da5Sopenharmony_ci	/*Warning defined:
4107fd4e5da5Sopenharmony_ci	 * A warning message.
4108fd4e5da5Sopenharmony_ci	 */
4109fd4e5da5Sopenharmony_ci	Warning MessageType = 2
4110fd4e5da5Sopenharmony_ci
4111fd4e5da5Sopenharmony_ci	/*Info defined:
4112fd4e5da5Sopenharmony_ci	 * An information message.
4113fd4e5da5Sopenharmony_ci	 */
4114fd4e5da5Sopenharmony_ci	Info MessageType = 3
4115fd4e5da5Sopenharmony_ci
4116fd4e5da5Sopenharmony_ci	/*Log defined:
4117fd4e5da5Sopenharmony_ci	 * A log message.
4118fd4e5da5Sopenharmony_ci	 */
4119fd4e5da5Sopenharmony_ci	Log MessageType = 4
4120fd4e5da5Sopenharmony_ci
4121fd4e5da5Sopenharmony_ci	/*None defined:
4122fd4e5da5Sopenharmony_ci	 * Documents should not be synced at all.
4123fd4e5da5Sopenharmony_ci	 */
4124fd4e5da5Sopenharmony_ci	None TextDocumentSyncKind = 0
4125fd4e5da5Sopenharmony_ci
4126fd4e5da5Sopenharmony_ci	/*Full defined:
4127fd4e5da5Sopenharmony_ci	 * Documents are synced by always sending the full content
4128fd4e5da5Sopenharmony_ci	 * of the document.
4129fd4e5da5Sopenharmony_ci	 */
4130fd4e5da5Sopenharmony_ci	Full TextDocumentSyncKind = 1
4131fd4e5da5Sopenharmony_ci
4132fd4e5da5Sopenharmony_ci	/*Incremental defined:
4133fd4e5da5Sopenharmony_ci	 * Documents are synced by sending the full content on open.
4134fd4e5da5Sopenharmony_ci	 * After that only incremental updates to the document are
4135fd4e5da5Sopenharmony_ci	 * send.
4136fd4e5da5Sopenharmony_ci	 */
4137fd4e5da5Sopenharmony_ci	Incremental TextDocumentSyncKind = 2
4138fd4e5da5Sopenharmony_ci
4139fd4e5da5Sopenharmony_ci	/*Created defined:
4140fd4e5da5Sopenharmony_ci	 * The file got created.
4141fd4e5da5Sopenharmony_ci	 */
4142fd4e5da5Sopenharmony_ci	Created FileChangeType = 1
4143fd4e5da5Sopenharmony_ci
4144fd4e5da5Sopenharmony_ci	/*Changed defined:
4145fd4e5da5Sopenharmony_ci	 * The file got changed.
4146fd4e5da5Sopenharmony_ci	 */
4147fd4e5da5Sopenharmony_ci	Changed FileChangeType = 2
4148fd4e5da5Sopenharmony_ci
4149fd4e5da5Sopenharmony_ci	/*Deleted defined:
4150fd4e5da5Sopenharmony_ci	 * The file got deleted.
4151fd4e5da5Sopenharmony_ci	 */
4152fd4e5da5Sopenharmony_ci	Deleted FileChangeType = 3
4153fd4e5da5Sopenharmony_ci
4154fd4e5da5Sopenharmony_ci	/*WatchCreate defined:
4155fd4e5da5Sopenharmony_ci	 * Interested in create events.
4156fd4e5da5Sopenharmony_ci	 */
4157fd4e5da5Sopenharmony_ci	WatchCreate WatchKind = 1
4158fd4e5da5Sopenharmony_ci
4159fd4e5da5Sopenharmony_ci	/*WatchChange defined:
4160fd4e5da5Sopenharmony_ci	 * Interested in change events
4161fd4e5da5Sopenharmony_ci	 */
4162fd4e5da5Sopenharmony_ci	WatchChange WatchKind = 2
4163fd4e5da5Sopenharmony_ci
4164fd4e5da5Sopenharmony_ci	/*WatchDelete defined:
4165fd4e5da5Sopenharmony_ci	 * Interested in delete events
4166fd4e5da5Sopenharmony_ci	 */
4167fd4e5da5Sopenharmony_ci	WatchDelete WatchKind = 4
4168fd4e5da5Sopenharmony_ci
4169fd4e5da5Sopenharmony_ci	/*Invoked defined:
4170fd4e5da5Sopenharmony_ci	 * Completion was triggered by typing an identifier (24x7 code
4171fd4e5da5Sopenharmony_ci	 * complete), manual invocation (e.g Ctrl+Space) or via API.
4172fd4e5da5Sopenharmony_ci	 */
4173fd4e5da5Sopenharmony_ci	Invoked CompletionTriggerKind = 1
4174fd4e5da5Sopenharmony_ci
4175fd4e5da5Sopenharmony_ci	/*TriggerCharacter defined:
4176fd4e5da5Sopenharmony_ci	 * Completion was triggered by a trigger character specified by
4177fd4e5da5Sopenharmony_ci	 * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
4178fd4e5da5Sopenharmony_ci	 */
4179fd4e5da5Sopenharmony_ci	TriggerCharacter CompletionTriggerKind = 2
4180fd4e5da5Sopenharmony_ci
4181fd4e5da5Sopenharmony_ci	/*TriggerForIncompleteCompletions defined:
4182fd4e5da5Sopenharmony_ci	 * Completion was re-triggered as current completion list is incomplete
4183fd4e5da5Sopenharmony_ci	 */
4184fd4e5da5Sopenharmony_ci	TriggerForIncompleteCompletions CompletionTriggerKind = 3
4185fd4e5da5Sopenharmony_ci
4186fd4e5da5Sopenharmony_ci	/*ContentChange defined:
4187fd4e5da5Sopenharmony_ci	 * Signature help was triggered by the cursor moving or by the document content changing.
4188fd4e5da5Sopenharmony_ci	 */
4189fd4e5da5Sopenharmony_ci	ContentChange SignatureHelpTriggerKind = 3
4190fd4e5da5Sopenharmony_ci
4191fd4e5da5Sopenharmony_ci	/*SeverityError defined:
4192fd4e5da5Sopenharmony_ci	 * Reports an error.
4193fd4e5da5Sopenharmony_ci	 */
4194fd4e5da5Sopenharmony_ci	SeverityError DiagnosticSeverity = 1
4195fd4e5da5Sopenharmony_ci
4196fd4e5da5Sopenharmony_ci	/*SeverityWarning defined:
4197fd4e5da5Sopenharmony_ci	 * Reports a warning.
4198fd4e5da5Sopenharmony_ci	 */
4199fd4e5da5Sopenharmony_ci	SeverityWarning DiagnosticSeverity = 2
4200fd4e5da5Sopenharmony_ci
4201fd4e5da5Sopenharmony_ci	/*SeverityInformation defined:
4202fd4e5da5Sopenharmony_ci	 * Reports an information.
4203fd4e5da5Sopenharmony_ci	 */
4204fd4e5da5Sopenharmony_ci	SeverityInformation DiagnosticSeverity = 3
4205fd4e5da5Sopenharmony_ci
4206fd4e5da5Sopenharmony_ci	/*SeverityHint defined:
4207fd4e5da5Sopenharmony_ci	 * Reports a hint.
4208fd4e5da5Sopenharmony_ci	 */
4209fd4e5da5Sopenharmony_ci	SeverityHint DiagnosticSeverity = 4
4210fd4e5da5Sopenharmony_ci
4211fd4e5da5Sopenharmony_ci	/*Unnecessary defined:
4212fd4e5da5Sopenharmony_ci	 * Unused or unnecessary code.
4213fd4e5da5Sopenharmony_ci	 *
4214fd4e5da5Sopenharmony_ci	 * Clients are allowed to render diagnostics with this tag faded out instead of having
4215fd4e5da5Sopenharmony_ci	 * an error squiggle.
4216fd4e5da5Sopenharmony_ci	 */
4217fd4e5da5Sopenharmony_ci	Unnecessary DiagnosticTag = 1
4218fd4e5da5Sopenharmony_ci
4219fd4e5da5Sopenharmony_ci	/*Deprecated defined:
4220fd4e5da5Sopenharmony_ci	 * Deprecated or obsolete code.
4221fd4e5da5Sopenharmony_ci	 *
4222fd4e5da5Sopenharmony_ci	 * Clients are allowed to rendered diagnostics with this tag strike through.
4223fd4e5da5Sopenharmony_ci	 */
4224fd4e5da5Sopenharmony_ci	Deprecated DiagnosticTag = 2
4225fd4e5da5Sopenharmony_ci
4226fd4e5da5Sopenharmony_ci	/*PlainText defined:
4227fd4e5da5Sopenharmony_ci	 * Plain text is supported as a content format
4228fd4e5da5Sopenharmony_ci	 */
4229fd4e5da5Sopenharmony_ci	PlainText MarkupKind = "plaintext"
4230fd4e5da5Sopenharmony_ci
4231fd4e5da5Sopenharmony_ci	/*Markdown defined:
4232fd4e5da5Sopenharmony_ci	 * Markdown is supported as a content format
4233fd4e5da5Sopenharmony_ci	 */
4234fd4e5da5Sopenharmony_ci	Markdown MarkupKind = "markdown"
4235fd4e5da5Sopenharmony_ci
4236fd4e5da5Sopenharmony_ci	// TextCompletion is
4237fd4e5da5Sopenharmony_ci	TextCompletion CompletionItemKind = 1
4238fd4e5da5Sopenharmony_ci
4239fd4e5da5Sopenharmony_ci	// MethodCompletion is
4240fd4e5da5Sopenharmony_ci	MethodCompletion CompletionItemKind = 2
4241fd4e5da5Sopenharmony_ci
4242fd4e5da5Sopenharmony_ci	// FunctionCompletion is
4243fd4e5da5Sopenharmony_ci	FunctionCompletion CompletionItemKind = 3
4244fd4e5da5Sopenharmony_ci
4245fd4e5da5Sopenharmony_ci	// ConstructorCompletion is
4246fd4e5da5Sopenharmony_ci	ConstructorCompletion CompletionItemKind = 4
4247fd4e5da5Sopenharmony_ci
4248fd4e5da5Sopenharmony_ci	// FieldCompletion is
4249fd4e5da5Sopenharmony_ci	FieldCompletion CompletionItemKind = 5
4250fd4e5da5Sopenharmony_ci
4251fd4e5da5Sopenharmony_ci	// VariableCompletion is
4252fd4e5da5Sopenharmony_ci	VariableCompletion CompletionItemKind = 6
4253fd4e5da5Sopenharmony_ci
4254fd4e5da5Sopenharmony_ci	// ClassCompletion is
4255fd4e5da5Sopenharmony_ci	ClassCompletion CompletionItemKind = 7
4256fd4e5da5Sopenharmony_ci
4257fd4e5da5Sopenharmony_ci	// InterfaceCompletion is
4258fd4e5da5Sopenharmony_ci	InterfaceCompletion CompletionItemKind = 8
4259fd4e5da5Sopenharmony_ci
4260fd4e5da5Sopenharmony_ci	// ModuleCompletion is
4261fd4e5da5Sopenharmony_ci	ModuleCompletion CompletionItemKind = 9
4262fd4e5da5Sopenharmony_ci
4263fd4e5da5Sopenharmony_ci	// PropertyCompletion is
4264fd4e5da5Sopenharmony_ci	PropertyCompletion CompletionItemKind = 10
4265fd4e5da5Sopenharmony_ci
4266fd4e5da5Sopenharmony_ci	// UnitCompletion is
4267fd4e5da5Sopenharmony_ci	UnitCompletion CompletionItemKind = 11
4268fd4e5da5Sopenharmony_ci
4269fd4e5da5Sopenharmony_ci	// ValueCompletion is
4270fd4e5da5Sopenharmony_ci	ValueCompletion CompletionItemKind = 12
4271fd4e5da5Sopenharmony_ci
4272fd4e5da5Sopenharmony_ci	// EnumCompletion is
4273fd4e5da5Sopenharmony_ci	EnumCompletion CompletionItemKind = 13
4274fd4e5da5Sopenharmony_ci
4275fd4e5da5Sopenharmony_ci	// KeywordCompletion is
4276fd4e5da5Sopenharmony_ci	KeywordCompletion CompletionItemKind = 14
4277fd4e5da5Sopenharmony_ci
4278fd4e5da5Sopenharmony_ci	// SnippetCompletion is
4279fd4e5da5Sopenharmony_ci	SnippetCompletion CompletionItemKind = 15
4280fd4e5da5Sopenharmony_ci
4281fd4e5da5Sopenharmony_ci	// ColorCompletion is
4282fd4e5da5Sopenharmony_ci	ColorCompletion CompletionItemKind = 16
4283fd4e5da5Sopenharmony_ci
4284fd4e5da5Sopenharmony_ci	// FileCompletion is
4285fd4e5da5Sopenharmony_ci	FileCompletion CompletionItemKind = 17
4286fd4e5da5Sopenharmony_ci
4287fd4e5da5Sopenharmony_ci	// ReferenceCompletion is
4288fd4e5da5Sopenharmony_ci	ReferenceCompletion CompletionItemKind = 18
4289fd4e5da5Sopenharmony_ci
4290fd4e5da5Sopenharmony_ci	// FolderCompletion is
4291fd4e5da5Sopenharmony_ci	FolderCompletion CompletionItemKind = 19
4292fd4e5da5Sopenharmony_ci
4293fd4e5da5Sopenharmony_ci	// EnumMemberCompletion is
4294fd4e5da5Sopenharmony_ci	EnumMemberCompletion CompletionItemKind = 20
4295fd4e5da5Sopenharmony_ci
4296fd4e5da5Sopenharmony_ci	// ConstantCompletion is
4297fd4e5da5Sopenharmony_ci	ConstantCompletion CompletionItemKind = 21
4298fd4e5da5Sopenharmony_ci
4299fd4e5da5Sopenharmony_ci	// StructCompletion is
4300fd4e5da5Sopenharmony_ci	StructCompletion CompletionItemKind = 22
4301fd4e5da5Sopenharmony_ci
4302fd4e5da5Sopenharmony_ci	// EventCompletion is
4303fd4e5da5Sopenharmony_ci	EventCompletion CompletionItemKind = 23
4304fd4e5da5Sopenharmony_ci
4305fd4e5da5Sopenharmony_ci	// OperatorCompletion is
4306fd4e5da5Sopenharmony_ci	OperatorCompletion CompletionItemKind = 24
4307fd4e5da5Sopenharmony_ci
4308fd4e5da5Sopenharmony_ci	// TypeParameterCompletion is
4309fd4e5da5Sopenharmony_ci	TypeParameterCompletion CompletionItemKind = 25
4310fd4e5da5Sopenharmony_ci
4311fd4e5da5Sopenharmony_ci	/*PlainTextTextFormat defined:
4312fd4e5da5Sopenharmony_ci	 * The primary text to be inserted is treated as a plain string.
4313fd4e5da5Sopenharmony_ci	 */
4314fd4e5da5Sopenharmony_ci	PlainTextTextFormat InsertTextFormat = 1
4315fd4e5da5Sopenharmony_ci
4316fd4e5da5Sopenharmony_ci	/*SnippetTextFormat defined:
4317fd4e5da5Sopenharmony_ci	 * The primary text to be inserted is treated as a snippet.
4318fd4e5da5Sopenharmony_ci	 *
4319fd4e5da5Sopenharmony_ci	 * A snippet can define tab stops and placeholders with `$1`, `$2`
4320fd4e5da5Sopenharmony_ci	 * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
4321fd4e5da5Sopenharmony_ci	 * the end of the snippet. Placeholders with equal identifiers are linked,
4322fd4e5da5Sopenharmony_ci	 * that is typing in one will update others too.
4323fd4e5da5Sopenharmony_ci	 *
4324fd4e5da5Sopenharmony_ci	 * See also: https://github.com/Microsoft/vscode/blob/master/src/vs/editor/contrib/snippet/common/snippet.md
4325fd4e5da5Sopenharmony_ci	 */
4326fd4e5da5Sopenharmony_ci	SnippetTextFormat InsertTextFormat = 2
4327fd4e5da5Sopenharmony_ci
4328fd4e5da5Sopenharmony_ci	/*Text defined:
4329fd4e5da5Sopenharmony_ci	 * A textual occurrence.
4330fd4e5da5Sopenharmony_ci	 */
4331fd4e5da5Sopenharmony_ci	Text DocumentHighlightKind = 1
4332fd4e5da5Sopenharmony_ci
4333fd4e5da5Sopenharmony_ci	/*Read defined:
4334fd4e5da5Sopenharmony_ci	 * Read-access of a symbol, like reading a variable.
4335fd4e5da5Sopenharmony_ci	 */
4336fd4e5da5Sopenharmony_ci	Read DocumentHighlightKind = 2
4337fd4e5da5Sopenharmony_ci
4338fd4e5da5Sopenharmony_ci	/*Write defined:
4339fd4e5da5Sopenharmony_ci	 * Write-access of a symbol, like writing to a variable.
4340fd4e5da5Sopenharmony_ci	 */
4341fd4e5da5Sopenharmony_ci	Write DocumentHighlightKind = 3
4342fd4e5da5Sopenharmony_ci
4343fd4e5da5Sopenharmony_ci	// File is
4344fd4e5da5Sopenharmony_ci	File SymbolKind = 1
4345fd4e5da5Sopenharmony_ci
4346fd4e5da5Sopenharmony_ci	// Module is
4347fd4e5da5Sopenharmony_ci	Module SymbolKind = 2
4348fd4e5da5Sopenharmony_ci
4349fd4e5da5Sopenharmony_ci	// Namespace is
4350fd4e5da5Sopenharmony_ci	Namespace SymbolKind = 3
4351fd4e5da5Sopenharmony_ci
4352fd4e5da5Sopenharmony_ci	// Package is
4353fd4e5da5Sopenharmony_ci	Package SymbolKind = 4
4354fd4e5da5Sopenharmony_ci
4355fd4e5da5Sopenharmony_ci	// Class is
4356fd4e5da5Sopenharmony_ci	Class SymbolKind = 5
4357fd4e5da5Sopenharmony_ci
4358fd4e5da5Sopenharmony_ci	// Method is
4359fd4e5da5Sopenharmony_ci	Method SymbolKind = 6
4360fd4e5da5Sopenharmony_ci
4361fd4e5da5Sopenharmony_ci	// Property is
4362fd4e5da5Sopenharmony_ci	Property SymbolKind = 7
4363fd4e5da5Sopenharmony_ci
4364fd4e5da5Sopenharmony_ci	// Field is
4365fd4e5da5Sopenharmony_ci	Field SymbolKind = 8
4366fd4e5da5Sopenharmony_ci
4367fd4e5da5Sopenharmony_ci	// Constructor is
4368fd4e5da5Sopenharmony_ci	Constructor SymbolKind = 9
4369fd4e5da5Sopenharmony_ci
4370fd4e5da5Sopenharmony_ci	// Enum is
4371fd4e5da5Sopenharmony_ci	Enum SymbolKind = 10
4372fd4e5da5Sopenharmony_ci
4373fd4e5da5Sopenharmony_ci	// Interface is
4374fd4e5da5Sopenharmony_ci	Interface SymbolKind = 11
4375fd4e5da5Sopenharmony_ci
4376fd4e5da5Sopenharmony_ci	// Function is
4377fd4e5da5Sopenharmony_ci	Function SymbolKind = 12
4378fd4e5da5Sopenharmony_ci
4379fd4e5da5Sopenharmony_ci	// Variable is
4380fd4e5da5Sopenharmony_ci	Variable SymbolKind = 13
4381fd4e5da5Sopenharmony_ci
4382fd4e5da5Sopenharmony_ci	// Constant is
4383fd4e5da5Sopenharmony_ci	Constant SymbolKind = 14
4384fd4e5da5Sopenharmony_ci
4385fd4e5da5Sopenharmony_ci	// String is
4386fd4e5da5Sopenharmony_ci	String SymbolKind = 15
4387fd4e5da5Sopenharmony_ci
4388fd4e5da5Sopenharmony_ci	// Number is
4389fd4e5da5Sopenharmony_ci	Number SymbolKind = 16
4390fd4e5da5Sopenharmony_ci
4391fd4e5da5Sopenharmony_ci	// Boolean is
4392fd4e5da5Sopenharmony_ci	Boolean SymbolKind = 17
4393fd4e5da5Sopenharmony_ci
4394fd4e5da5Sopenharmony_ci	// Array is
4395fd4e5da5Sopenharmony_ci	Array SymbolKind = 18
4396fd4e5da5Sopenharmony_ci
4397fd4e5da5Sopenharmony_ci	// Object is
4398fd4e5da5Sopenharmony_ci	Object SymbolKind = 19
4399fd4e5da5Sopenharmony_ci
4400fd4e5da5Sopenharmony_ci	// Key is
4401fd4e5da5Sopenharmony_ci	Key SymbolKind = 20
4402fd4e5da5Sopenharmony_ci
4403fd4e5da5Sopenharmony_ci	// Null is
4404fd4e5da5Sopenharmony_ci	Null SymbolKind = 21
4405fd4e5da5Sopenharmony_ci
4406fd4e5da5Sopenharmony_ci	// EnumMember is
4407fd4e5da5Sopenharmony_ci	EnumMember SymbolKind = 22
4408fd4e5da5Sopenharmony_ci
4409fd4e5da5Sopenharmony_ci	// Struct is
4410fd4e5da5Sopenharmony_ci	Struct SymbolKind = 23
4411fd4e5da5Sopenharmony_ci
4412fd4e5da5Sopenharmony_ci	// Event is
4413fd4e5da5Sopenharmony_ci	Event SymbolKind = 24
4414fd4e5da5Sopenharmony_ci
4415fd4e5da5Sopenharmony_ci	// Operator is
4416fd4e5da5Sopenharmony_ci	Operator SymbolKind = 25
4417fd4e5da5Sopenharmony_ci
4418fd4e5da5Sopenharmony_ci	// TypeParameter is
4419fd4e5da5Sopenharmony_ci	TypeParameter SymbolKind = 26
4420fd4e5da5Sopenharmony_ci
4421fd4e5da5Sopenharmony_ci	/*Empty defined:
4422fd4e5da5Sopenharmony_ci	 * Empty kind.
4423fd4e5da5Sopenharmony_ci	 */
4424fd4e5da5Sopenharmony_ci	Empty CodeActionKind = ""
4425fd4e5da5Sopenharmony_ci
4426fd4e5da5Sopenharmony_ci	/*QuickFix defined:
4427fd4e5da5Sopenharmony_ci	 * Base kind for quickfix actions: 'quickfix'
4428fd4e5da5Sopenharmony_ci	 */
4429fd4e5da5Sopenharmony_ci	QuickFix CodeActionKind = "quickfix"
4430fd4e5da5Sopenharmony_ci
4431fd4e5da5Sopenharmony_ci	/*Refactor defined:
4432fd4e5da5Sopenharmony_ci	 * Base kind for refactoring actions: 'refactor'
4433fd4e5da5Sopenharmony_ci	 */
4434fd4e5da5Sopenharmony_ci	Refactor CodeActionKind = "refactor"
4435fd4e5da5Sopenharmony_ci
4436fd4e5da5Sopenharmony_ci	/*RefactorExtract defined:
4437fd4e5da5Sopenharmony_ci	 * Base kind for refactoring extraction actions: 'refactor.extract'
4438fd4e5da5Sopenharmony_ci	 *
4439fd4e5da5Sopenharmony_ci	 * Example extract actions:
4440fd4e5da5Sopenharmony_ci	 *
4441fd4e5da5Sopenharmony_ci	 * - Extract method
4442fd4e5da5Sopenharmony_ci	 * - Extract function
4443fd4e5da5Sopenharmony_ci	 * - Extract variable
4444fd4e5da5Sopenharmony_ci	 * - Extract interface from class
4445fd4e5da5Sopenharmony_ci	 * - ...
4446fd4e5da5Sopenharmony_ci	 */
4447fd4e5da5Sopenharmony_ci	RefactorExtract CodeActionKind = "refactor.extract"
4448fd4e5da5Sopenharmony_ci
4449fd4e5da5Sopenharmony_ci	/*RefactorInline defined:
4450fd4e5da5Sopenharmony_ci	 * Base kind for refactoring inline actions: 'refactor.inline'
4451fd4e5da5Sopenharmony_ci	 *
4452fd4e5da5Sopenharmony_ci	 * Example inline actions:
4453fd4e5da5Sopenharmony_ci	 *
4454fd4e5da5Sopenharmony_ci	 * - Inline function
4455fd4e5da5Sopenharmony_ci	 * - Inline variable
4456fd4e5da5Sopenharmony_ci	 * - Inline constant
4457fd4e5da5Sopenharmony_ci	 * - ...
4458fd4e5da5Sopenharmony_ci	 */
4459fd4e5da5Sopenharmony_ci	RefactorInline CodeActionKind = "refactor.inline"
4460fd4e5da5Sopenharmony_ci
4461fd4e5da5Sopenharmony_ci	/*RefactorRewrite defined:
4462fd4e5da5Sopenharmony_ci	 * Base kind for refactoring rewrite actions: 'refactor.rewrite'
4463fd4e5da5Sopenharmony_ci	 *
4464fd4e5da5Sopenharmony_ci	 * Example rewrite actions:
4465fd4e5da5Sopenharmony_ci	 *
4466fd4e5da5Sopenharmony_ci	 * - Convert JavaScript function to class
4467fd4e5da5Sopenharmony_ci	 * - Add or remove parameter
4468fd4e5da5Sopenharmony_ci	 * - Encapsulate field
4469fd4e5da5Sopenharmony_ci	 * - Make method static
4470fd4e5da5Sopenharmony_ci	 * - Move method to base class
4471fd4e5da5Sopenharmony_ci	 * - ...
4472fd4e5da5Sopenharmony_ci	 */
4473fd4e5da5Sopenharmony_ci	RefactorRewrite CodeActionKind = "refactor.rewrite"
4474fd4e5da5Sopenharmony_ci
4475fd4e5da5Sopenharmony_ci	/*Source defined:
4476fd4e5da5Sopenharmony_ci	 * Base kind for source actions: `source`
4477fd4e5da5Sopenharmony_ci	 *
4478fd4e5da5Sopenharmony_ci	 * Source code actions apply to the entire file.
4479fd4e5da5Sopenharmony_ci	 */
4480fd4e5da5Sopenharmony_ci	Source CodeActionKind = "source"
4481fd4e5da5Sopenharmony_ci
4482fd4e5da5Sopenharmony_ci	/*SourceOrganizeImports defined:
4483fd4e5da5Sopenharmony_ci	 * Base kind for an organize imports source action: `source.organizeImports`
4484fd4e5da5Sopenharmony_ci	 */
4485fd4e5da5Sopenharmony_ci	SourceOrganizeImports CodeActionKind = "source.organizeImports"
4486fd4e5da5Sopenharmony_ci
4487fd4e5da5Sopenharmony_ci	/*Manual defined:
4488fd4e5da5Sopenharmony_ci	 * Manually triggered, e.g. by the user pressing save, by starting debugging,
4489fd4e5da5Sopenharmony_ci	 * or by an API call.
4490fd4e5da5Sopenharmony_ci	 */
4491fd4e5da5Sopenharmony_ci	Manual TextDocumentSaveReason = 1
4492fd4e5da5Sopenharmony_ci
4493fd4e5da5Sopenharmony_ci	/*AfterDelay defined:
4494fd4e5da5Sopenharmony_ci	 * Automatic after a delay.
4495fd4e5da5Sopenharmony_ci	 */
4496fd4e5da5Sopenharmony_ci	AfterDelay TextDocumentSaveReason = 2
4497fd4e5da5Sopenharmony_ci
4498fd4e5da5Sopenharmony_ci	/*FocusOut defined:
4499fd4e5da5Sopenharmony_ci	 * When the editor lost focus.
4500fd4e5da5Sopenharmony_ci	 */
4501fd4e5da5Sopenharmony_ci	FocusOut TextDocumentSaveReason = 3
4502fd4e5da5Sopenharmony_ci
4503fd4e5da5Sopenharmony_ci	// MessageWriteError is
4504fd4e5da5Sopenharmony_ci	MessageWriteError ErrorCodes = 1
4505fd4e5da5Sopenharmony_ci
4506fd4e5da5Sopenharmony_ci	// MessageReadError is
4507fd4e5da5Sopenharmony_ci	MessageReadError ErrorCodes = 2
4508fd4e5da5Sopenharmony_ci
4509fd4e5da5Sopenharmony_ci	// First is
4510fd4e5da5Sopenharmony_ci	First Touch = 1
4511fd4e5da5Sopenharmony_ci
4512fd4e5da5Sopenharmony_ci	// Last is
4513fd4e5da5Sopenharmony_ci	Last Touch = 2
4514fd4e5da5Sopenharmony_ci
4515fd4e5da5Sopenharmony_ci	// JSON is
4516fd4e5da5Sopenharmony_ci	JSON TraceFormat = "json"
4517fd4e5da5Sopenharmony_ci
4518fd4e5da5Sopenharmony_ci	/*Closed defined:
4519fd4e5da5Sopenharmony_ci	 * The connection is closed.
4520fd4e5da5Sopenharmony_ci	 */
4521fd4e5da5Sopenharmony_ci	Closed ConnectionErrors = 1
4522fd4e5da5Sopenharmony_ci
4523fd4e5da5Sopenharmony_ci	/*Disposed defined:
4524fd4e5da5Sopenharmony_ci	 * The connection got disposed.
4525fd4e5da5Sopenharmony_ci	 */
4526fd4e5da5Sopenharmony_ci	Disposed ConnectionErrors = 2
4527fd4e5da5Sopenharmony_ci
4528fd4e5da5Sopenharmony_ci	/*AlreadyListening defined:
4529fd4e5da5Sopenharmony_ci	 * The connection is already in listening mode.
4530fd4e5da5Sopenharmony_ci	 */
4531fd4e5da5Sopenharmony_ci	AlreadyListening ConnectionErrors = 3
4532fd4e5da5Sopenharmony_ci
4533fd4e5da5Sopenharmony_ci	// New is
4534fd4e5da5Sopenharmony_ci	New ConnectionState = 1
4535fd4e5da5Sopenharmony_ci
4536fd4e5da5Sopenharmony_ci	// Listening is
4537fd4e5da5Sopenharmony_ci	Listening ConnectionState = 2
4538fd4e5da5Sopenharmony_ci)
4539fd4e5da5Sopenharmony_ci
4540fd4e5da5Sopenharmony_ci// DocumentFilter is a type
4541fd4e5da5Sopenharmony_ci/**
4542fd4e5da5Sopenharmony_ci * A document filter denotes a document by different properties like
4543fd4e5da5Sopenharmony_ci * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
4544fd4e5da5Sopenharmony_ci * its resource, or a glob-pattern that is applied to the [path](#TextDocument.fileName).
4545fd4e5da5Sopenharmony_ci *
4546fd4e5da5Sopenharmony_ci * Glob patterns can have the following syntax:
4547fd4e5da5Sopenharmony_ci * - `*` to match one or more characters in a path segment
4548fd4e5da5Sopenharmony_ci * - `?` to match on one character in a path segment
4549fd4e5da5Sopenharmony_ci * - `**` to match any number of path segments, including none
4550fd4e5da5Sopenharmony_ci * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
4551fd4e5da5Sopenharmony_ci * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
4552fd4e5da5Sopenharmony_ci * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
4553fd4e5da5Sopenharmony_ci *
4554fd4e5da5Sopenharmony_ci * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
4555fd4e5da5Sopenharmony_ci * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
4556fd4e5da5Sopenharmony_ci */
4557fd4e5da5Sopenharmony_citype DocumentFilter = struct {
4558fd4e5da5Sopenharmony_ci
4559fd4e5da5Sopenharmony_ci	/*Language defined: A language id, like `typescript`. */
4560fd4e5da5Sopenharmony_ci	Language string `json:"language,omitempty"`
4561fd4e5da5Sopenharmony_ci
4562fd4e5da5Sopenharmony_ci	/*Scheme defined: A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
4563fd4e5da5Sopenharmony_ci	Scheme string `json:"scheme,omitempty"`
4564fd4e5da5Sopenharmony_ci
4565fd4e5da5Sopenharmony_ci	/*Pattern defined: A glob pattern, like `*.{ts,js}`. */
4566fd4e5da5Sopenharmony_ci	Pattern string `json:"pattern,omitempty"`
4567fd4e5da5Sopenharmony_ci}
4568fd4e5da5Sopenharmony_ci
4569fd4e5da5Sopenharmony_ci// DocumentSelector is a type
4570fd4e5da5Sopenharmony_ci/**
4571fd4e5da5Sopenharmony_ci * A document selector is the combination of one or many document filters.
4572fd4e5da5Sopenharmony_ci *
4573fd4e5da5Sopenharmony_ci * @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`;
4574fd4e5da5Sopenharmony_ci */
4575fd4e5da5Sopenharmony_citype DocumentSelector = []DocumentFilter
4576fd4e5da5Sopenharmony_ci
4577fd4e5da5Sopenharmony_ci// DocumentURI is a type
4578fd4e5da5Sopenharmony_ci/**
4579fd4e5da5Sopenharmony_ci * A tagging type for string properties that are actually URIs.
4580fd4e5da5Sopenharmony_ci */
4581fd4e5da5Sopenharmony_citype DocumentURI = string
4582fd4e5da5Sopenharmony_ci
4583fd4e5da5Sopenharmony_ci// MarkedString is a type
4584fd4e5da5Sopenharmony_ci/**
4585fd4e5da5Sopenharmony_ci * MarkedString can be used to render human readable text. It is either a markdown string
4586fd4e5da5Sopenharmony_ci * or a code-block that provides a language and a code snippet. The language identifier
4587fd4e5da5Sopenharmony_ci * is semantically equal to the optional language identifier in fenced code blocks in GitHub
4588fd4e5da5Sopenharmony_ci * issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
4589fd4e5da5Sopenharmony_ci *
4590fd4e5da5Sopenharmony_ci * The pair of a language and a value is an equivalent to markdown:
4591fd4e5da5Sopenharmony_ci * ```${language}
4592fd4e5da5Sopenharmony_ci * ${value}
4593fd4e5da5Sopenharmony_ci * ```
4594fd4e5da5Sopenharmony_ci *
4595fd4e5da5Sopenharmony_ci * Note that markdown strings will be sanitized - that means html will be escaped.
4596fd4e5da5Sopenharmony_ci * @deprecated use MarkupContent instead.
4597fd4e5da5Sopenharmony_ci */
4598fd4e5da5Sopenharmony_citype MarkedString = string
4599fd4e5da5Sopenharmony_ci
4600fd4e5da5Sopenharmony_ci// DefinitionLink is a type
4601fd4e5da5Sopenharmony_ci/**
4602fd4e5da5Sopenharmony_ci * Information about where a symbol is defined.
4603fd4e5da5Sopenharmony_ci *
4604fd4e5da5Sopenharmony_ci * Provides additional metadata over normal [location](#Location) definitions, including the range of
4605fd4e5da5Sopenharmony_ci * the defining symbol
4606fd4e5da5Sopenharmony_ci */
4607fd4e5da5Sopenharmony_citype DefinitionLink = LocationLink
4608fd4e5da5Sopenharmony_ci
4609fd4e5da5Sopenharmony_ci// DeclarationLink is a type
4610fd4e5da5Sopenharmony_ci/**
4611fd4e5da5Sopenharmony_ci * Information about where a symbol is declared.
4612fd4e5da5Sopenharmony_ci *
4613fd4e5da5Sopenharmony_ci * Provides additional metadata over normal [location](#Location) declarations, including the range of
4614fd4e5da5Sopenharmony_ci * the declaring symbol.
4615fd4e5da5Sopenharmony_ci *
4616fd4e5da5Sopenharmony_ci * Servers should prefer returning `DeclarationLink` over `Declaration` if supported
4617fd4e5da5Sopenharmony_ci * by the client.
4618fd4e5da5Sopenharmony_ci */
4619fd4e5da5Sopenharmony_citype DeclarationLink = LocationLink
4620fd4e5da5Sopenharmony_ci
4621fd4e5da5Sopenharmony_ci// LSPMessageType is a type
4622fd4e5da5Sopenharmony_ci/**
4623fd4e5da5Sopenharmony_ci * A LSP Log Entry.
4624fd4e5da5Sopenharmony_ci */
4625fd4e5da5Sopenharmony_citype LSPMessageType = string
4626fd4e5da5Sopenharmony_ci
4627fd4e5da5Sopenharmony_ci// ProgressToken is a type
4628fd4e5da5Sopenharmony_citype ProgressToken = interface{} // number | string
4629fd4e5da5Sopenharmony_ci// TraceValues is a type
4630fd4e5da5Sopenharmony_citype TraceValues = string
4631