puppet-editor-services 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +510 -0
  3. data/CODEOWNERS +2 -0
  4. data/CODE_OF_CONDUCT.md +46 -0
  5. data/CONTRIBUTING.md +54 -0
  6. data/Gemfile +53 -0
  7. data/LICENSE +201 -0
  8. data/README.md +308 -0
  9. data/Rakefile +185 -0
  10. data/bin/puppet-debugserver +8 -0
  11. data/bin/puppet-languageserver +7 -0
  12. data/bin/puppet-languageserver-sidecar +7 -0
  13. data/lib/dsp/dsp.rb +7 -0
  14. data/lib/dsp/dsp_base.rb +62 -0
  15. data/lib/dsp/dsp_protocol.rb +4619 -0
  16. data/lib/lsp/lsp.rb +10 -0
  17. data/lib/lsp/lsp_base.rb +63 -0
  18. data/lib/lsp/lsp_custom.rb +170 -0
  19. data/lib/lsp/lsp_enums.rb +143 -0
  20. data/lib/lsp/lsp_protocol.rb +2785 -0
  21. data/lib/lsp/lsp_protocol_callhierarchy.proposed.rb +239 -0
  22. data/lib/lsp/lsp_protocol_colorprovider.rb +100 -0
  23. data/lib/lsp/lsp_protocol_configuration.rb +82 -0
  24. data/lib/lsp/lsp_protocol_declaration.rb +73 -0
  25. data/lib/lsp/lsp_protocol_foldingrange.rb +129 -0
  26. data/lib/lsp/lsp_protocol_implementation.rb +75 -0
  27. data/lib/lsp/lsp_protocol_progress.rb +200 -0
  28. data/lib/lsp/lsp_protocol_selectionrange.rb +79 -0
  29. data/lib/lsp/lsp_protocol_sematictokens.proposed.rb +340 -0
  30. data/lib/lsp/lsp_protocol_typedefinition.rb +75 -0
  31. data/lib/lsp/lsp_protocol_workspacefolders.rb +174 -0
  32. data/lib/lsp/lsp_types.rb +1534 -0
  33. data/lib/puppet-debugserver/debug_session/break_points.rb +137 -0
  34. data/lib/puppet-debugserver/debug_session/flow_control.rb +161 -0
  35. data/lib/puppet-debugserver/debug_session/hook_handlers.rb +295 -0
  36. data/lib/puppet-debugserver/debug_session/puppet_session_run_mode.rb +66 -0
  37. data/lib/puppet-debugserver/debug_session/puppet_session_state.rb +122 -0
  38. data/lib/puppet-debugserver/hooks.rb +132 -0
  39. data/lib/puppet-debugserver/message_handler.rb +277 -0
  40. data/lib/puppet-debugserver/puppet_debug_session.rb +541 -0
  41. data/lib/puppet-debugserver/puppet_monkey_patches.rb +118 -0
  42. data/lib/puppet-languageserver/client_session_state.rb +119 -0
  43. data/lib/puppet-languageserver/crash_dump.rb +50 -0
  44. data/lib/puppet-languageserver/epp/validation_provider.rb +34 -0
  45. data/lib/puppet-languageserver/facter_helper.rb +25 -0
  46. data/lib/puppet-languageserver/global_queues/sidecar_queue.rb +205 -0
  47. data/lib/puppet-languageserver/global_queues/single_instance_queue.rb +126 -0
  48. data/lib/puppet-languageserver/global_queues/validation_queue.rb +102 -0
  49. data/lib/puppet-languageserver/global_queues.rb +16 -0
  50. data/lib/puppet-languageserver/manifest/completion_provider.rb +331 -0
  51. data/lib/puppet-languageserver/manifest/definition_provider.rb +99 -0
  52. data/lib/puppet-languageserver/manifest/document_symbol_provider.rb +228 -0
  53. data/lib/puppet-languageserver/manifest/folding_provider.rb +226 -0
  54. data/lib/puppet-languageserver/manifest/format_on_type_provider.rb +143 -0
  55. data/lib/puppet-languageserver/manifest/hover_provider.rb +221 -0
  56. data/lib/puppet-languageserver/manifest/signature_provider.rb +169 -0
  57. data/lib/puppet-languageserver/manifest/validation_provider.rb +127 -0
  58. data/lib/puppet-languageserver/message_handler.rb +462 -0
  59. data/lib/puppet-languageserver/providers.rb +18 -0
  60. data/lib/puppet-languageserver/puppet_helper.rb +108 -0
  61. data/lib/puppet-languageserver/puppet_lexer_helper.rb +55 -0
  62. data/lib/puppet-languageserver/puppet_monkey_patches.rb +39 -0
  63. data/lib/puppet-languageserver/puppet_parser_helper.rb +212 -0
  64. data/lib/puppet-languageserver/puppetfile/validation_provider.rb +185 -0
  65. data/lib/puppet-languageserver/server_capabilities.rb +48 -0
  66. data/lib/puppet-languageserver/session_state/document_store.rb +272 -0
  67. data/lib/puppet-languageserver/session_state/language_client.rb +239 -0
  68. data/lib/puppet-languageserver/session_state/object_cache.rb +162 -0
  69. data/lib/puppet-languageserver/sidecar_protocol.rb +532 -0
  70. data/lib/puppet-languageserver/uri_helper.rb +46 -0
  71. data/lib/puppet-languageserver-sidecar/cache/base.rb +36 -0
  72. data/lib/puppet-languageserver-sidecar/cache/filesystem.rb +111 -0
  73. data/lib/puppet-languageserver-sidecar/cache/null.rb +27 -0
  74. data/lib/puppet-languageserver-sidecar/facter_helper.rb +41 -0
  75. data/lib/puppet-languageserver-sidecar/puppet_environment_monkey_patches.rb +52 -0
  76. data/lib/puppet-languageserver-sidecar/puppet_helper.rb +281 -0
  77. data/lib/puppet-languageserver-sidecar/puppet_modulepath_monkey_patches.rb +146 -0
  78. data/lib/puppet-languageserver-sidecar/puppet_monkey_patches.rb +9 -0
  79. data/lib/puppet-languageserver-sidecar/puppet_parser_helper.rb +77 -0
  80. data/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb +399 -0
  81. data/lib/puppet-languageserver-sidecar/puppet_strings_monkey_patches.rb +16 -0
  82. data/lib/puppet-languageserver-sidecar/sidecar_protocol_extensions.rb +16 -0
  83. data/lib/puppet-languageserver-sidecar/workspace.rb +89 -0
  84. data/lib/puppet_debugserver.rb +164 -0
  85. data/lib/puppet_editor_services/connection/base.rb +62 -0
  86. data/lib/puppet_editor_services/connection/stdio.rb +25 -0
  87. data/lib/puppet_editor_services/connection/tcp.rb +34 -0
  88. data/lib/puppet_editor_services/handler/base.rb +16 -0
  89. data/lib/puppet_editor_services/handler/debug_adapter.rb +63 -0
  90. data/lib/puppet_editor_services/handler/json_rpc.rb +133 -0
  91. data/lib/puppet_editor_services/logging.rb +45 -0
  92. data/lib/puppet_editor_services/protocol/base.rb +27 -0
  93. data/lib/puppet_editor_services/protocol/debug_adapter.rb +135 -0
  94. data/lib/puppet_editor_services/protocol/debug_adapter_messages.rb +171 -0
  95. data/lib/puppet_editor_services/protocol/json_rpc.rb +241 -0
  96. data/lib/puppet_editor_services/protocol/json_rpc_messages.rb +200 -0
  97. data/lib/puppet_editor_services/server/base.rb +42 -0
  98. data/lib/puppet_editor_services/server/stdio.rb +85 -0
  99. data/lib/puppet_editor_services/server/tcp.rb +349 -0
  100. data/lib/puppet_editor_services/server.rb +15 -0
  101. data/lib/puppet_editor_services/version.rb +36 -0
  102. data/lib/puppet_editor_services.rb +8 -0
  103. data/lib/puppet_languageserver.rb +263 -0
  104. data/lib/puppet_languageserver_sidecar.rb +361 -0
  105. data/puppet-debugserver +11 -0
  106. data/puppet-editor-services.gemspec +29 -0
  107. data/puppet-languageserver +15 -0
  108. data/puppet-languageserver-sidecar +14 -0
  109. metadata +240 -0
