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,239 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.callHierarchy.proposed.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 CallHierarchyItem {
12
+ # /**
13
+ # * The name of this item.
14
+ # */
15
+ # name: string;
16
+ # /**
17
+ # * The kind of this item.
18
+ # */
19
+ # kind: SymbolKind;
20
+ # /**
21
+ # * Tags for this item.
22
+ # */
23
+ # tags?: SymbolTag[];
24
+ # /**
25
+ # * More detail for this item, e.g. the signature of a function.
26
+ # */
27
+ # detail?: string;
28
+ # /**
29
+ # * The resource identifier of this item.
30
+ # */
31
+ # uri: DocumentUri;
32
+ # /**
33
+ # * The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.
34
+ # */
35
+ # range: Range;
36
+ # /**
37
+ # * The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function.
38
+ # * Must be contained by the [`range`](#CallHierarchyItem.range).
39
+ # */
40
+ # selectionRange: Range;
41
+ # }
42
+ class CallHierarchyItem < LSPBase
43
+ attr_accessor :name, :kind, :tags, :detail, :uri, :range, :selectionRange # type: string # type: SymbolKind # type: SymbolTag[] # type: string # type: DocumentUri # type: Range # type: Range
44
+
45
+ def initialize(initial_hash = nil)
46
+ super
47
+ @optional_method_names = %i[tags detail]
48
+ end
49
+
50
+ def from_h!(value)
51
+ value = {} if value.nil?
52
+ self.name = value['name']
53
+ self.kind = value['kind'] # Unknown type
54
+ self.tags = value['tags'].map { |val| val } unless value['tags'].nil? # Unknown array type
55
+ self.detail = value['detail']
56
+ self.uri = value['uri'] # Unknown type
57
+ self.range = value['range'] # Unknown type
58
+ self.selectionRange = value['selectionRange'] # Unknown type
59
+ self
60
+ end
61
+ end
62
+
63
+ # export interface CallHierarchyIncomingCall {
64
+ # /**
65
+ # * The item that makes the call.
66
+ # */
67
+ # from: CallHierarchyItem;
68
+ # /**
69
+ # * The range at which at which the calls appears. This is relative to the caller
70
+ # * denoted by [`this.from`](#CallHierarchyIncomingCall.from).
71
+ # */
72
+ # fromRanges: Range[];
73
+ # }
74
+ class CallHierarchyIncomingCall < LSPBase
75
+ attr_accessor :from, :fromRanges # type: CallHierarchyItem # type: Range[]
76
+
77
+ def from_h!(value)
78
+ value = {} if value.nil?
79
+ self.from = CallHierarchyItem.new(value['from']) unless value['from'].nil?
80
+ self.fromRanges = value['fromRanges'].map { |val| val } unless value['fromRanges'].nil? # Unknown array type
81
+ self
82
+ end
83
+ end
84
+
85
+ # export interface CallHierarchyOutgoingCall {
86
+ # /**
87
+ # * The item that is called.
88
+ # */
89
+ # to: CallHierarchyItem;
90
+ # /**
91
+ # * The range at which this item is called. This is the range relative to the caller, e.g the item
92
+ # * passed to [`provideCallHierarchyOutgoingCalls`](#CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls)
93
+ # * and not [`this.to`](#CallHierarchyOutgoingCall.to).
94
+ # */
95
+ # fromRanges: Range[];
96
+ # }
97
+ class CallHierarchyOutgoingCall < LSPBase
98
+ attr_accessor :to, :fromRanges # type: CallHierarchyItem # type: Range[]
99
+
100
+ def from_h!(value)
101
+ value = {} if value.nil?
102
+ self.to = CallHierarchyItem.new(value['to']) unless value['to'].nil?
103
+ self.fromRanges = value['fromRanges'].map { |val| val } unless value['fromRanges'].nil? # Unknown array type
104
+ self
105
+ end
106
+ end
107
+
108
+ # export interface CallHierarchyClientCapabilities {
109
+ # /**
110
+ # * The text document client capabilities
111
+ # */
112
+ # textDocument?: {
113
+ # /**
114
+ # * Capabilities specific to the `textDocument/callHierarchy`.
115
+ # *
116
+ # * @since 3.16.0 - Proposed state
117
+ # */
118
+ # callHierarchy?: {
119
+ # /**
120
+ # * Whether implementation supports dynamic registration. If this is set to `true`
121
+ # * the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
122
+ # * return value for the corresponding server capability as well.
123
+ # */
124
+ # dynamicRegistration?: boolean;
125
+ # };
126
+ # };
127
+ # }
128
+ class CallHierarchyClientCapabilities < LSPBase
129
+ attr_accessor :textDocument # type: {
130
+
131
+ # /**
132
+ # * Capabilities specific to the `textDocument/callHierarchy`.
133
+ # *
134
+ # * @since 3.16.0 - Proposed state
135
+ # */
136
+ # callHierarchy?: {
137
+ # /**
138
+ # * Whether implementation supports dynamic registration. If this is set to `true`
139
+ # * the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
140
+ # * return value for the corresponding server capability as well.
141
+ # */
142
+ # dynamicRegistration?: boolean;
143
+ # };
144
+ # }
145
+
146
+ def initialize(initial_hash = nil)
147
+ super
148
+ @optional_method_names = %i[textDocument]
149
+ end
150
+
151
+ def from_h!(value)
152
+ value = {} if value.nil?
153
+ self.textDocument = value['textDocument'] # Unknown type
154
+ self
155
+ end
156
+ end
157
+
158
+ # export interface CallHierarchyOptions extends WorkDoneProgressOptions {
159
+ # }
160
+ class CallHierarchyOptions < LSPBase
161
+
162
+ def from_h!(value)
163
+ value = {} if value.nil?
164
+ self
165
+ end
166
+ end
167
+
168
+ # export interface CallHierarchyRegistrationOptions extends TextDocumentRegistrationOptions, CallHierarchyOptions {
169
+ # }
170
+ class CallHierarchyRegistrationOptions < LSPBase
171
+
172
+ def from_h!(value)
173
+ value = {} if value.nil?
174
+ self
175
+ end
176
+ end
177
+
178
+ # export interface CallHierarchyServerCapabilities {
179
+ # /**
180
+ # * The server provides Call Hierarchy support.
181
+ # */
182
+ # callHierarchyProvider?: boolean | CallHierarchyOptions | (CallHierarchyRegistrationOptions & StaticRegistrationOptions);
183
+ # }
184
+ class CallHierarchyServerCapabilities < LSPBase
185
+ attr_accessor :callHierarchyProvider # type: boolean | CallHierarchyOptions | (CallHierarchyRegistrationOptions & StaticRegistrationOptions)
186
+
187
+ def initialize(initial_hash = nil)
188
+ super
189
+ @optional_method_names = %i[callHierarchyProvider]
190
+ end
191
+
192
+ def from_h!(value)
193
+ value = {} if value.nil?
194
+ self.callHierarchyProvider = value['callHierarchyProvider'] # Unknown type
195
+ self
196
+ end
197
+ end
198
+
199
+ # export interface CallHierarchyPrepareParams extends TextDocumentPositionParams, WorkDoneProgressParams {
200
+ # }
201
+ class CallHierarchyPrepareParams < LSPBase
202
+
203
+ def from_h!(value)
204
+ value = {} if value.nil?
205
+ self
206
+ end
207
+ end
208
+
209
+ # export interface CallHierarchyIncomingCallsParams extends WorkDoneProgressParams, PartialResultParams {
210
+ # item: CallHierarchyItem;
211
+ # }
212
+ class CallHierarchyIncomingCallsParams < LSPBase
213
+ attr_accessor :item # type: CallHierarchyItem
214
+
215
+ def from_h!(value)
216
+ value = {} if value.nil?
217
+ self.item = CallHierarchyItem.new(value['item']) unless value['item'].nil?
218
+ self
219
+ end
220
+ end
221
+
222
+ # export interface CallHierarchyOutgoingCallsParams extends WorkDoneProgressParams, PartialResultParams {
223
+ # item: CallHierarchyItem;
224
+ # }
225
+ class CallHierarchyOutgoingCallsParams < LSPBase
226
+ attr_accessor :item # type: CallHierarchyItem
227
+
228
+ def from_h!(value)
229
+ value = {} if value.nil?
230
+ self.item = CallHierarchyItem.new(value['item']) unless value['item'].nil?
231
+ self
232
+ end
233
+ end
234
+ end
235
+
236
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
237
+ # rubocop:enable Lint/UselessAssignment
238
+ # rubocop:enable Style/AsciiComments
239
+ # rubocop:enable Naming/MethodName
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.colorProvider.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 DocumentColorClientCapabilities {
12
+ # /**
13
+ # * Whether implementation supports dynamic registration. If this is set to `true`
14
+ # * the client supports the new `DocumentColorRegistrationOptions` return value
15
+ # * for the corresponding server capability as well.
16
+ # */
17
+ # dynamicRegistration?: boolean;
18
+ # }
19
+ class DocumentColorClientCapabilities < LSPBase
20
+ attr_accessor :dynamicRegistration # type: boolean
21
+
22
+ def initialize(initial_hash = nil)
23
+ super
24
+ @optional_method_names = %i[dynamicRegistration]
25
+ end
26
+
27
+ def from_h!(value)
28
+ value = {} if value.nil?
29
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
30
+ self
31
+ end
32
+ end
33
+
34
+ # export interface DocumentColorOptions extends WorkDoneProgressOptions {
35
+ # }
36
+ class DocumentColorOptions < LSPBase
37
+
38
+ def from_h!(value)
39
+ value = {} if value.nil?
40
+ self
41
+ end
42
+ end
43
+
44
+ # export interface DocumentColorRegistrationOptions extends TextDocumentRegistrationOptions, StaticRegistrationOptions, DocumentColorOptions {
45
+ # }
46
+ class DocumentColorRegistrationOptions < LSPBase
47
+
48
+ def from_h!(value)
49
+ value = {} if value.nil?
50
+ self
51
+ end
52
+ end
53
+
54
+ # export interface DocumentColorParams extends WorkDoneProgressParams, PartialResultParams {
55
+ # /**
56
+ # * The text document.
57
+ # */
58
+ # textDocument: TextDocumentIdentifier;
59
+ # }
60
+ class DocumentColorParams < LSPBase
61
+ attr_accessor :textDocument # type: TextDocumentIdentifier
62
+
63
+ def from_h!(value)
64
+ value = {} if value.nil?
65
+ self.textDocument = value['textDocument'] # Unknown type
66
+ self
67
+ end
68
+ end
69
+
70
+ # export interface ColorPresentationParams extends WorkDoneProgressParams, PartialResultParams {
71
+ # /**
72
+ # * The text document.
73
+ # */
74
+ # textDocument: TextDocumentIdentifier;
75
+ # /**
76
+ # * The color to request presentations for.
77
+ # */
78
+ # color: Color;
79
+ # /**
80
+ # * The range where the color would be inserted. Serves as a context.
81
+ # */
82
+ # range: Range;
83
+ # }
84
+ class ColorPresentationParams < LSPBase
85
+ attr_accessor :textDocument, :color, :range # type: TextDocumentIdentifier # type: Color # type: Range
86
+
87
+ def from_h!(value)
88
+ value = {} if value.nil?
89
+ self.textDocument = value['textDocument'] # Unknown type
90
+ self.color = value['color'] # Unknown type
91
+ self.range = value['range'] # Unknown type
92
+ self
93
+ end
94
+ end
95
+ end
96
+
97
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
98
+ # rubocop:enable Lint/UselessAssignment
99
+ # rubocop:enable Style/AsciiComments
100
+ # rubocop:enable Naming/MethodName
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.configuration.d.ts
5
+
6
+ # rubocop:disable Naming/MethodName
7
+
8
+ module LSP
9
+ # export interface ConfigurationClientCapabilities {
10
+ # /**
11
+ # * The workspace client capabilities
12
+ # */
13
+ # workspace?: {
14
+ # /**
15
+ # * The client supports `workspace/configuration` requests.
16
+ # */
17
+ # configuration?: boolean;
18
+ # };
19
+ # }
20
+ class ConfigurationClientCapabilities < LSPBase
21
+ attr_accessor :workspace # type: {
22
+
23
+ # /**
24
+ # * The client supports `workspace/configuration` requests.
25
+ # */
26
+ # configuration?: boolean;
27
+ # }
28
+
29
+ def initialize(initial_hash = nil)
30
+ super
31
+ @optional_method_names = %i[workspace]
32
+ end
33
+
34
+ def from_h!(value)
35
+ value = {} if value.nil?
36
+ self.workspace = value['workspace'] # Unknown type
37
+ self
38
+ end
39
+ end
40
+
41
+ # export interface ConfigurationItem {
42
+ # /**
43
+ # * The scope to get the configuration section for.
44
+ # */
45
+ # scopeUri?: string;
46
+ # /**
47
+ # * The configuration section asked for.
48
+ # */
49
+ # section?: string;
50
+ # }
51
+ class ConfigurationItem < LSPBase
52
+ attr_accessor :scopeUri, :section # type: string # type: string
53
+
54
+ def initialize(initial_hash = nil)
55
+ super
56
+ @optional_method_names = %i[scopeUri section]
57
+ end
58
+
59
+ def from_h!(value)
60
+ value = {} if value.nil?
61
+ self.scopeUri = value['scopeUri']
62
+ self.section = value['section']
63
+ self
64
+ end
65
+ end
66
+
67
+ # export interface ConfigurationParams {
68
+ # items: ConfigurationItem[];
69
+ # }
70
+ class ConfigurationParams < LSPBase
71
+ attr_accessor :items # type: ConfigurationItem[]
72
+
73
+ def from_h!(value)
74
+ value = {} if value.nil?
75
+ self.items = to_typed_aray(value['items'], ConfigurationItem)
76
+ self
77
+ end
78
+ end
79
+ end
80
+
81
+ # rubocop:enable Style/AsciiComments
82
+ # rubocop:enable Naming/MethodName
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.declaration.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 DeclarationClientCapabilities {
12
+ # /**
13
+ # * Whether declaration supports dynamic registration. If this is set to `true`
14
+ # * the client supports the new `DeclarationRegistrationOptions` return value
15
+ # * for the corresponding server capability as well.
16
+ # */
17
+ # dynamicRegistration?: boolean;
18
+ # /**
19
+ # * The client supports additional metadata in the form of declaration links.
20
+ # */
21
+ # linkSupport?: boolean;
22
+ # }
23
+ class DeclarationClientCapabilities < LSPBase
24
+ attr_accessor :dynamicRegistration, :linkSupport # type: boolean # type: boolean
25
+
26
+ def initialize(initial_hash = nil)
27
+ super
28
+ @optional_method_names = %i[dynamicRegistration linkSupport]
29
+ end
30
+
31
+ def from_h!(value)
32
+ value = {} if value.nil?
33
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
34
+ self.linkSupport = value['linkSupport'] # Unknown type
35
+ self
36
+ end
37
+ end
38
+
39
+ # export interface DeclarationOptions extends WorkDoneProgressOptions {
40
+ # }
41
+ class DeclarationOptions < LSPBase
42
+
43
+ def from_h!(value)
44
+ value = {} if value.nil?
45
+ self
46
+ end
47
+ end
48
+
49
+ # export interface DeclarationRegistrationOptions extends DeclarationOptions, TextDocumentRegistrationOptions, StaticRegistrationOptions {
50
+ # }
51
+ class DeclarationRegistrationOptions < LSPBase
52
+
53
+ def from_h!(value)
54
+ value = {} if value.nil?
55
+ self
56
+ end
57
+ end
58
+
59
+ # export interface DeclarationParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
60
+ # }
61
+ class DeclarationParams < LSPBase
62
+
63
+ def from_h!(value)
64
+ value = {} if value.nil?
65
+ self
66
+ end
67
+ end
68
+ end
69
+
70
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
71
+ # rubocop:enable Lint/UselessAssignment
72
+ # rubocop:enable Style/AsciiComments
73
+ # rubocop:enable Naming/MethodName
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.foldingRange.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 FoldingRangeClientCapabilities {
12
+ # /**
13
+ # * Whether implementation supports dynamic registration for folding range providers. If this is set to `true`
14
+ # * the client supports the new `FoldingRangeRegistrationOptions` return value for the corresponding server
15
+ # * capability as well.
16
+ # */
17
+ # dynamicRegistration?: boolean;
18
+ # /**
19
+ # * The maximum number of folding ranges that the client prefers to receive per document. The value serves as a
20
+ # * hint, servers are free to follow the limit.
21
+ # */
22
+ # rangeLimit?: number;
23
+ # /**
24
+ # * If set, the client signals that it only supports folding complete lines. If set, client will
25
+ # * ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange.
26
+ # */
27
+ # lineFoldingOnly?: boolean;
28
+ # }
29
+ class FoldingRangeClientCapabilities < LSPBase
30
+ attr_accessor :dynamicRegistration, :rangeLimit, :lineFoldingOnly # type: boolean # type: number # type: boolean
31
+
32
+ def initialize(initial_hash = nil)
33
+ super
34
+ @optional_method_names = %i[dynamicRegistration rangeLimit lineFoldingOnly]
35
+ end
36
+
37
+ def from_h!(value)
38
+ value = {} if value.nil?
39
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
40
+ self.rangeLimit = value['rangeLimit']
41
+ self.lineFoldingOnly = value['lineFoldingOnly'] # Unknown type
42
+ self
43
+ end
44
+ end
45
+
46
+ # export interface FoldingRangeOptions extends WorkDoneProgressOptions {
47
+ # }
48
+ class FoldingRangeOptions < LSPBase
49
+
50
+ def from_h!(value)
51
+ value = {} if value.nil?
52
+ self
53
+ end
54
+ end
55
+
56
+ # export interface FoldingRangeRegistrationOptions extends TextDocumentRegistrationOptions, FoldingRangeOptions, StaticRegistrationOptions {
57
+ # }
58
+ class FoldingRangeRegistrationOptions < LSPBase
59
+
60
+ def from_h!(value)
61
+ value = {} if value.nil?
62
+ self
63
+ end
64
+ end
65
+
66
+ # export interface FoldingRange {
67
+ # /**
68
+ # * The zero-based line number from where the folded range starts.
69
+ # */
70
+ # startLine: number;
71
+ # /**
72
+ # * The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line.
73
+ # */
74
+ # startCharacter?: number;
75
+ # /**
76
+ # * The zero-based line number where the folded range ends.
77
+ # */
78
+ # endLine: number;
79
+ # /**
80
+ # * The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line.
81
+ # */
82
+ # endCharacter?: number;
83
+ # /**
84
+ # * Describes the kind of the folding range such as `comment' or 'region'. The kind
85
+ # * is used to categorize folding ranges and used by commands like 'Fold all comments'. See
86
+ # * [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds.
87
+ # */
88
+ # kind?: string;
89
+ # }
90
+ class FoldingRange < LSPBase
91
+ attr_accessor :startLine, :startCharacter, :endLine, :endCharacter, :kind # type: number # type: number # type: number # type: number # type: string
92
+
93
+ def initialize(initial_hash = nil)
94
+ super
95
+ @optional_method_names = %i[startCharacter endCharacter kind]
96
+ end
97
+
98
+ def from_h!(value)
99
+ value = {} if value.nil?
100
+ self.startLine = value['startLine']
101
+ self.startCharacter = value['startCharacter']
102
+ self.endLine = value['endLine']
103
+ self.endCharacter = value['endCharacter']
104
+ self.kind = value['kind']
105
+ self
106
+ end
107
+ end
108
+
109
+ # export interface FoldingRangeParams extends WorkDoneProgressParams, PartialResultParams {
110
+ # /**
111
+ # * The text document.
112
+ # */
113
+ # textDocument: TextDocumentIdentifier;
114
+ # }
115
+ class FoldingRangeParams < LSPBase
116
+ attr_accessor :textDocument # type: TextDocumentIdentifier
117
+
118
+ def from_h!(value)
119
+ value = {} if value.nil?
120
+ self.textDocument = value['textDocument'] # Unknown type
121
+ self
122
+ end
123
+ end
124
+ end
125
+
126
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
127
+ # rubocop:enable Lint/UselessAssignment
128
+ # rubocop:enable Style/AsciiComments
129
+ # rubocop:enable Naming/MethodName
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ # DO NOT MODIFY. This file is built automatically
4
+ # LSP Protocol: vscode-languageserver-protocol/lib/protocol.implementation.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 ImplementationClientCapabilities {
12
+ # /**
13
+ # * Whether implementation supports dynamic registration. If this is set to `true`
14
+ # * the client supports the new `ImplementationRegistrationOptions` return value
15
+ # * for the corresponding server capability as well.
16
+ # */
17
+ # dynamicRegistration?: boolean;
18
+ # /**
19
+ # * The client supports additional metadata in the form of definition links.
20
+ # *
21
+ # * Since 3.14.0
22
+ # */
23
+ # linkSupport?: boolean;
24
+ # }
25
+ class ImplementationClientCapabilities < LSPBase
26
+ attr_accessor :dynamicRegistration, :linkSupport # type: boolean # type: boolean
27
+
28
+ def initialize(initial_hash = nil)
29
+ super
30
+ @optional_method_names = %i[dynamicRegistration linkSupport]
31
+ end
32
+
33
+ def from_h!(value)
34
+ value = {} if value.nil?
35
+ self.dynamicRegistration = value['dynamicRegistration'] # Unknown type
36
+ self.linkSupport = value['linkSupport'] # Unknown type
37
+ self
38
+ end
39
+ end
40
+
41
+ # export interface ImplementationOptions extends WorkDoneProgressOptions {
42
+ # }
43
+ class ImplementationOptions < LSPBase
44
+
45
+ def from_h!(value)
46
+ value = {} if value.nil?
47
+ self
48
+ end
49
+ end
50
+
51
+ # export interface ImplementationRegistrationOptions extends TextDocumentRegistrationOptions, ImplementationOptions, StaticRegistrationOptions {
52
+ # }
53
+ class ImplementationRegistrationOptions < LSPBase
54
+
55
+ def from_h!(value)
56
+ value = {} if value.nil?
57
+ self
58
+ end
59
+ end
60
+
61
+ # export interface ImplementationParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
62
+ # }
63
+ class ImplementationParams < LSPBase
64
+
65
+ def from_h!(value)
66
+ value = {} if value.nil?
67
+ self
68
+ end
69
+ end
70
+ end
71
+
72
+ # rubocop:enable Layout/EmptyLinesAroundClassBody
73
+ # rubocop:enable Lint/UselessAssignment
74
+ # rubocop:enable Style/AsciiComments
75
+ # rubocop:enable Naming/MethodName