@@ -0,0 +1,2785 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.d.ts
5
+
6
+ # rubocop:disable Layout/EmptyLinesAroundClassBody
7
+ # rubocop:disable Lint/UselessAssignment
8
+ # rubocop:disable Naming/MethodName
9
+
10
+ module LSP
11
+ # export interface Registration {
12
+ # /**
13
+ # * The id used to register the request. The id can be used to deregister
14
+ # * the request again.
15
+ # */
16
+ # id: string;
17
+ # /**
18
+ # * The method to register for.
19
+ # */
20
+ # method: string;
21
+ # /**
22
+ # * Options necessary for the registration.
23
+ # */
24
+ # registerOptions?: any;
25
+ # }
26
+ class Registration < LSPBase
27
+ attr_accessor :id, :method__lsp, :registerOptions # type: string # type: string # type: any
28
+
29
+ def initialize(initial_hash = nil)
30
+ super
31
+ @optional_method_names = %i[registerOptions]
32
+ end
33
+
34
+ def from_h!(value)
35
+ value = {} if value.nil?
36
+ self.id = value['id']
37
+ self.method__lsp = value['method']
38
+ self.registerOptions = value['registerOptions']
39
+ self
40
+ end
41
+ end
42
+
43
+ # export interface RegistrationParams {
44
+ # registrations: Registration[];
45
+ # }
46
+ class RegistrationParams < LSPBase
47
+ attr_accessor :registrations # type: Registration[]
48
+
49
+ def from_h!(value)
50
+ value = {} if value.nil?
51
+ self.registrations = to_typed_aray(value['registrations'], Registration)
52
+ self
53
+ end
54
+ end
55
+
56
+ # export interface Unregistration {
57
+ # /**
58
+ # * The id used to unregister the request or notification. Usually an id
59
+ # * provided during the register request.
60
+ # */
61
+ # id: string;
62
+ # /**
63
+ # * The method to unregister for.
64
+ # */
65
+ # method: string;
66
+ # }
67
+ class Unregistration < LSPBase
68
+ attr_accessor :id, :method__lsp # type: string # type: string
69
+
70
+ def from_h!(value)
71
+ value = {} if value.nil?
72
+ self.id = value['id']
73
+ self.method__lsp = value['method']
74
+ self
75
+ end
76
+ end
77
+
78
+ # export interface UnregistrationParams {
79
+ # unregisterations: Unregistration[];
80
+ # }
81
+ class UnregistrationParams < LSPBase
82
+ attr_accessor :unregisterations # type: Unregistration[]
83
+
84
+ def from_h!(value)
85
+ value = {} if value.nil?
86
+ self.unregisterations = to_typed_aray(value['unregisterations'], Unregistration)
87
+ self
88
+ end
89
+ end
90
+
91
+ # export interface WorkDoneProgressParams {
92
+ # /**
93
+ # * An optional token that a server can use to report work done progress.
94
+ # */
95
+ # workDoneToken?: ProgressToken;
96
+ # }
97
+ class WorkDoneProgressParams < LSPBase
98
+ attr_accessor :workDoneToken # type: ProgressToken
99
+
100
+ def initialize(initial_hash = nil)
101
+ super
102
+ @optional_method_names = %i[workDoneToken]
103
+ end
104
+
105
+ def from_h!(value)
106
+ value = {} if value.nil?
107
+ self.workDoneToken = value['workDoneToken'] # Unknown type
108
+ self
109
+ end
110
+ end
111
+
112
+ # export interface PartialResultParams {
113
+ # /**
114
+ # * An optional token that a server can use to report partial results (e.g. streaming) to
115
+ # * the client.
116
+ # */
117
+ # partialResultToken?: ProgressToken;
118
+ # }
119
+ class PartialResultParams < LSPBase
120
+ attr_accessor :partialResultToken # type: ProgressToken
121
+
122
+ def initialize(initial_hash = nil)
123
+ super
124
+ @optional_method_names = %i[partialResultToken]
125
+ end
126
+
127
+ def from_h!(value)
128
+ value = {} if value.nil?
129
+ self.partialResultToken = value['partialResultToken'] # Unknown type
130
+ self
131
+ end
132
+ end
133
+
134
+ # export interface TextDocumentPositionParams {
135
+ # /**
136
+ # * The text document.
137
+ # */
138
+ # textDocument: TextDocumentIdentifier;
139
+ # /**
140
+ # * The position inside the text document.
141
+ # */
142
+ # position: Position;
143
+ # }
144
+ class TextDocumentPositionParams < LSPBase
145
+ attr_accessor :textDocument, :position # type: TextDocumentIdentifier # type: Position
146
+
147
+ def from_h!(value)
148
+ value = {} if value.nil?
149
+ self.textDocument = value['textDocument'] # Unknown type
150
+ self.position = value['position'] # Unknown type
151
+ self
152
+ end
153
+ end
154
+
155
+ # export interface StaticRegistrationOptions {
156
+ # /**
157
+ # * The id used to register the request. The id can be used to deregister
158
+ # * the request again. See also Registration#id.
159
+ # */
160
+ # id?: string;
161
+ # }
162
+ class StaticRegistrationOptions < LSPBase
163
+ attr_accessor :id # type: string
164
+
165
+ def initialize(initial_hash = nil)
166
+ super
167
+ @optional_method_names = %i[id]
168
+ end
169
+
170
+ def from_h!(value)
171
+ value = {} if value.nil?
172
+ self.id = value['id']
173
+ self
174
+ end
175
+ end
176
+
177
+ # export interface TextDocumentRegistrationOptions {
178
+ # /**
179
+ # * A document selector to identify the scope of the registration. If set to null
180
+ # * the document selector provided on the client side will be used.
181
+ # */
182
+ # documentSelector: DocumentSelector | null;
183
+ # }
184
+ class TextDocumentRegistrationOptions < LSPBase
185
+ attr_accessor :documentSelector # type: DocumentSelector | null
186
+
187
+ def from_h!(value)
188
+ value = {} if value.nil?
189
+ self.documentSelector = value['documentSelector'] # Unknown type
190
+ self
191
+ end
192
+ end
193
+
194
+ # export interface SaveOptions {
195
+ # /**
196
+ # * The client is supposed to include the content on save.
197
+ # */
198
+ # includeText?: boolean;
199
+ # }
200
+ class SaveOptions < LSPBase
201
+ attr_accessor :includeText # type: boolean
202
+
203
+ def initialize(initial_hash = nil)
204
+ super
205
+ @optional_method_names = %i[includeText]
206
+ end
207
+
208
+ def from_h!(value)
209
+ value = {} if value.nil?
210
+ self.includeText = value['includeText'] # Unknown type
211
+ self
212
+ end
213
+ end
214
+
215
+ # export interface WorkDoneProgressOptions {
216
+ # workDoneProgress?: boolean;
217
+ # }
218
+ class WorkDoneProgressOptions < LSPBase
219
+ attr_accessor :workDoneProgress # type: boolean
220
+
221
+ def initialize(initial_hash = nil)
222
+ super
223
+ @optional_method_names = %i[workDoneProgress]
224
+ end
225
+
226
+ def from_h!(value)
227
+ value = {} if value.nil?
228
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
229
+ self
230
+ end
231
+ end
232
+
233
+ # export interface InitializeResult<T = any> {
234
+ # /**
235
+ # * The capabilities the language server provides.
236
+ # */
237
+ # capabilities: ServerCapabilities<T>;
238
+ # /**
239
+ # * Information about the server.
240
+ # *
241
+ # * @since 3.15.0
242
+ # */
243
+ # serverInfo?: {
244
+ # /**
245
+ # * The name of the server as defined by the server.
246
+ # */
247
+ # name: string;
248
+ # /**
249
+ # * The servers's version as defined by the server.
250
+ # */
251
+ # version?: string;
252
+ # };
253
+ # /**
254
+ # * Custom initialization results.
255
+ # */
256
+ # [custom: string]: any;
257
+ # }
258
+ class InitializeResult < LSPBase
259
+ attr_accessor :capabilities, :serverInfo # type: ServerCapabilities<T> # type: {
260
+
261
+ # /**
262
+ # * The name of the server as defined by the server.
263
+ # */
264
+ # name: string;
265
+ # /**
266
+ # * The servers's version as defined by the server.
267
+ # */
268
+ # version?: string;
269
+ # }
270
+
271
+ def initialize(initial_hash = nil)
272
+ super
273
+ @optional_method_names = %i[serverInfo]
274
+ end
275
+
276
+ def from_h!(value)
277
+ value = {} if value.nil?
278
+ self.capabilities = value['capabilities'] # Unknown type
279
+ self.serverInfo = value['serverInfo'] # Unknown type
280
+ self
281
+ end
282
+ end
283
+
284
+ # export interface InitializeError {
285
+ # /**
286
+ # * Indicates whether the client execute the following retry logic:
287
+ # * (1) show the message provided by the ResponseError to the user
288
+ # * (2) user selects retry or cancel
289
+ # * (3) if user selected retry the initialize method is sent again.
290
+ # */
291
+ # retry: boolean;
292
+ # }
293
+ class InitializeError < LSPBase
294
+ attr_accessor :retry # type: boolean
295
+
296
+ def from_h!(value)
297
+ value = {} if value.nil?
298
+ self.retry = value['retry'] # Unknown type
299
+ self
300
+ end
301
+ end
302
+
303
+ # export interface InitializedParams {
304
+ # }
305
+ class InitializedParams < LSPBase
306
+
307
+ def from_h!(value)
308
+ value = {} if value.nil?
309
+ self
310
+ end
311
+ end
312
+
313
+ # export interface DidChangeConfigurationClientCapabilities {
314
+ # /**
315
+ # * Did change configuration notification supports dynamic registration.
316
+ # */
317
+ # dynamicRegistration?: boolean;
318
+ # }
319
+ class DidChangeConfigurationClientCapabilities < LSPBase
320
+ attr_accessor :dynamicRegistration # type: boolean
321
+
322
+ def initialize(initial_hash = nil)
323
+ super
324
+ @optional_method_names = %i[dynamicRegistration]
325
+ end
326
+
327
+ def from_h!(value)
328
+ value = {} if value.nil?
329
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
330
+ self
331
+ end
332
+ end
333
+
334
+ # export interface DidChangeConfigurationRegistrationOptions {
335
+ # section?: string | string[];
336
+ # }
337
+ class DidChangeConfigurationRegistrationOptions < LSPBase
338
+ attr_accessor :section # type: string | string[]
339
+
340
+ def initialize(initial_hash = nil)
341
+ super
342
+ @optional_method_names = %i[section]
343
+ end
344
+
345
+ def from_h!(value)
346
+ value = {} if value.nil?
347
+ self.section = value['section'] # Unknown type
348
+ self
349
+ end
350
+ end
351
+
352
+ # export interface DidChangeConfigurationParams {
353
+ # /**
354
+ # * The actual changed settings
355
+ # */
356
+ # settings: any;
357
+ # }
358
+ class DidChangeConfigurationParams < LSPBase
359
+ attr_accessor :settings # type: any
360
+
361
+ def from_h!(value)
362
+ value = {} if value.nil?
363
+ self.settings = value['settings']
364
+ self
365
+ end
366
+ end
367
+
368
+ # export interface ShowMessageParams {
369
+ # /**
370
+ # * The message type. See {@link MessageType}
371
+ # */
372
+ # type: MessageType;
373
+ # /**
374
+ # * The actual message
375
+ # */
376
+ # message: string;
377
+ # }
378
+ class ShowMessageParams < LSPBase
379
+ attr_accessor :type, :message # type: MessageType # type: string
380
+
381
+ def from_h!(value)
382
+ value = {} if value.nil?
383
+ self.type = value['type'] # Unknown type
384
+ self.message = value['message']
385
+ self
386
+ end
387
+ end
388
+
389
+ # export interface MessageActionItem {
390
+ # /**
391
+ # * A short title like 'Retry', 'Open Log' etc.
392
+ # */
393
+ # title: string;
394
+ # }
395
+ class MessageActionItem < LSPBase
396
+ attr_accessor :title # type: string
397
+
398
+ def from_h!(value)
399
+ value = {} if value.nil?
400
+ self.title = value['title']
401
+ self
402
+ end
403
+ end
404
+
405
+ # export interface ShowMessageRequestParams {
406
+ # /**
407
+ # * The message type. See {@link MessageType}
408
+ # */
409
+ # type: MessageType;
410
+ # /**
411
+ # * The actual message
412
+ # */
413
+ # message: string;
414
+ # /**
415
+ # * The message action items to present.
416
+ # */
417
+ # actions?: MessageActionItem[];
418
+ # }
419
+ class ShowMessageRequestParams < LSPBase
420
+ attr_accessor :type, :message, :actions # type: MessageType # type: string # type: MessageActionItem[]
421
+
422
+ def initialize(initial_hash = nil)
423
+ super
424
+ @optional_method_names = %i[actions]
425
+ end
426
+
427
+ def from_h!(value)
428
+ value = {} if value.nil?
429
+ self.type = value['type'] # Unknown type
430
+ self.message = value['message']
431
+ self.actions = to_typed_aray(value['actions'], MessageActionItem)
432
+ self
433
+ end
434
+ end
435
+
436
+ # export interface LogMessageParams {
437
+ # /**
438
+ # * The message type. See {@link MessageType}
439
+ # */
440
+ # type: MessageType;
441
+ # /**
442
+ # * The actual message
443
+ # */
444
+ # message: string;
445
+ # }
446
+ class LogMessageParams < LSPBase
447
+ attr_accessor :type, :message # type: MessageType # type: string
448
+
449
+ def from_h!(value)
450
+ value = {} if value.nil?
451
+ self.type = value['type'] # Unknown type
452
+ self.message = value['message']
453
+ self
454
+ end
455
+ end
456
+
457
+ # export interface TextDocumentSyncClientCapabilities {
458
+ # /**
459
+ # * Whether text document synchronization supports dynamic registration.
460
+ # */
461
+ # dynamicRegistration?: boolean;
462
+ # /**
463
+ # * The client supports sending will save notifications.
464
+ # */
465
+ # willSave?: boolean;
466
+ # /**
467
+ # * The client supports sending a will save request and
468
+ # * waits for a response providing text edits which will
469
+ # * be applied to the document before it is saved.
470
+ # */
471
+ # willSaveWaitUntil?: boolean;
472
+ # /**
473
+ # * The client supports did save notifications.
474
+ # */
475
+ # didSave?: boolean;
476
+ # }
477
+ class TextDocumentSyncClientCapabilities < LSPBase
478
+ attr_accessor :dynamicRegistration, :willSave, :willSaveWaitUntil, :didSave # type: boolean # type: boolean # type: boolean # type: boolean
479
+
480
+ def initialize(initial_hash = nil)
481
+ super
482
+ @optional_method_names = %i[dynamicRegistration willSave willSaveWaitUntil didSave]
483
+ end
484
+
485
+ def from_h!(value)
486
+ value = {} if value.nil?
487
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
488
+ self.willSave = value['willSave'] # Unknown type
489
+ self.willSaveWaitUntil = value['willSaveWaitUntil'] # Unknown type
490
+ self.didSave = value['didSave'] # Unknown type
491
+ self
492
+ end
493
+ end
494
+
495
+ # export interface TextDocumentSyncOptions {
496
+ # /**
497
+ # * Open and close notifications are sent to the server. If omitted open close notification should not
498
+ # * be sent.
499
+ # */
500
+ # openClose?: boolean;
501
+ # /**
502
+ # * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
503
+ # * and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
504
+ # */
505
+ # change?: TextDocumentSyncKind;
506
+ # /**
507
+ # * If present will save notifications are sent to the server. If omitted the notification should not be
508
+ # * sent.
509
+ # */
510
+ # willSave?: boolean;
511
+ # /**
512
+ # * If present will save wait until requests are sent to the server. If omitted the request should not be
513
+ # * sent.
514
+ # */
515
+ # willSaveWaitUntil?: boolean;
516
+ # /**
517
+ # * If present save notifications are sent to the server. If omitted the notification should not be
518
+ # * sent.
519
+ # */
520
+ # save?: SaveOptions;
521
+ # }
522
+ class TextDocumentSyncOptions < LSPBase
523
+ attr_accessor :openClose, :change, :willSave, :willSaveWaitUntil, :save # type: boolean # type: TextDocumentSyncKind # type: boolean # type: boolean # type: SaveOptions
524
+
525
+ def initialize(initial_hash = nil)
526
+ super
527
+ @optional_method_names = %i[openClose change willSave willSaveWaitUntil save]
528
+ end
529
+
530
+ def from_h!(value)
531
+ value = {} if value.nil?
532
+ self.openClose = value['openClose'] # Unknown type
533
+ self.change = value['change'] # Unknown type
534
+ self.willSave = value['willSave'] # Unknown type
535
+ self.willSaveWaitUntil = value['willSaveWaitUntil'] # Unknown type
536
+ self.save = SaveOptions.new(value['save']) unless value['save'].nil?
537
+ self
538
+ end
539
+ end
540
+
541
+ # export interface DidOpenTextDocumentParams {
542
+ # /**
543
+ # * The document that was opened.
544
+ # */
545
+ # textDocument: TextDocumentItem;
546
+ # }
547
+ class DidOpenTextDocumentParams < LSPBase
548
+ attr_accessor :textDocument # type: TextDocumentItem
549
+
550
+ def from_h!(value)
551
+ value = {} if value.nil?
552
+ self.textDocument = value['textDocument'] # Unknown type
553
+ self
554
+ end
555
+ end
556
+
557
+ # export interface DidChangeTextDocumentParams {
558
+ # /**
559
+ # * The document that did change. The version number points
560
+ # * to the version after all provided content changes have
561
+ # * been applied.
562
+ # */
563
+ # textDocument: VersionedTextDocumentIdentifier;
564
+ # /**
565
+ # * The actual content changes. The content changes describe single state changes
566
+ # * to the document. So if there are two content changes c1 (at array index 0) and
567
+ # * c2 (at array index 1) for a document in state S then c1 moves the document from
568
+ # * S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed
569
+ # * on the state S'.
570
+ # *
571
+ # * To mirror the content of a document using change events use the following approach:
572
+ # * - start with the same initial content
573
+ # * - apply the 'textDocument/didChange' notifications in the order you recevie them.
574
+ # * - apply the `TextDocumentContentChangeEvent`s in a single notification in the order
575
+ # * you receive them.
576
+ # */
577
+ # contentChanges: TextDocumentContentChangeEvent[];
578
+ # }
579
+ class DidChangeTextDocumentParams < LSPBase
580
+ attr_accessor :textDocument, :contentChanges # type: VersionedTextDocumentIdentifier # type: TextDocumentContentChangeEvent[]
581
+
582
+ def from_h!(value)
583
+ value = {} if value.nil?
584
+ self.textDocument = value['textDocument'] # Unknown type
585
+ self.contentChanges = value['contentChanges'].map { |val| val } unless value['contentChanges'].nil? # Unknown array type
586
+ self
587
+ end
588
+ end
589
+
590
+ # export interface TextDocumentChangeRegistrationOptions extends TextDocumentRegistrationOptions {
591
+ # /**
592
+ # * How documents are synced to the server.
593
+ # */
594
+ # syncKind: TextDocumentSyncKind;
595
+ # }
596
+ class TextDocumentChangeRegistrationOptions < LSPBase
597
+ attr_accessor :syncKind, :documentSelector # type: TextDocumentSyncKind # type: DocumentSelector | null
598
+
599
+ def from_h!(value)
600
+ value = {} if value.nil?
601
+ self.syncKind = value['syncKind'] # Unknown type
602
+ self.documentSelector = value['documentSelector'] # Unknown type
603
+ self
604
+ end
605
+ end
606
+
607
+ # export interface DidCloseTextDocumentParams {
608
+ # /**
609
+ # * The document that was closed.
610
+ # */
611
+ # textDocument: TextDocumentIdentifier;
612
+ # }
613
+ class DidCloseTextDocumentParams < LSPBase
614
+ attr_accessor :textDocument # type: TextDocumentIdentifier
615
+
616
+ def from_h!(value)
617
+ value = {} if value.nil?
618
+ self.textDocument = value['textDocument'] # Unknown type
619
+ self
620
+ end
621
+ end
622
+
623
+ # export interface DidSaveTextDocumentParams {
624
+ # /**
625
+ # * The document that was closed.
626
+ # */
627
+ # textDocument: VersionedTextDocumentIdentifier;
628
+ # /**
629
+ # * Optional the content when saved. Depends on the includeText value
630
+ # * when the save notification was requested.
631
+ # */
632
+ # text?: string;
633
+ # }
634
+ class DidSaveTextDocumentParams < LSPBase
635
+ attr_accessor :textDocument, :text # type: VersionedTextDocumentIdentifier # type: string
636
+
637
+ def initialize(initial_hash = nil)
638
+ super
639
+ @optional_method_names = %i[text]
640
+ end
641
+
642
+ def from_h!(value)
643
+ value = {} if value.nil?
644
+ self.textDocument = value['textDocument'] # Unknown type
645
+ self.text = value['text']
646
+ self
647
+ end
648
+ end
649
+
650
+ # export interface TextDocumentSaveRegistrationOptions extends TextDocumentRegistrationOptions, SaveOptions {
651
+ # }
652
+ class TextDocumentSaveRegistrationOptions < LSPBase
653
+ attr_accessor :documentSelector, :includeText # type: DocumentSelector | null # type: boolean
654
+
655
+ def initialize(initial_hash = nil)
656
+ super
657
+ @optional_method_names = %i[includeText]
658
+ end
659
+
660
+ def from_h!(value)
661
+ value = {} if value.nil?
662
+ self.documentSelector = value['documentSelector'] # Unknown type
663
+ self.includeText = value['includeText'] # Unknown type
664
+ self
665
+ end
666
+ end
667
+
668
+ # export interface WillSaveTextDocumentParams {
669
+ # /**
670
+ # * The document that will be saved.
671
+ # */
672
+ # textDocument: TextDocumentIdentifier;
673
+ # /**
674
+ # * The 'TextDocumentSaveReason'.
675
+ # */
676
+ # reason: TextDocumentSaveReason;
677
+ # }
678
+ class WillSaveTextDocumentParams < LSPBase
679
+ attr_accessor :textDocument, :reason # type: TextDocumentIdentifier # type: TextDocumentSaveReason
680
+
681
+ def from_h!(value)
682
+ value = {} if value.nil?
683
+ self.textDocument = value['textDocument'] # Unknown type
684
+ self.reason = value['reason'] # Unknown type
685
+ self
686
+ end
687
+ end
688
+
689
+ # export interface DidChangeWatchedFilesClientCapabilities {
690
+ # /**
691
+ # * Did change watched files notification supports dynamic registration. Please note
692
+ # * that the current protocol doesn't support static configuration for file changes
693
+ # * from the server side.
694
+ # */
695
+ # dynamicRegistration?: boolean;
696
+ # }
697
+ class DidChangeWatchedFilesClientCapabilities < LSPBase
698
+ attr_accessor :dynamicRegistration # type: boolean
699
+
700
+ def initialize(initial_hash = nil)
701
+ super
702
+ @optional_method_names = %i[dynamicRegistration]
703
+ end
704
+
705
+ def from_h!(value)
706
+ value = {} if value.nil?
707
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
708
+ self
709
+ end
710
+ end
711
+
712
+ # export interface DidChangeWatchedFilesParams {
713
+ # /**
714
+ # * The actual file events.
715
+ # */
716
+ # changes: FileEvent[];
717
+ # }
718
+ class DidChangeWatchedFilesParams < LSPBase
719
+ attr_accessor :changes # type: FileEvent[]
720
+
721
+ def from_h!(value)
722
+ value = {} if value.nil?
723
+ self.changes = to_typed_aray(value['changes'], FileEvent)
724
+ self
725
+ end
726
+ end
727
+
728
+ # export interface FileEvent {
729
+ # /**
730
+ # * The file's uri.
731
+ # */
732
+ # uri: DocumentUri;
733
+ # /**
734
+ # * The change type.
735
+ # */
736
+ # type: FileChangeType;
737
+ # }
738
+ class FileEvent < LSPBase
739
+ attr_accessor :uri, :type # type: DocumentUri # type: FileChangeType
740
+
741
+ def from_h!(value)
742
+ value = {} if value.nil?
743
+ self.uri = value['uri'] # Unknown type
744
+ self.type = value['type'] # Unknown type
745
+ self
746
+ end
747
+ end
748
+
749
+ # export interface DidChangeWatchedFilesRegistrationOptions {
750
+ # /**
751
+ # * The watchers to register.
752
+ # */
753
+ # watchers: FileSystemWatcher[];
754
+ # }
755
+ class DidChangeWatchedFilesRegistrationOptions < LSPBase
756
+ attr_accessor :watchers # type: FileSystemWatcher[]
757
+
758
+ def from_h!(value)
759
+ value = {} if value.nil?
760
+ self.watchers = to_typed_aray(value['watchers'], FileSystemWatcher)
761
+ self
762
+ end
763
+ end
764
+
765
+ # export interface FileSystemWatcher {
766
+ # /**
767
+ # * The glob pattern to watch. Glob patterns can have the following syntax:
768
+ # * - `*` to match one or more characters in a path segment
769
+ # * - `?` to match on one character in a path segment
770
+ # * - `**` to match any number of path segments, including none
771
+ # * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
772
+ # * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
773
+ # * - `[!...]` 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`)
774
+ # */
775
+ # globPattern: string;
776
+ # /**
777
+ # * The kind of events of interest. If omitted it defaults
778
+ # * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
779
+ # * which is 7.
780
+ # */
781
+ # kind?: number;
782
+ # }
783
+ class FileSystemWatcher < LSPBase
784
+ attr_accessor :globPattern, :kind # type: string # type: number
785
+
786
+ def initialize(initial_hash = nil)
787
+ super
788
+ @optional_method_names = %i[kind]
789
+ end
790
+
791
+ def from_h!(value)
792
+ value = {} if value.nil?
793
+ self.globPattern = value['globPattern']
794
+ self.kind = value['kind']
795
+ self
796
+ end
797
+ end
798
+
799
+ # export interface PublishDiagnosticsClientCapabilities {
800
+ # /**
801
+ # * Whether the clients accepts diagnostics with related information.
802
+ # */
803
+ # relatedInformation?: boolean;
804
+ # /**
805
+ # * Client supports the tag property to provide meta data about a diagnostic.
806
+ # * Clients supporting tags have to handle unknown tags gracefully.
807
+ # *
808
+ # * @since 3.15.0
809
+ # */
810
+ # tagSupport?: {
811
+ # /**
812
+ # * The tags supported by the client.
813
+ # */
814
+ # valueSet: DiagnosticTag[];
815
+ # };
816
+ # /**
817
+ # * Whether the client interprets the version property of the
818
+ # * `textDocument/publishDiagnostics` notification`s parameter.
819
+ # *
820
+ # * @since 3.15.0
821
+ # */
822
+ # versionSupport?: boolean;
823
+ # }
824
+ class PublishDiagnosticsClientCapabilities < LSPBase
825
+ attr_accessor :relatedInformation, :tagSupport # type: boolean # type: {
826
+ # /**
827
+ # * The tags supported by the client.
828
+ # */
829
+ # valueSet: DiagnosticTag[];
830
+ # }
831
+ attr_accessor :versionSupport # type: boolean
832
+
833
+ def initialize(initial_hash = nil)
834
+ super
835
+ @optional_method_names = %i[relatedInformation tagSupport versionSupport]
836
+ end
837
+
838
+ def from_h!(value)
839
+ value = {} if value.nil?
840
+ self.relatedInformation = value['relatedInformation'] # Unknown type
841
+ self.tagSupport = value['tagSupport'] # Unknown type
842
+ self.versionSupport = value['versionSupport'] # Unknown type
843
+ self
844
+ end
845
+ end
846
+
847
+ # export interface PublishDiagnosticsParams {
848
+ # /**
849
+ # * The URI for which diagnostic information is reported.
850
+ # */
851
+ # uri: DocumentUri;
852
+ # /**
853
+ # * Optional the version number of the document the diagnostics are published for.
854
+ # *
855
+ # * @since 3.15.0
856
+ # */
857
+ # version?: number;
858
+ # /**
859
+ # * An array of diagnostic information items.
860
+ # */
861
+ # diagnostics: Diagnostic[];
862
+ # }
863
+ class PublishDiagnosticsParams < LSPBase
864
+ attr_accessor :uri, :version, :diagnostics # type: DocumentUri # type: number # type: Diagnostic[]
865
+
866
+ def initialize(initial_hash = nil)
867
+ super
868
+ @optional_method_names = %i[version]
869
+ end
870
+
871
+ def from_h!(value)
872
+ value = {} if value.nil?
873
+ self.uri = value['uri'] # Unknown type
874
+ self.version = value['version']
875
+ self.diagnostics = value['diagnostics'].map { |val| val } unless value['diagnostics'].nil? # Unknown array type
876
+ self
877
+ end
878
+ end
879
+
880
+ # export interface CompletionClientCapabilities {
881
+ # /**
882
+ # * Whether completion supports dynamic registration.
883
+ # */
884
+ # dynamicRegistration?: boolean;
885
+ # /**
886
+ # * The client supports the following `CompletionItem` specific
887
+ # * capabilities.
888
+ # */
889
+ # completionItem?: {
890
+ # /**
891
+ # * Client supports snippets as insert text.
892
+ # *
893
+ # * A snippet can define tab stops and placeholders with `$1`, `$2`
894
+ # * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
895
+ # * the end of the snippet. Placeholders with equal identifiers are linked,
896
+ # * that is typing in one will update others too.
897
+ # */
898
+ # snippetSupport?: boolean;
899
+ # /**
900
+ # * Client supports commit characters on a completion item.
901
+ # */
902
+ # commitCharactersSupport?: boolean;
903
+ # /**
904
+ # * Client supports the follow content formats for the documentation
905
+ # * property. The order describes the preferred format of the client.
906
+ # */
907
+ # documentationFormat?: MarkupKind[];
908
+ # /**
909
+ # * Client supports the deprecated property on a completion item.
910
+ # */
911
+ # deprecatedSupport?: boolean;
912
+ # /**
913
+ # * Client supports the preselect property on a completion item.
914
+ # */
915
+ # preselectSupport?: boolean;
916
+ # /**
917
+ # * Client supports the tag property on a completion item. Clients supporting
918
+ # * tags have to handle unknown tags gracefully. Clients especially need to
919
+ # * preserve unknown tags when sending a completion item back to the server in
920
+ # * a resolve call.
921
+ # *
922
+ # * @since 3.15.0
923
+ # */
924
+ # tagSupport?: {
925
+ # /**
926
+ # * The tags supported by the client.
927
+ # */
928
+ # valueSet: CompletionItemTag[];
929
+ # };
930
+ # };
931
+ # completionItemKind?: {
932
+ # /**
933
+ # * The completion item kind values the client supports. When this
934
+ # * property exists the client also guarantees that it will
935
+ # * handle values outside its set gracefully and falls back
936
+ # * to a default value when unknown.
937
+ # *
938
+ # * If this property is not present the client only supports
939
+ # * the completion items kinds from `Text` to `Reference` as defined in
940
+ # * the initial version of the protocol.
941
+ # */
942
+ # valueSet?: CompletionItemKind[];
943
+ # };
944
+ # /**
945
+ # * The client supports to send additional context information for a
946
+ # * `textDocument/completion` requestion.
947
+ # */
948
+ # contextSupport?: boolean;
949
+ # }
950
+ class CompletionClientCapabilities < LSPBase
951
+ attr_accessor :dynamicRegistration, :completionItem # type: boolean # type: {
952
+ # /**
953
+ # * Client supports snippets as insert text.
954
+ # *
955
+ # * A snippet can define tab stops and placeholders with `$1`, `$2`
956
+ # * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
957
+ # * the end of the snippet. Placeholders with equal identifiers are linked,
958
+ # * that is typing in one will update others too.
959
+ # */
960
+ # snippetSupport?: boolean;
961
+ # /**
962
+ # * Client supports commit characters on a completion item.
963
+ # */
964
+ # commitCharactersSupport?: boolean;
965
+ # /**
966
+ # * Client supports the follow content formats for the documentation
967
+ # * property. The order describes the preferred format of the client.
968
+ # */
969
+ # documentationFormat?: MarkupKind[];
970
+ # /**
971
+ # * Client supports the deprecated property on a completion item.
972
+ # */
973
+ # deprecatedSupport?: boolean;
974
+ # /**
975
+ # * Client supports the preselect property on a completion item.
976
+ # */
977
+ # preselectSupport?: boolean;
978
+ # /**
979
+ # * Client supports the tag property on a completion item. Clients supporting
980
+ # * tags have to handle unknown tags gracefully. Clients especially need to
981
+ # * preserve unknown tags when sending a completion item back to the server in
982
+ # * a resolve call.
983
+ # *
984
+ # * @since 3.15.0
985
+ # */
986
+ # tagSupport?: {
987
+ # /**
988
+ # * The tags supported by the client.
989
+ # */
990
+ # valueSet: CompletionItemTag[];
991
+ # };
992
+ # }
993
+ attr_accessor :completionItemKind # type: {
994
+ # /**
995
+ # * The completion item kind values the client supports. When this
996
+ # * property exists the client also guarantees that it will
997
+ # * handle values outside its set gracefully and falls back
998
+ # * to a default value when unknown.
999
+ # *
1000
+ # * If this property is not present the client only supports
1001
+ # * the completion items kinds from `Text` to `Reference` as defined in
1002
+ # * the initial version of the protocol.
1003
+ # */
1004
+ # valueSet?: CompletionItemKind[];
1005
+ # }
1006
+ attr_accessor :contextSupport # type: boolean
1007
+
1008
+ def initialize(initial_hash = nil)
1009
+ super
1010
+ @optional_method_names = %i[dynamicRegistration completionItem completionItemKind contextSupport]
1011
+ end
1012
+
1013
+ def from_h!(value)
1014
+ value = {} if value.nil?
1015
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1016
+ self.completionItem = value['completionItem'] # Unknown type
1017
+ self.completionItemKind = value['completionItemKind'] # Unknown type
1018
+ self.contextSupport = value['contextSupport'] # Unknown type
1019
+ self
1020
+ end
1021
+ end
1022
+
1023
+ # export interface CompletionContext {
1024
+ # /**
1025
+ # * How the completion was triggered.
1026
+ # */
1027
+ # triggerKind: CompletionTriggerKind;
1028
+ # /**
1029
+ # * The trigger character (a single character) that has trigger code complete.
1030
+ # * Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
1031
+ # */
1032
+ # triggerCharacter?: string;
1033
+ # }
1034
+ class CompletionContext < LSPBase
1035
+ attr_accessor :triggerKind, :triggerCharacter # type: CompletionTriggerKind # type: string
1036
+
1037
+ def initialize(initial_hash = nil)
1038
+ super
1039
+ @optional_method_names = %i[triggerCharacter]
1040
+ end
1041
+
1042
+ def from_h!(value)
1043
+ value = {} if value.nil?
1044
+ self.triggerKind = value['triggerKind'] # Unknown type
1045
+ self.triggerCharacter = value['triggerCharacter']
1046
+ self
1047
+ end
1048
+ end
1049
+
1050
+ # export interface CompletionParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1051
+ # /**
1052
+ # * The completion context. This is only available it the client specifies
1053
+ # * to send this using the client capability `textDocument.completion.contextSupport === true`
1054
+ # */
1055
+ # context?: CompletionContext;
1056
+ # }
1057
+ class CompletionParams < LSPBase
1058
+ attr_accessor :context, :textDocument, :position, :workDoneToken, :partialResultToken # type: CompletionContext # type: TextDocumentIdentifier # type: Position # type: ProgressToken # type: ProgressToken
1059
+
1060
+ def initialize(initial_hash = nil)
1061
+ super
1062
+ @optional_method_names = %i[context workDoneToken partialResultToken]
1063
+ end
1064
+
1065
+ def from_h!(value)
1066
+ value = {} if value.nil?
1067
+ self.context = CompletionContext.new(value['context']) unless value['context'].nil?
1068
+ self.textDocument = value['textDocument'] # Unknown type
1069
+ self.position = value['position'] # Unknown type
1070
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1071
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1072
+ self
1073
+ end
1074
+ end
1075
+
1076
+ # export interface CompletionOptions extends WorkDoneProgressOptions {
1077
+ # /**
1078
+ # * Most tools trigger completion request automatically without explicitly requesting
1079
+ # * it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
1080
+ # * starts to type an identifier. For example if the user types `c` in a JavaScript file
1081
+ # * code complete will automatically pop up present `console` besides others as a
1082
+ # * completion item. Characters that make up identifiers don't need to be listed here.
1083
+ # *
1084
+ # * If code complete should automatically be trigger on characters not being valid inside
1085
+ # * an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
1086
+ # */
1087
+ # triggerCharacters?: string[];
1088
+ # /**
1089
+ # * The list of all possible characters that commit a completion. This field can be used
1090
+ # * if clients don't support individual commmit characters per completion item. See
1091
+ # * `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
1092
+ # *
1093
+ # * If a server provides both `allCommitCharacters` and commit characters on an individual
1094
+ # * completion item the ones on the completion item win.
1095
+ # *
1096
+ # * @since 3.2.0
1097
+ # */
1098
+ # allCommitCharacters?: string[];
1099
+ # /**
1100
+ # * The server provides support to resolve additional
1101
+ # * information for a completion item.
1102
+ # */
1103
+ # resolveProvider?: boolean;
1104
+ # }
1105
+ class CompletionOptions < LSPBase
1106
+ attr_accessor :triggerCharacters, :allCommitCharacters, :resolveProvider, :workDoneProgress # type: string[] # type: string[] # type: boolean # type: boolean
1107
+
1108
+ def initialize(initial_hash = nil)
1109
+ super
1110
+ @optional_method_names = %i[triggerCharacters allCommitCharacters resolveProvider workDoneProgress]
1111
+ end
1112
+
1113
+ def from_h!(value)
1114
+ value = {} if value.nil?
1115
+ self.triggerCharacters = value['triggerCharacters'].map { |val| val } unless value['triggerCharacters'].nil?
1116
+ self.allCommitCharacters = value['allCommitCharacters'].map { |val| val } unless value['allCommitCharacters'].nil?
1117
+ self.resolveProvider = value['resolveProvider'] # Unknown type
1118
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1119
+ self
1120
+ end
1121
+ end
1122
+
1123
+ # export interface CompletionRegistrationOptions extends TextDocumentRegistrationOptions, CompletionOptions {
1124
+ # }
1125
+ class CompletionRegistrationOptions < LSPBase
1126
+ attr_accessor :documentSelector, :triggerCharacters, :allCommitCharacters, :resolveProvider, :workDoneProgress # type: DocumentSelector | null # type: string[] # type: string[] # type: boolean # type: boolean
1127
+
1128
+ def initialize(initial_hash = nil)
1129
+ super
1130
+ @optional_method_names = %i[triggerCharacters allCommitCharacters resolveProvider workDoneProgress]
1131
+ end
1132
+
1133
+ def from_h!(value)
1134
+ value = {} if value.nil?
1135
+ self.documentSelector = value['documentSelector'] # Unknown type
1136
+ self.triggerCharacters = value['triggerCharacters'].map { |val| val } unless value['triggerCharacters'].nil?
1137
+ self.allCommitCharacters = value['allCommitCharacters'].map { |val| val } unless value['allCommitCharacters'].nil?
1138
+ self.resolveProvider = value['resolveProvider'] # Unknown type
1139
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1140
+ self
1141
+ end
1142
+ end
1143
+
1144
+ # export interface HoverClientCapabilities {
1145
+ # /**
1146
+ # * Whether hover supports dynamic registration.
1147
+ # */
1148
+ # dynamicRegistration?: boolean;
1149
+ # /**
1150
+ # * Client supports the follow content formats for the content
1151
+ # * property. The order describes the preferred format of the client.
1152
+ # */
1153
+ # contentFormat?: MarkupKind[];
1154
+ # }
1155
+ class HoverClientCapabilities < LSPBase
1156
+ attr_accessor :dynamicRegistration, :contentFormat # type: boolean # type: MarkupKind[]
1157
+
1158
+ def initialize(initial_hash = nil)
1159
+ super
1160
+ @optional_method_names = %i[dynamicRegistration contentFormat]
1161
+ end
1162
+
1163
+ def from_h!(value)
1164
+ value = {} if value.nil?
1165
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1166
+ self.contentFormat = value['contentFormat'].map { |val| val } unless value['contentFormat'].nil? # Unknown array type
1167
+ self
1168
+ end
1169
+ end
1170
+
1171
+ # export interface HoverOptions extends WorkDoneProgressOptions {
1172
+ # }
1173
+ class HoverOptions < LSPBase
1174
+ attr_accessor :workDoneProgress # type: boolean
1175
+
1176
+ def initialize(initial_hash = nil)
1177
+ super
1178
+ @optional_method_names = %i[workDoneProgress]
1179
+ end
1180
+
1181
+ def from_h!(value)
1182
+ value = {} if value.nil?
1183
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1184
+ self
1185
+ end
1186
+ end
1187
+
1188
+ # export interface HoverParams extends TextDocumentPositionParams, WorkDoneProgressParams {
1189
+ # }
1190
+ class HoverParams < LSPBase
1191
+ attr_accessor :textDocument, :position, :workDoneToken # type: TextDocumentIdentifier # type: Position # type: ProgressToken
1192
+
1193
+ def initialize(initial_hash = nil)
1194
+ super
1195
+ @optional_method_names = %i[workDoneToken]
1196
+ end
1197
+
1198
+ def from_h!(value)
1199
+ value = {} if value.nil?
1200
+ self.textDocument = value['textDocument'] # Unknown type
1201
+ self.position = value['position'] # Unknown type
1202
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1203
+ self
1204
+ end
1205
+ end
1206
+
1207
+ # export interface HoverRegistrationOptions extends TextDocumentRegistrationOptions, HoverOptions {
1208
+ # }
1209
+ class HoverRegistrationOptions < LSPBase
1210
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
1211
+
1212
+ def initialize(initial_hash = nil)
1213
+ super
1214
+ @optional_method_names = %i[workDoneProgress]
1215
+ end
1216
+
1217
+ def from_h!(value)
1218
+ value = {} if value.nil?
1219
+ self.documentSelector = value['documentSelector'] # Unknown type
1220
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1221
+ self
1222
+ end
1223
+ end
1224
+
1225
+ # export interface SignatureHelpClientCapabilities {
1226
+ # /**
1227
+ # * Whether signature help supports dynamic registration.
1228
+ # */
1229
+ # dynamicRegistration?: boolean;
1230
+ # /**
1231
+ # * The client supports the following `SignatureInformation`
1232
+ # * specific properties.
1233
+ # */
1234
+ # signatureInformation?: {
1235
+ # /**
1236
+ # * Client supports the follow content formats for the documentation
1237
+ # * property. The order describes the preferred format of the client.
1238
+ # */
1239
+ # documentationFormat?: MarkupKind[];
1240
+ # /**
1241
+ # * Client capabilities specific to parameter information.
1242
+ # */
1243
+ # parameterInformation?: {
1244
+ # /**
1245
+ # * The client supports processing label offsets instead of a
1246
+ # * simple label string.
1247
+ # *
1248
+ # * @since 3.14.0
1249
+ # */
1250
+ # labelOffsetSupport?: boolean;
1251
+ # };
1252
+ # };
1253
+ # /**
1254
+ # * The client supports to send additional context information for a
1255
+ # * `textDocument/signatureHelp` request. A client that opts into
1256
+ # * contextSupport will also support the `retriggerCharacters` on
1257
+ # * `SignatureHelpOptions`.
1258
+ # *
1259
+ # * @since 3.15.0
1260
+ # */
1261
+ # contextSupport?: boolean;
1262
+ # }
1263
+ class SignatureHelpClientCapabilities < LSPBase
1264
+ attr_accessor :dynamicRegistration, :signatureInformation # type: boolean # type: {
1265
+ # /**
1266
+ # * Client supports the follow content formats for the documentation
1267
+ # * property. The order describes the preferred format of the client.
1268
+ # */
1269
+ # documentationFormat?: MarkupKind[];
1270
+ # /**
1271
+ # * Client capabilities specific to parameter information.
1272
+ # */
1273
+ # parameterInformation?: {
1274
+ # /**
1275
+ # * The client supports processing label offsets instead of a
1276
+ # * simple label string.
1277
+ # *
1278
+ # * @since 3.14.0
1279
+ # */
1280
+ # labelOffsetSupport?: boolean;
1281
+ # };
1282
+ # }
1283
+ attr_accessor :contextSupport # type: boolean
1284
+
1285
+ def initialize(initial_hash = nil)
1286
+ super
1287
+ @optional_method_names = %i[dynamicRegistration signatureInformation contextSupport]
1288
+ end
1289
+
1290
+ def from_h!(value)
1291
+ value = {} if value.nil?
1292
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1293
+ self.signatureInformation = value['signatureInformation'] # Unknown type
1294
+ self.contextSupport = value['contextSupport'] # Unknown type
1295
+ self
1296
+ end
1297
+ end
1298
+
1299
+ # export interface SignatureHelpOptions extends WorkDoneProgressOptions {
1300
+ # /**
1301
+ # * List of characters that trigger signature help.
1302
+ # */
1303
+ # triggerCharacters?: string[];
1304
+ # /**
1305
+ # * List of characters that re-trigger signature help.
1306
+ # *
1307
+ # * These trigger characters are only active when signature help is already showing. All trigger characters
1308
+ # * are also counted as re-trigger characters.
1309
+ # *
1310
+ # * @since 3.15.0
1311
+ # */
1312
+ # retriggerCharacters?: string[];
1313
+ # }
1314
+ class SignatureHelpOptions < LSPBase
1315
+ attr_accessor :triggerCharacters, :retriggerCharacters, :workDoneProgress # type: string[] # type: string[] # type: boolean
1316
+
1317
+ def initialize(initial_hash = nil)
1318
+ super
1319
+ @optional_method_names = %i[triggerCharacters retriggerCharacters workDoneProgress]
1320
+ end
1321
+
1322
+ def from_h!(value)
1323
+ value = {} if value.nil?
1324
+ self.triggerCharacters = value['triggerCharacters'].map { |val| val } unless value['triggerCharacters'].nil?
1325
+ self.retriggerCharacters = value['retriggerCharacters'].map { |val| val } unless value['retriggerCharacters'].nil?
1326
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1327
+ self
1328
+ end
1329
+ end
1330
+
1331
+ # export interface SignatureHelpContext {
1332
+ # /**
1333
+ # * Action that caused signature help to be triggered.
1334
+ # */
1335
+ # triggerKind: SignatureHelpTriggerKind;
1336
+ # /**
1337
+ # * Character that caused signature help to be triggered.
1338
+ # *
1339
+ # * This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
1340
+ # */
1341
+ # triggerCharacter?: string;
1342
+ # /**
1343
+ # * `true` if signature help was already showing when it was triggered.
1344
+ # *
1345
+ # * Retriggers occur when the signature help is already active and can be caused by actions such as
1346
+ # * typing a trigger character, a cursor move, or document content changes.
1347
+ # */
1348
+ # isRetrigger: boolean;
1349
+ # /**
1350
+ # * The currently active `SignatureHelp`.
1351
+ # *
1352
+ # * The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
1353
+ # * the user navigating through available signatures.
1354
+ # */
1355
+ # activeSignatureHelp?: SignatureHelp;
1356
+ # }
1357
+ class SignatureHelpContext < LSPBase
1358
+ attr_accessor :triggerKind, :triggerCharacter, :isRetrigger, :activeSignatureHelp # type: SignatureHelpTriggerKind # type: string # type: boolean # type: SignatureHelp
1359
+
1360
+ def initialize(initial_hash = nil)
1361
+ super
1362
+ @optional_method_names = %i[triggerCharacter activeSignatureHelp]
1363
+ end
1364
+
1365
+ def from_h!(value)
1366
+ value = {} if value.nil?
1367
+ self.triggerKind = value['triggerKind'] # Unknown type
1368
+ self.triggerCharacter = value['triggerCharacter']
1369
+ self.isRetrigger = value['isRetrigger'] # Unknown type
1370
+ self.activeSignatureHelp = value['activeSignatureHelp'] # Unknown type
1371
+ self
1372
+ end
1373
+ end
1374
+
1375
+ # export interface SignatureHelpParams extends TextDocumentPositionParams, WorkDoneProgressParams {
1376
+ # /**
1377
+ # * The signature help context. This is only available if the client specifies
1378
+ # * to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
1379
+ # *
1380
+ # * @since 3.15.0
1381
+ # */
1382
+ # context?: SignatureHelpContext;
1383
+ # }
1384
+ class SignatureHelpParams < LSPBase
1385
+ attr_accessor :context, :textDocument, :position, :workDoneToken # type: SignatureHelpContext # type: TextDocumentIdentifier # type: Position # type: ProgressToken
1386
+
1387
+ def initialize(initial_hash = nil)
1388
+ super
1389
+ @optional_method_names = %i[context workDoneToken]
1390
+ end
1391
+
1392
+ def from_h!(value)
1393
+ value = {} if value.nil?
1394
+ self.context = SignatureHelpContext.new(value['context']) unless value['context'].nil?
1395
+ self.textDocument = value['textDocument'] # Unknown type
1396
+ self.position = value['position'] # Unknown type
1397
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1398
+ self
1399
+ end
1400
+ end
1401
+
1402
+ # export interface SignatureHelpRegistrationOptions extends TextDocumentRegistrationOptions, SignatureHelpOptions {
1403
+ # }
1404
+ class SignatureHelpRegistrationOptions < LSPBase
1405
+ attr_accessor :documentSelector, :triggerCharacters, :retriggerCharacters, :workDoneProgress # type: DocumentSelector | null # type: string[] # type: string[] # type: boolean
1406
+
1407
+ def initialize(initial_hash = nil)
1408
+ super
1409
+ @optional_method_names = %i[triggerCharacters retriggerCharacters workDoneProgress]
1410
+ end
1411
+
1412
+ def from_h!(value)
1413
+ value = {} if value.nil?
1414
+ self.documentSelector = value['documentSelector'] # Unknown type
1415
+ self.triggerCharacters = value['triggerCharacters'].map { |val| val } unless value['triggerCharacters'].nil?
1416
+ self.retriggerCharacters = value['retriggerCharacters'].map { |val| val } unless value['retriggerCharacters'].nil?
1417
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1418
+ self
1419
+ end
1420
+ end
1421
+
1422
+ # export interface DefinitionClientCapabilities {
1423
+ # /**
1424
+ # * Whether definition supports dynamic registration.
1425
+ # */
1426
+ # dynamicRegistration?: boolean;
1427
+ # /**
1428
+ # * The client supports additional metadata in the form of definition links.
1429
+ # *
1430
+ # * @since 3.14.0
1431
+ # */
1432
+ # linkSupport?: boolean;
1433
+ # }
1434
+ class DefinitionClientCapabilities < LSPBase
1435
+ attr_accessor :dynamicRegistration, :linkSupport # type: boolean # type: boolean
1436
+
1437
+ def initialize(initial_hash = nil)
1438
+ super
1439
+ @optional_method_names = %i[dynamicRegistration linkSupport]
1440
+ end
1441
+
1442
+ def from_h!(value)
1443
+ value = {} if value.nil?
1444
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1445
+ self.linkSupport = value['linkSupport'] # Unknown type
1446
+ self
1447
+ end
1448
+ end
1449
+
1450
+ # export interface DefinitionOptions extends WorkDoneProgressOptions {
1451
+ # }
1452
+ class DefinitionOptions < LSPBase
1453
+ attr_accessor :workDoneProgress # type: boolean
1454
+
1455
+ def initialize(initial_hash = nil)
1456
+ super
1457
+ @optional_method_names = %i[workDoneProgress]
1458
+ end
1459
+
1460
+ def from_h!(value)
1461
+ value = {} if value.nil?
1462
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1463
+ self
1464
+ end
1465
+ end
1466
+
1467
+ # export interface DefinitionParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1468
+ # }
1469
+ class DefinitionParams < LSPBase
1470
+ attr_accessor :textDocument, :position, :workDoneToken, :partialResultToken # type: TextDocumentIdentifier # type: Position # type: ProgressToken # type: ProgressToken
1471
+
1472
+ def initialize(initial_hash = nil)
1473
+ super
1474
+ @optional_method_names = %i[workDoneToken partialResultToken]
1475
+ end
1476
+
1477
+ def from_h!(value)
1478
+ value = {} if value.nil?
1479
+ self.textDocument = value['textDocument'] # Unknown type
1480
+ self.position = value['position'] # Unknown type
1481
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1482
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1483
+ self
1484
+ end
1485
+ end
1486
+
1487
+ # export interface DefinitionRegistrationOptions extends TextDocumentRegistrationOptions, DefinitionOptions {
1488
+ # }
1489
+ class DefinitionRegistrationOptions < LSPBase
1490
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
1491
+
1492
+ def initialize(initial_hash = nil)
1493
+ super
1494
+ @optional_method_names = %i[workDoneProgress]
1495
+ end
1496
+
1497
+ def from_h!(value)
1498
+ value = {} if value.nil?
1499
+ self.documentSelector = value['documentSelector'] # Unknown type
1500
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1501
+ self
1502
+ end
1503
+ end
1504
+
1505
+ # export interface ReferenceClientCapabilities {
1506
+ # /**
1507
+ # * Whether references supports dynamic registration.
1508
+ # */
1509
+ # dynamicRegistration?: boolean;
1510
+ # }
1511
+ class ReferenceClientCapabilities < LSPBase
1512
+ attr_accessor :dynamicRegistration # type: boolean
1513
+
1514
+ def initialize(initial_hash = nil)
1515
+ super
1516
+ @optional_method_names = %i[dynamicRegistration]
1517
+ end
1518
+
1519
+ def from_h!(value)
1520
+ value = {} if value.nil?
1521
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1522
+ self
1523
+ end
1524
+ end
1525
+
1526
+ # export interface ReferenceParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1527
+ # context: ReferenceContext;
1528
+ # }
1529
+ class ReferenceParams < LSPBase
1530
+ attr_accessor :context, :textDocument, :position, :workDoneToken, :partialResultToken # type: ReferenceContext # type: TextDocumentIdentifier # type: Position # type: ProgressToken # type: ProgressToken
1531
+
1532
+ def initialize(initial_hash = nil)
1533
+ super
1534
+ @optional_method_names = %i[workDoneToken partialResultToken]
1535
+ end
1536
+
1537
+ def from_h!(value)
1538
+ value = {} if value.nil?
1539
+ self.context = value['context'] # Unknown type
1540
+ self.textDocument = value['textDocument'] # Unknown type
1541
+ self.position = value['position'] # Unknown type
1542
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1543
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1544
+ self
1545
+ end
1546
+ end
1547
+
1548
+ # export interface ReferenceOptions extends WorkDoneProgressOptions {
1549
+ # }
1550
+ class ReferenceOptions < LSPBase
1551
+ attr_accessor :workDoneProgress # type: boolean
1552
+
1553
+ def initialize(initial_hash = nil)
1554
+ super
1555
+ @optional_method_names = %i[workDoneProgress]
1556
+ end
1557
+
1558
+ def from_h!(value)
1559
+ value = {} if value.nil?
1560
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1561
+ self
1562
+ end
1563
+ end
1564
+
1565
+ # export interface ReferenceRegistrationOptions extends TextDocumentRegistrationOptions, ReferenceOptions {
1566
+ # }
1567
+ class ReferenceRegistrationOptions < LSPBase
1568
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
1569
+
1570
+ def initialize(initial_hash = nil)
1571
+ super
1572
+ @optional_method_names = %i[workDoneProgress]
1573
+ end
1574
+
1575
+ def from_h!(value)
1576
+ value = {} if value.nil?
1577
+ self.documentSelector = value['documentSelector'] # Unknown type
1578
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1579
+ self
1580
+ end
1581
+ end
1582
+
1583
+ # export interface DocumentHighlightClientCapabilities {
1584
+ # /**
1585
+ # * Whether document highlight supports dynamic registration.
1586
+ # */
1587
+ # dynamicRegistration?: boolean;
1588
+ # }
1589
+ class DocumentHighlightClientCapabilities < LSPBase
1590
+ attr_accessor :dynamicRegistration # type: boolean
1591
+
1592
+ def initialize(initial_hash = nil)
1593
+ super
1594
+ @optional_method_names = %i[dynamicRegistration]
1595
+ end
1596
+
1597
+ def from_h!(value)
1598
+ value = {} if value.nil?
1599
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1600
+ self
1601
+ end
1602
+ end
1603
+
1604
+ # export interface DocumentHighlightParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1605
+ # }
1606
+ class DocumentHighlightParams < LSPBase
1607
+ attr_accessor :textDocument, :position, :workDoneToken, :partialResultToken # type: TextDocumentIdentifier # type: Position # type: ProgressToken # type: ProgressToken
1608
+
1609
+ def initialize(initial_hash = nil)
1610
+ super
1611
+ @optional_method_names = %i[workDoneToken partialResultToken]
1612
+ end
1613
+
1614
+ def from_h!(value)
1615
+ value = {} if value.nil?
1616
+ self.textDocument = value['textDocument'] # Unknown type
1617
+ self.position = value['position'] # Unknown type
1618
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1619
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1620
+ self
1621
+ end
1622
+ end
1623
+
1624
+ # export interface DocumentHighlightOptions extends WorkDoneProgressOptions {
1625
+ # }
1626
+ class DocumentHighlightOptions < LSPBase
1627
+ attr_accessor :workDoneProgress # type: boolean
1628
+
1629
+ def initialize(initial_hash = nil)
1630
+ super
1631
+ @optional_method_names = %i[workDoneProgress]
1632
+ end
1633
+
1634
+ def from_h!(value)
1635
+ value = {} if value.nil?
1636
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1637
+ self
1638
+ end
1639
+ end
1640
+
1641
+ # export interface DocumentHighlightRegistrationOptions extends TextDocumentRegistrationOptions, DocumentHighlightOptions {
1642
+ # }
1643
+ class DocumentHighlightRegistrationOptions < LSPBase
1644
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
1645
+
1646
+ def initialize(initial_hash = nil)
1647
+ super
1648
+ @optional_method_names = %i[workDoneProgress]
1649
+ end
1650
+
1651
+ def from_h!(value)
1652
+ value = {} if value.nil?
1653
+ self.documentSelector = value['documentSelector'] # Unknown type
1654
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1655
+ self
1656
+ end
1657
+ end
1658
+
1659
+ # export interface DocumentSymbolClientCapabilities {
1660
+ # /**
1661
+ # * Whether document symbol supports dynamic registration.
1662
+ # */
1663
+ # dynamicRegistration?: boolean;
1664
+ # /**
1665
+ # * Specific capabilities for the `SymbolKind`.
1666
+ # */
1667
+ # symbolKind?: {
1668
+ # /**
1669
+ # * The symbol kind values the client supports. When this
1670
+ # * property exists the client also guarantees that it will
1671
+ # * handle values outside its set gracefully and falls back
1672
+ # * to a default value when unknown.
1673
+ # *
1674
+ # * If this property is not present the client only supports
1675
+ # * the symbol kinds from `File` to `Array` as defined in
1676
+ # * the initial version of the protocol.
1677
+ # */
1678
+ # valueSet?: SymbolKind[];
1679
+ # };
1680
+ # /**
1681
+ # * The client support hierarchical document symbols.
1682
+ # */
1683
+ # hierarchicalDocumentSymbolSupport?: boolean;
1684
+ # }
1685
+ class DocumentSymbolClientCapabilities < LSPBase
1686
+ attr_accessor :dynamicRegistration, :symbolKind # type: boolean # type: {
1687
+ # /**
1688
+ # * The symbol kind values the client supports. When this
1689
+ # * property exists the client also guarantees that it will
1690
+ # * handle values outside its set gracefully and falls back
1691
+ # * to a default value when unknown.
1692
+ # *
1693
+ # * If this property is not present the client only supports
1694
+ # * the symbol kinds from `File` to `Array` as defined in
1695
+ # * the initial version of the protocol.
1696
+ # */
1697
+ # valueSet?: SymbolKind[];
1698
+ # }
1699
+ attr_accessor :hierarchicalDocumentSymbolSupport # type: boolean
1700
+
1701
+ def initialize(initial_hash = nil)
1702
+ super
1703
+ @optional_method_names = %i[dynamicRegistration symbolKind hierarchicalDocumentSymbolSupport]
1704
+ end
1705
+
1706
+ def from_h!(value)
1707
+ value = {} if value.nil?
1708
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1709
+ self.symbolKind = value['symbolKind'] # Unknown type
1710
+ self.hierarchicalDocumentSymbolSupport = value['hierarchicalDocumentSymbolSupport'] # Unknown type
1711
+ self
1712
+ end
1713
+ end
1714
+
1715
+ # export interface DocumentSymbolParams extends WorkDoneProgressParams, PartialResultParams {
1716
+ # /**
1717
+ # * The text document.
1718
+ # */
1719
+ # textDocument: TextDocumentIdentifier;
1720
+ # }
1721
+ class DocumentSymbolParams < LSPBase
1722
+ attr_accessor :textDocument, :workDoneToken, :partialResultToken # type: TextDocumentIdentifier # type: ProgressToken # type: ProgressToken
1723
+
1724
+ def initialize(initial_hash = nil)
1725
+ super
1726
+ @optional_method_names = %i[workDoneToken partialResultToken]
1727
+ end
1728
+
1729
+ def from_h!(value)
1730
+ value = {} if value.nil?
1731
+ self.textDocument = value['textDocument'] # Unknown type
1732
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1733
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1734
+ self
1735
+ end
1736
+ end
1737
+
1738
+ # export interface DocumentSymbolOptions extends WorkDoneProgressOptions {
1739
+ # }
1740
+ class DocumentSymbolOptions < LSPBase
1741
+ attr_accessor :workDoneProgress # type: boolean
1742
+
1743
+ def initialize(initial_hash = nil)
1744
+ super
1745
+ @optional_method_names = %i[workDoneProgress]
1746
+ end
1747
+
1748
+ def from_h!(value)
1749
+ value = {} if value.nil?
1750
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1751
+ self
1752
+ end
1753
+ end
1754
+
1755
+ # export interface DocumentSymbolRegistrationOptions extends TextDocumentRegistrationOptions, DocumentSymbolOptions {
1756
+ # }
1757
+ class DocumentSymbolRegistrationOptions < LSPBase
1758
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
1759
+
1760
+ def initialize(initial_hash = nil)
1761
+ super
1762
+ @optional_method_names = %i[workDoneProgress]
1763
+ end
1764
+
1765
+ def from_h!(value)
1766
+ value = {} if value.nil?
1767
+ self.documentSelector = value['documentSelector'] # Unknown type
1768
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1769
+ self
1770
+ end
1771
+ end
1772
+
1773
+ # export interface CodeActionClientCapabilities {
1774
+ # /**
1775
+ # * Whether code action supports dynamic registration.
1776
+ # */
1777
+ # dynamicRegistration?: boolean;
1778
+ # /**
1779
+ # * The client support code action literals as a valid
1780
+ # * response of the `textDocument/codeAction` request.
1781
+ # *
1782
+ # * @since 3.8.0
1783
+ # */
1784
+ # codeActionLiteralSupport?: {
1785
+ # /**
1786
+ # * The code action kind is support with the following value
1787
+ # * set.
1788
+ # */
1789
+ # codeActionKind: {
1790
+ # /**
1791
+ # * The code action kind values the client supports. When this
1792
+ # * property exists the client also guarantees that it will
1793
+ # * handle values outside its set gracefully and falls back
1794
+ # * to a default value when unknown.
1795
+ # */
1796
+ # valueSet: CodeActionKind[];
1797
+ # };
1798
+ # };
1799
+ # /**
1800
+ # * Whether code action supports the `isPreferred` property.
1801
+ # * @since 3.15.0
1802
+ # */
1803
+ # isPreferredSupport?: boolean;
1804
+ # }
1805
+ class CodeActionClientCapabilities < LSPBase
1806
+ attr_accessor :dynamicRegistration, :codeActionLiteralSupport # type: boolean # type: {
1807
+ # /**
1808
+ # * The code action kind is support with the following value
1809
+ # * set.
1810
+ # */
1811
+ # codeActionKind: {
1812
+ # /**
1813
+ # * The code action kind values the client supports. When this
1814
+ # * property exists the client also guarantees that it will
1815
+ # * handle values outside its set gracefully and falls back
1816
+ # * to a default value when unknown.
1817
+ # */
1818
+ # valueSet: CodeActionKind[];
1819
+ # };
1820
+ # }
1821
+ attr_accessor :isPreferredSupport # type: boolean
1822
+
1823
+ def initialize(initial_hash = nil)
1824
+ super
1825
+ @optional_method_names = %i[dynamicRegistration codeActionLiteralSupport isPreferredSupport]
1826
+ end
1827
+
1828
+ def from_h!(value)
1829
+ value = {} if value.nil?
1830
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1831
+ self.codeActionLiteralSupport = value['codeActionLiteralSupport'] # Unknown type
1832
+ self.isPreferredSupport = value['isPreferredSupport'] # Unknown type
1833
+ self
1834
+ end
1835
+ end
1836
+
1837
+ # export interface CodeActionParams extends WorkDoneProgressParams, PartialResultParams {
1838
+ # /**
1839
+ # * The document in which the command was invoked.
1840
+ # */
1841
+ # textDocument: TextDocumentIdentifier;
1842
+ # /**
1843
+ # * The range for which the command was invoked.
1844
+ # */
1845
+ # range: Range;
1846
+ # /**
1847
+ # * Context carrying additional information.
1848
+ # */
1849
+ # context: CodeActionContext;
1850
+ # }
1851
+ class CodeActionParams < LSPBase
1852
+ attr_accessor :textDocument, :range, :context, :workDoneToken, :partialResultToken # type: TextDocumentIdentifier # type: Range # type: CodeActionContext # type: ProgressToken # type: ProgressToken
1853
+
1854
+ def initialize(initial_hash = nil)
1855
+ super
1856
+ @optional_method_names = %i[workDoneToken partialResultToken]
1857
+ end
1858
+
1859
+ def from_h!(value)
1860
+ value = {} if value.nil?
1861
+ self.textDocument = value['textDocument'] # Unknown type
1862
+ self.range = value['range'] # Unknown type
1863
+ self.context = value['context'] # Unknown type
1864
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1865
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1866
+ self
1867
+ end
1868
+ end
1869
+
1870
+ # export interface CodeActionOptions extends WorkDoneProgressOptions {
1871
+ # /**
1872
+ # * CodeActionKinds that this server may return.
1873
+ # *
1874
+ # * The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
1875
+ # * may list out every specific kind they provide.
1876
+ # */
1877
+ # codeActionKinds?: CodeActionKind[];
1878
+ # }
1879
+ class CodeActionOptions < LSPBase
1880
+ attr_accessor :codeActionKinds, :workDoneProgress # type: CodeActionKind[] # type: boolean
1881
+
1882
+ def initialize(initial_hash = nil)
1883
+ super
1884
+ @optional_method_names = %i[codeActionKinds workDoneProgress]
1885
+ end
1886
+
1887
+ def from_h!(value)
1888
+ value = {} if value.nil?
1889
+ self.codeActionKinds = value['codeActionKinds'].map { |val| val } unless value['codeActionKinds'].nil? # Unknown array type
1890
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1891
+ self
1892
+ end
1893
+ end
1894
+
1895
+ # export interface CodeActionRegistrationOptions extends TextDocumentRegistrationOptions, CodeActionOptions {
1896
+ # }
1897
+ class CodeActionRegistrationOptions < LSPBase
1898
+ attr_accessor :documentSelector, :codeActionKinds, :workDoneProgress # type: DocumentSelector | null # type: CodeActionKind[] # type: boolean
1899
+
1900
+ def initialize(initial_hash = nil)
1901
+ super
1902
+ @optional_method_names = %i[codeActionKinds workDoneProgress]
1903
+ end
1904
+
1905
+ def from_h!(value)
1906
+ value = {} if value.nil?
1907
+ self.documentSelector = value['documentSelector'] # Unknown type
1908
+ self.codeActionKinds = value['codeActionKinds'].map { |val| val } unless value['codeActionKinds'].nil? # Unknown array type
1909
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
1910
+ self
1911
+ end
1912
+ end
1913
+
1914
+ # export interface WorkspaceSymbolClientCapabilities {
1915
+ # /**
1916
+ # * Symbol request supports dynamic registration.
1917
+ # */
1918
+ # dynamicRegistration?: boolean;
1919
+ # /**
1920
+ # * Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
1921
+ # */
1922
+ # symbolKind?: {
1923
+ # /**
1924
+ # * The symbol kind values the client supports. When this
1925
+ # * property exists the client also guarantees that it will
1926
+ # * handle values outside its set gracefully and falls back
1927
+ # * to a default value when unknown.
1928
+ # *
1929
+ # * If this property is not present the client only supports
1930
+ # * the symbol kinds from `File` to `Array` as defined in
1931
+ # * the initial version of the protocol.
1932
+ # */
1933
+ # valueSet?: SymbolKind[];
1934
+ # };
1935
+ # }
1936
+ class WorkspaceSymbolClientCapabilities < LSPBase
1937
+ attr_accessor :dynamicRegistration, :symbolKind # type: boolean # type: {
1938
+
1939
+ # /**
1940
+ # * The symbol kind values the client supports. When this
1941
+ # * property exists the client also guarantees that it will
1942
+ # * handle values outside its set gracefully and falls back
1943
+ # * to a default value when unknown.
1944
+ # *
1945
+ # * If this property is not present the client only supports
1946
+ # * the symbol kinds from `File` to `Array` as defined in
1947
+ # * the initial version of the protocol.
1948
+ # */
1949
+ # valueSet?: SymbolKind[];
1950
+ # }
1951
+
1952
+ def initialize(initial_hash = nil)
1953
+ super
1954
+ @optional_method_names = %i[dynamicRegistration symbolKind]
1955
+ end
1956
+
1957
+ def from_h!(value)
1958
+ value = {} if value.nil?
1959
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
1960
+ self.symbolKind = value['symbolKind'] # Unknown type
1961
+ self
1962
+ end
1963
+ end
1964
+
1965
+ # export interface WorkspaceSymbolParams extends WorkDoneProgressParams, PartialResultParams {
1966
+ # /**
1967
+ # * A query string to filter symbols by. Clients may send an empty
1968
+ # * string here to request all symbols.
1969
+ # */
1970
+ # query: string;
1971
+ # }
1972
+ class WorkspaceSymbolParams < LSPBase
1973
+ attr_accessor :query, :workDoneToken, :partialResultToken # type: string # type: ProgressToken # type: ProgressToken
1974
+
1975
+ def initialize(initial_hash = nil)
1976
+ super
1977
+ @optional_method_names = %i[workDoneToken partialResultToken]
1978
+ end
1979
+
1980
+ def from_h!(value)
1981
+ value = {} if value.nil?
1982
+ self.query = value['query']
1983
+ self.workDoneToken = value['workDoneToken'] # Unknown type
1984
+ self.partialResultToken = value['partialResultToken'] # Unknown type
1985
+ self
1986
+ end
1987
+ end
1988
+
1989
+ # export interface WorkspaceSymbolOptions extends WorkDoneProgressOptions {
1990
+ # }
1991
+ class WorkspaceSymbolOptions < LSPBase
1992
+ attr_accessor :workDoneProgress # type: boolean
1993
+
1994
+ def initialize(initial_hash = nil)
1995
+ super
1996
+ @optional_method_names = %i[workDoneProgress]
1997
+ end
1998
+
1999
+ def from_h!(value)
2000
+ value = {} if value.nil?
2001
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2002
+ self
2003
+ end
2004
+ end
2005
+
2006
+ # export interface WorkspaceSymbolRegistrationOptions extends WorkspaceSymbolOptions {
2007
+ # }
2008
+ class WorkspaceSymbolRegistrationOptions < LSPBase
2009
+ attr_accessor :workDoneProgress # type: boolean
2010
+
2011
+ def initialize(initial_hash = nil)
2012
+ super
2013
+ @optional_method_names = %i[workDoneProgress]
2014
+ end
2015
+
2016
+ def from_h!(value)
2017
+ value = {} if value.nil?
2018
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2019
+ self
2020
+ end
2021
+ end
2022
+
2023
+ # export interface CodeLensClientCapabilities {
2024
+ # /**
2025
+ # * Whether code lens supports dynamic registration.
2026
+ # */
2027
+ # dynamicRegistration?: boolean;
2028
+ # }
2029
+ class CodeLensClientCapabilities < LSPBase
2030
+ attr_accessor :dynamicRegistration # type: boolean
2031
+
2032
+ def initialize(initial_hash = nil)
2033
+ super
2034
+ @optional_method_names = %i[dynamicRegistration]
2035
+ end
2036
+
2037
+ def from_h!(value)
2038
+ value = {} if value.nil?
2039
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2040
+ self
2041
+ end
2042
+ end
2043
+
2044
+ # export interface CodeLensParams extends WorkDoneProgressParams, PartialResultParams {
2045
+ # /**
2046
+ # * The document to request code lens for.
2047
+ # */
2048
+ # textDocument: TextDocumentIdentifier;
2049
+ # }
2050
+ class CodeLensParams < LSPBase
2051
+ attr_accessor :textDocument, :workDoneToken, :partialResultToken # type: TextDocumentIdentifier # type: ProgressToken # type: ProgressToken
2052
+
2053
+ def initialize(initial_hash = nil)
2054
+ super
2055
+ @optional_method_names = %i[workDoneToken partialResultToken]
2056
+ end
2057
+
2058
+ def from_h!(value)
2059
+ value = {} if value.nil?
2060
+ self.textDocument = value['textDocument'] # Unknown type
2061
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2062
+ self.partialResultToken = value['partialResultToken'] # Unknown type
2063
+ self
2064
+ end
2065
+ end
2066
+
2067
+ # export interface CodeLensOptions extends WorkDoneProgressOptions {
2068
+ # /**
2069
+ # * Code lens has a resolve provider as well.
2070
+ # */
2071
+ # resolveProvider?: boolean;
2072
+ # }
2073
+ class CodeLensOptions < LSPBase
2074
+ attr_accessor :resolveProvider, :workDoneProgress # type: boolean # type: boolean
2075
+
2076
+ def initialize(initial_hash = nil)
2077
+ super
2078
+ @optional_method_names = %i[resolveProvider workDoneProgress]
2079
+ end
2080
+
2081
+ def from_h!(value)
2082
+ value = {} if value.nil?
2083
+ self.resolveProvider = value['resolveProvider'] # Unknown type
2084
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2085
+ self
2086
+ end
2087
+ end
2088
+
2089
+ # export interface CodeLensRegistrationOptions extends TextDocumentRegistrationOptions, CodeLensOptions {
2090
+ # }
2091
+ class CodeLensRegistrationOptions < LSPBase
2092
+ attr_accessor :documentSelector, :resolveProvider, :workDoneProgress # type: DocumentSelector | null # type: boolean # type: boolean
2093
+
2094
+ def initialize(initial_hash = nil)
2095
+ super
2096
+ @optional_method_names = %i[resolveProvider workDoneProgress]
2097
+ end
2098
+
2099
+ def from_h!(value)
2100
+ value = {} if value.nil?
2101
+ self.documentSelector = value['documentSelector'] # Unknown type
2102
+ self.resolveProvider = value['resolveProvider'] # Unknown type
2103
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2104
+ self
2105
+ end
2106
+ end
2107
+
2108
+ # export interface DocumentLinkClientCapabilities {
2109
+ # /**
2110
+ # * Whether document link supports dynamic registration.
2111
+ # */
2112
+ # dynamicRegistration?: boolean;
2113
+ # /**
2114
+ # * Whether the client support the `tooltip` property on `DocumentLink`.
2115
+ # *
2116
+ # * @since 3.15.0
2117
+ # */
2118
+ # tooltipSupport?: boolean;
2119
+ # }
2120
+ class DocumentLinkClientCapabilities < LSPBase
2121
+ attr_accessor :dynamicRegistration, :tooltipSupport # type: boolean # type: boolean
2122
+
2123
+ def initialize(initial_hash = nil)
2124
+ super
2125
+ @optional_method_names = %i[dynamicRegistration tooltipSupport]
2126
+ end
2127
+
2128
+ def from_h!(value)
2129
+ value = {} if value.nil?
2130
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2131
+ self.tooltipSupport = value['tooltipSupport'] # Unknown type
2132
+ self
2133
+ end
2134
+ end
2135
+
2136
+ # export interface DocumentLinkParams extends WorkDoneProgressParams, PartialResultParams {
2137
+ # /**
2138
+ # * The document to provide document links for.
2139
+ # */
2140
+ # textDocument: TextDocumentIdentifier;
2141
+ # }
2142
+ class DocumentLinkParams < LSPBase
2143
+ attr_accessor :textDocument, :workDoneToken, :partialResultToken # type: TextDocumentIdentifier # type: ProgressToken # type: ProgressToken
2144
+
2145
+ def initialize(initial_hash = nil)
2146
+ super
2147
+ @optional_method_names = %i[workDoneToken partialResultToken]
2148
+ end
2149
+
2150
+ def from_h!(value)
2151
+ value = {} if value.nil?
2152
+ self.textDocument = value['textDocument'] # Unknown type
2153
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2154
+ self.partialResultToken = value['partialResultToken'] # Unknown type
2155
+ self
2156
+ end
2157
+ end
2158
+
2159
+ # export interface DocumentLinkOptions extends WorkDoneProgressOptions {
2160
+ # /**
2161
+ # * Document links have a resolve provider as well.
2162
+ # */
2163
+ # resolveProvider?: boolean;
2164
+ # }
2165
+ class DocumentLinkOptions < LSPBase
2166
+ attr_accessor :resolveProvider, :workDoneProgress # type: boolean # type: boolean
2167
+
2168
+ def initialize(initial_hash = nil)
2169
+ super
2170
+ @optional_method_names = %i[resolveProvider workDoneProgress]
2171
+ end
2172
+
2173
+ def from_h!(value)
2174
+ value = {} if value.nil?
2175
+ self.resolveProvider = value['resolveProvider'] # Unknown type
2176
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2177
+ self
2178
+ end
2179
+ end
2180
+
2181
+ # export interface DocumentLinkRegistrationOptions extends TextDocumentRegistrationOptions, DocumentLinkOptions {
2182
+ # }
2183
+ class DocumentLinkRegistrationOptions < LSPBase
2184
+ attr_accessor :documentSelector, :resolveProvider, :workDoneProgress # type: DocumentSelector | null # type: boolean # type: boolean
2185
+
2186
+ def initialize(initial_hash = nil)
2187
+ super
2188
+ @optional_method_names = %i[resolveProvider workDoneProgress]
2189
+ end
2190
+
2191
+ def from_h!(value)
2192
+ value = {} if value.nil?
2193
+ self.documentSelector = value['documentSelector'] # Unknown type
2194
+ self.resolveProvider = value['resolveProvider'] # Unknown type
2195
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2196
+ self
2197
+ end
2198
+ end
2199
+
2200
+ # export interface DocumentFormattingClientCapabilities {
2201
+ # /**
2202
+ # * Whether formatting supports dynamic registration.
2203
+ # */
2204
+ # dynamicRegistration?: boolean;
2205
+ # }
2206
+ class DocumentFormattingClientCapabilities < LSPBase
2207
+ attr_accessor :dynamicRegistration # type: boolean
2208
+
2209
+ def initialize(initial_hash = nil)
2210
+ super
2211
+ @optional_method_names = %i[dynamicRegistration]
2212
+ end
2213
+
2214
+ def from_h!(value)
2215
+ value = {} if value.nil?
2216
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2217
+ self
2218
+ end
2219
+ end
2220
+
2221
+ # export interface DocumentFormattingParams extends WorkDoneProgressParams {
2222
+ # /**
2223
+ # * The document to format.
2224
+ # */
2225
+ # textDocument: TextDocumentIdentifier;
2226
+ # /**
2227
+ # * The format options
2228
+ # */
2229
+ # options: FormattingOptions;
2230
+ # }
2231
+ class DocumentFormattingParams < LSPBase
2232
+ attr_accessor :textDocument, :options, :workDoneToken # type: TextDocumentIdentifier # type: FormattingOptions # type: ProgressToken
2233
+
2234
+ def initialize(initial_hash = nil)
2235
+ super
2236
+ @optional_method_names = %i[workDoneToken]
2237
+ end
2238
+
2239
+ def from_h!(value)
2240
+ value = {} if value.nil?
2241
+ self.textDocument = value['textDocument'] # Unknown type
2242
+ self.options = value['options'] # Unknown type
2243
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2244
+ self
2245
+ end
2246
+ end
2247
+
2248
+ # export interface DocumentFormattingOptions extends WorkDoneProgressOptions {
2249
+ # }
2250
+ class DocumentFormattingOptions < LSPBase
2251
+ attr_accessor :workDoneProgress # type: boolean
2252
+
2253
+ def initialize(initial_hash = nil)
2254
+ super
2255
+ @optional_method_names = %i[workDoneProgress]
2256
+ end
2257
+
2258
+ def from_h!(value)
2259
+ value = {} if value.nil?
2260
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2261
+ self
2262
+ end
2263
+ end
2264
+
2265
+ # export interface DocumentFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentFormattingOptions {
2266
+ # }
2267
+ class DocumentFormattingRegistrationOptions < LSPBase
2268
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
2269
+
2270
+ def initialize(initial_hash = nil)
2271
+ super
2272
+ @optional_method_names = %i[workDoneProgress]
2273
+ end
2274
+
2275
+ def from_h!(value)
2276
+ value = {} if value.nil?
2277
+ self.documentSelector = value['documentSelector'] # Unknown type
2278
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2279
+ self
2280
+ end
2281
+ end
2282
+
2283
+ # export interface DocumentRangeFormattingClientCapabilities {
2284
+ # /**
2285
+ # * Whether range formatting supports dynamic registration.
2286
+ # */
2287
+ # dynamicRegistration?: boolean;
2288
+ # }
2289
+ class DocumentRangeFormattingClientCapabilities < LSPBase
2290
+ attr_accessor :dynamicRegistration # type: boolean
2291
+
2292
+ def initialize(initial_hash = nil)
2293
+ super
2294
+ @optional_method_names = %i[dynamicRegistration]
2295
+ end
2296
+
2297
+ def from_h!(value)
2298
+ value = {} if value.nil?
2299
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2300
+ self
2301
+ end
2302
+ end
2303
+
2304
+ # export interface DocumentRangeFormattingParams extends WorkDoneProgressParams {
2305
+ # /**
2306
+ # * The document to format.
2307
+ # */
2308
+ # textDocument: TextDocumentIdentifier;
2309
+ # /**
2310
+ # * The range to format
2311
+ # */
2312
+ # range: Range;
2313
+ # /**
2314
+ # * The format options
2315
+ # */
2316
+ # options: FormattingOptions;
2317
+ # }
2318
+ class DocumentRangeFormattingParams < LSPBase
2319
+ attr_accessor :textDocument, :range, :options, :workDoneToken # type: TextDocumentIdentifier # type: Range # type: FormattingOptions # type: ProgressToken
2320
+
2321
+ def initialize(initial_hash = nil)
2322
+ super
2323
+ @optional_method_names = %i[workDoneToken]
2324
+ end
2325
+
2326
+ def from_h!(value)
2327
+ value = {} if value.nil?
2328
+ self.textDocument = value['textDocument'] # Unknown type
2329
+ self.range = value['range'] # Unknown type
2330
+ self.options = value['options'] # Unknown type
2331
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2332
+ self
2333
+ end
2334
+ end
2335
+
2336
+ # export interface DocumentRangeFormattingOptions extends WorkDoneProgressOptions {
2337
+ # }
2338
+ class DocumentRangeFormattingOptions < LSPBase
2339
+ attr_accessor :workDoneProgress # type: boolean
2340
+
2341
+ def initialize(initial_hash = nil)
2342
+ super
2343
+ @optional_method_names = %i[workDoneProgress]
2344
+ end
2345
+
2346
+ def from_h!(value)
2347
+ value = {} if value.nil?
2348
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2349
+ self
2350
+ end
2351
+ end
2352
+
2353
+ # export interface DocumentRangeFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentRangeFormattingOptions {
2354
+ # }
2355
+ class DocumentRangeFormattingRegistrationOptions < LSPBase
2356
+ attr_accessor :documentSelector, :workDoneProgress # type: DocumentSelector | null # type: boolean
2357
+
2358
+ def initialize(initial_hash = nil)
2359
+ super
2360
+ @optional_method_names = %i[workDoneProgress]
2361
+ end
2362
+
2363
+ def from_h!(value)
2364
+ value = {} if value.nil?
2365
+ self.documentSelector = value['documentSelector'] # Unknown type
2366
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2367
+ self
2368
+ end
2369
+ end
2370
+
2371
+ # export interface DocumentOnTypeFormattingClientCapabilities {
2372
+ # /**
2373
+ # * Whether on type formatting supports dynamic registration.
2374
+ # */
2375
+ # dynamicRegistration?: boolean;
2376
+ # }
2377
+ class DocumentOnTypeFormattingClientCapabilities < LSPBase
2378
+ attr_accessor :dynamicRegistration # type: boolean
2379
+
2380
+ def initialize(initial_hash = nil)
2381
+ super
2382
+ @optional_method_names = %i[dynamicRegistration]
2383
+ end
2384
+
2385
+ def from_h!(value)
2386
+ value = {} if value.nil?
2387
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2388
+ self
2389
+ end
2390
+ end
2391
+
2392
+ # export interface DocumentOnTypeFormattingParams {
2393
+ # /**
2394
+ # * The document to format.
2395
+ # */
2396
+ # textDocument: TextDocumentIdentifier;
2397
+ # /**
2398
+ # * The position at which this request was send.
2399
+ # */
2400
+ # position: Position;
2401
+ # /**
2402
+ # * The character that has been typed.
2403
+ # */
2404
+ # ch: string;
2405
+ # /**
2406
+ # * The format options.
2407
+ # */
2408
+ # options: FormattingOptions;
2409
+ # }
2410
+ class DocumentOnTypeFormattingParams < LSPBase
2411
+ attr_accessor :textDocument, :position, :ch, :options # type: TextDocumentIdentifier # type: Position # type: string # type: FormattingOptions
2412
+
2413
+ def from_h!(value)
2414
+ value = {} if value.nil?
2415
+ self.textDocument = value['textDocument'] # Unknown type
2416
+ self.position = value['position'] # Unknown type
2417
+ self.ch = value['ch']
2418
+ self.options = value['options'] # Unknown type
2419
+ self
2420
+ end
2421
+ end
2422
+
2423
+ # export interface DocumentOnTypeFormattingOptions {
2424
+ # /**
2425
+ # * A character on which formatting should be triggered, like `}`.
2426
+ # */
2427
+ # firstTriggerCharacter: string;
2428
+ # /**
2429
+ # * More trigger characters.
2430
+ # */
2431
+ # moreTriggerCharacter?: string[];
2432
+ # }
2433
+ class DocumentOnTypeFormattingOptions < LSPBase
2434
+ attr_accessor :firstTriggerCharacter, :moreTriggerCharacter # type: string # type: string[]
2435
+
2436
+ def initialize(initial_hash = nil)
2437
+ super
2438
+ @optional_method_names = %i[moreTriggerCharacter]
2439
+ end
2440
+
2441
+ def from_h!(value)
2442
+ value = {} if value.nil?
2443
+ self.firstTriggerCharacter = value['firstTriggerCharacter']
2444
+ self.moreTriggerCharacter = value['moreTriggerCharacter'].map { |val| val } unless value['moreTriggerCharacter'].nil?
2445
+ self
2446
+ end
2447
+ end
2448
+
2449
+ # export interface DocumentOnTypeFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentOnTypeFormattingOptions {
2450
+ # }
2451
+ class DocumentOnTypeFormattingRegistrationOptions < LSPBase
2452
+ attr_accessor :documentSelector, :firstTriggerCharacter, :moreTriggerCharacter # type: DocumentSelector | null # type: string # type: string[]
2453
+
2454
+ def initialize(initial_hash = nil)
2455
+ super
2456
+ @optional_method_names = %i[moreTriggerCharacter]
2457
+ end
2458
+
2459
+ def from_h!(value)
2460
+ value = {} if value.nil?
2461
+ self.documentSelector = value['documentSelector'] # Unknown type
2462
+ self.firstTriggerCharacter = value['firstTriggerCharacter']
2463
+ self.moreTriggerCharacter = value['moreTriggerCharacter'].map { |val| val } unless value['moreTriggerCharacter'].nil?
2464
+ self
2465
+ end
2466
+ end
2467
+
2468
+ # export interface RenameClientCapabilities {
2469
+ # /**
2470
+ # * Whether rename supports dynamic registration.
2471
+ # */
2472
+ # dynamicRegistration?: boolean;
2473
+ # /**
2474
+ # * Client supports testing for validity of rename operations
2475
+ # * before execution.
2476
+ # *
2477
+ # * @since version 3.12.0
2478
+ # */
2479
+ # prepareSupport?: boolean;
2480
+ # }
2481
+ class RenameClientCapabilities < LSPBase
2482
+ attr_accessor :dynamicRegistration, :prepareSupport # type: boolean # type: boolean
2483
+
2484
+ def initialize(initial_hash = nil)
2485
+ super
2486
+ @optional_method_names = %i[dynamicRegistration prepareSupport]
2487
+ end
2488
+
2489
+ def from_h!(value)
2490
+ value = {} if value.nil?
2491
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2492
+ self.prepareSupport = value['prepareSupport'] # Unknown type
2493
+ self
2494
+ end
2495
+ end
2496
+
2497
+ # export interface RenameParams extends WorkDoneProgressParams {
2498
+ # /**
2499
+ # * The document to rename.
2500
+ # */
2501
+ # textDocument: TextDocumentIdentifier;
2502
+ # /**
2503
+ # * The position at which this request was sent.
2504
+ # */
2505
+ # position: Position;
2506
+ # /**
2507
+ # * The new name of the symbol. If the given name is not valid the
2508
+ # * request must return a [ResponseError](#ResponseError) with an
2509
+ # * appropriate message set.
2510
+ # */
2511
+ # newName: string;
2512
+ # }
2513
+ class RenameParams < LSPBase
2514
+ attr_accessor :textDocument, :position, :newName, :workDoneToken # type: TextDocumentIdentifier # type: Position # type: string # type: ProgressToken
2515
+
2516
+ def initialize(initial_hash = nil)
2517
+ super
2518
+ @optional_method_names = %i[workDoneToken]
2519
+ end
2520
+
2521
+ def from_h!(value)
2522
+ value = {} if value.nil?
2523
+ self.textDocument = value['textDocument'] # Unknown type
2524
+ self.position = value['position'] # Unknown type
2525
+ self.newName = value['newName']
2526
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2527
+ self
2528
+ end
2529
+ end
2530
+
2531
+ # export interface RenameOptions extends WorkDoneProgressOptions {
2532
+ # /**
2533
+ # * Renames should be checked and tested before being executed.
2534
+ # *
2535
+ # * @since version 3.12.0
2536
+ # */
2537
+ # prepareProvider?: boolean;
2538
+ # }
2539
+ class RenameOptions < LSPBase
2540
+ attr_accessor :prepareProvider, :workDoneProgress # type: boolean # type: boolean
2541
+
2542
+ def initialize(initial_hash = nil)
2543
+ super
2544
+ @optional_method_names = %i[prepareProvider workDoneProgress]
2545
+ end
2546
+
2547
+ def from_h!(value)
2548
+ value = {} if value.nil?
2549
+ self.prepareProvider = value['prepareProvider'] # Unknown type
2550
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2551
+ self
2552
+ end
2553
+ end
2554
+
2555
+ # export interface RenameRegistrationOptions extends TextDocumentRegistrationOptions, RenameOptions {
2556
+ # }
2557
+ class RenameRegistrationOptions < LSPBase
2558
+ attr_accessor :documentSelector, :prepareProvider, :workDoneProgress # type: DocumentSelector | null # type: boolean # type: boolean
2559
+
2560
+ def initialize(initial_hash = nil)
2561
+ super
2562
+ @optional_method_names = %i[prepareProvider workDoneProgress]
2563
+ end
2564
+
2565
+ def from_h!(value)
2566
+ value = {} if value.nil?
2567
+ self.documentSelector = value['documentSelector'] # Unknown type
2568
+ self.prepareProvider = value['prepareProvider'] # Unknown type
2569
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2570
+ self
2571
+ end
2572
+ end
2573
+
2574
+ # export interface PrepareRenameParams extends TextDocumentPositionParams, WorkDoneProgressParams {
2575
+ # }
2576
+ class PrepareRenameParams < LSPBase
2577
+ attr_accessor :textDocument, :position, :workDoneToken # type: TextDocumentIdentifier # type: Position # type: ProgressToken
2578
+
2579
+ def initialize(initial_hash = nil)
2580
+ super
2581
+ @optional_method_names = %i[workDoneToken]
2582
+ end
2583
+
2584
+ def from_h!(value)
2585
+ value = {} if value.nil?
2586
+ self.textDocument = value['textDocument'] # Unknown type
2587
+ self.position = value['position'] # Unknown type
2588
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2589
+ self
2590
+ end
2591
+ end
2592
+
2593
+ # export interface ExecuteCommandClientCapabilities {
2594
+ # /**
2595
+ # * Execute command supports dynamic registration.
2596
+ # */
2597
+ # dynamicRegistration?: boolean;
2598
+ # }
2599
+ class ExecuteCommandClientCapabilities < LSPBase
2600
+ attr_accessor :dynamicRegistration # type: boolean
2601
+
2602
+ def initialize(initial_hash = nil)
2603
+ super
2604
+ @optional_method_names = %i[dynamicRegistration]
2605
+ end
2606
+
2607
+ def from_h!(value)
2608
+ value = {} if value.nil?
2609
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
2610
+ self
2611
+ end
2612
+ end
2613
+
2614
+ # export interface ExecuteCommandParams extends WorkDoneProgressParams {
2615
+ # /**
2616
+ # * The identifier of the actual command handler.
2617
+ # */
2618
+ # command: string;
2619
+ # /**
2620
+ # * Arguments that the command should be invoked with.
2621
+ # */
2622
+ # arguments?: any[];
2623
+ # }
2624
+ class ExecuteCommandParams < LSPBase
2625
+ attr_accessor :command, :arguments, :workDoneToken # type: string # type: any[] # type: ProgressToken
2626
+
2627
+ def initialize(initial_hash = nil)
2628
+ super
2629
+ @optional_method_names = %i[arguments workDoneToken]
2630
+ end
2631
+
2632
+ def from_h!(value)
2633
+ value = {} if value.nil?
2634
+ self.command = value['command']
2635
+ self.arguments = value['arguments'].map { |val| val } unless value['arguments'].nil?
2636
+ self.workDoneToken = value['workDoneToken'] # Unknown type
2637
+ self
2638
+ end
2639
+ end
2640
+
2641
+ # export interface ExecuteCommandOptions extends WorkDoneProgressOptions {
2642
+ # /**
2643
+ # * The commands to be executed on the server
2644
+ # */
2645
+ # commands: string[];
2646
+ # }
2647
+ class ExecuteCommandOptions < LSPBase
2648
+ attr_accessor :commands, :workDoneProgress # type: string[] # type: boolean
2649
+
2650
+ def initialize(initial_hash = nil)
2651
+ super
2652
+ @optional_method_names = %i[workDoneProgress]
2653
+ end
2654
+
2655
+ def from_h!(value)
2656
+ value = {} if value.nil?
2657
+ self.commands = value['commands'].map { |val| val } unless value['commands'].nil?
2658
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2659
+ self
2660
+ end
2661
+ end
2662
+
2663
+ # export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions {
2664
+ # }
2665
+ class ExecuteCommandRegistrationOptions < LSPBase
2666
+ attr_accessor :commands, :workDoneProgress # type: string[] # type: boolean
2667
+
2668
+ def initialize(initial_hash = nil)
2669
+ super
2670
+ @optional_method_names = %i[workDoneProgress]
2671
+ end
2672
+
2673
+ def from_h!(value)
2674
+ value = {} if value.nil?
2675
+ self.commands = value['commands'].map { |val| val } unless value['commands'].nil?
2676
+ self.workDoneProgress = value['workDoneProgress'] # Unknown type
2677
+ self
2678
+ end
2679
+ end
2680
+
2681
+ # export interface WorkspaceEditClientCapabilities {
2682
+ # /**
2683
+ # * The client supports versioned document changes in `WorkspaceEdit`s
2684
+ # */
2685
+ # documentChanges?: boolean;
2686
+ # /**
2687
+ # * The resource operations the client supports. Clients should at least
2688
+ # * support 'create', 'rename' and 'delete' files and folders.
2689
+ # *
2690
+ # * @since 3.13.0
2691
+ # */
2692
+ # resourceOperations?: ResourceOperationKind[];
2693
+ # /**
2694
+ # * The failure handling strategy of a client if applying the workspace edit
2695
+ # * fails.
2696
+ # *
2697
+ # * @since 3.13.0
2698
+ # */
2699
+ # failureHandling?: FailureHandlingKind;
2700
+ # }
2701
+ class WorkspaceEditClientCapabilities < LSPBase
2702
+ attr_accessor :documentChanges, :resourceOperations, :failureHandling # type: boolean # type: ResourceOperationKind[] # type: FailureHandlingKind
2703
+
2704
+ def initialize(initial_hash = nil)
2705
+ super
2706
+ @optional_method_names = %i[documentChanges resourceOperations failureHandling]
2707
+ end
2708
+
2709
+ def from_h!(value)
2710
+ value = {} if value.nil?
2711
+ self.documentChanges = value['documentChanges'] # Unknown type
2712
+ self.resourceOperations = value['resourceOperations'].map { |val| val } unless value['resourceOperations'].nil? # Unknown array type
2713
+ self.failureHandling = value['failureHandling'] # Unknown type
2714
+ self
2715
+ end
2716
+ end
2717
+
2718
+ # export interface ApplyWorkspaceEditParams {
2719
+ # /**
2720
+ # * An optional label of the workspace edit. This label is
2721
+ # * presented in the user interface for example on an undo
2722
+ # * stack to undo the workspace edit.
2723
+ # */
2724
+ # label?: string;
2725
+ # /**
2726
+ # * The edits to apply.
2727
+ # */
2728
+ # edit: WorkspaceEdit;
2729
+ # }
2730
+ class ApplyWorkspaceEditParams < LSPBase
2731
+ attr_accessor :label, :edit # type: string # type: WorkspaceEdit
2732
+
2733
+ def initialize(initial_hash = nil)
2734
+ super
2735
+ @optional_method_names = %i[label]
2736
+ end
2737
+
2738
+ def from_h!(value)
2739
+ value = {} if value.nil?
2740
+ self.label = value['label']
2741
+ self.edit = value['edit'] # Unknown type
2742
+ self
2743
+ end
2744
+ end
2745
+
2746
+ # export interface ApplyWorkspaceEditResponse {
2747
+ # /**
2748
+ # * Indicates whether the edit was applied or not.
2749
+ # */
2750
+ # applied: boolean;
2751
+ # /**
2752
+ # * An optional textual description for why the edit was not applied.
2753
+ # * This may be used by the server for diagnostic logging or to provide
2754
+ # * a suitable error for a request that triggered the edit.
2755
+ # */
2756
+ # failureReason?: string;
2757
+ # /**
2758
+ # * Depending on the client's failure handling strategy `failedChange` might
2759
+ # * contain the index of the change that failed. This property is only available
2760
+ # * if the client signals a `failureHandlingStrategy` in its client capabilities.
2761
+ # */
2762
+ # failedChange?: number;
2763
+ # }
2764
+ class ApplyWorkspaceEditResponse < LSPBase
2765
+ attr_accessor :applied, :failureReason, :failedChange # type: boolean # type: string # type: number
2766
+
2767
+ def initialize(initial_hash = nil)
2768
+ super
2769
+ @optional_method_names = %i[failureReason failedChange]
2770
+ end
2771
+
2772
+ def from_h!(value)
2773
+ value = {} if value.nil?
2774
+ self.applied = value['applied'] # Unknown type
2775
+ self.failureReason = value['failureReason']
2776
+ self.failedChange = value['failedChange']
2777
+ self
2778
+ end
2779
+ end
2780
+ end
2781
+
2782
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
2783
+ # rubocop:enable Lint/UselessAssignment
2784
+ # rubocop:enable Style/AsciiComments
2785
+ # rubocop:enable Naming/MethodName