language_server-protocol 3.15.0.2 → 3.16.0.3

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 (218) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/language_server/protocol/constant/code_action_kind.rb +6 -4
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -2
  5. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
  6. data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -2
  7. data/lib/language_server/protocol/constant/error_codes.rb +26 -3
  8. data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
  9. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  10. data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
  11. data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  12. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  13. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -1
  14. data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  15. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  16. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -2
  17. data/lib/language_server/protocol/constant/token_format.rb +9 -0
  18. data/lib/language_server/protocol/constant.rb +10 -0
  19. data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
  20. data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +15 -4
  21. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  22. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  23. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
  24. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  25. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
  26. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  27. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
  28. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
  29. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
  30. data/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  31. data/lib/language_server/protocol/interface/client_capabilities.rb +12 -3
  32. data/lib/language_server/protocol/interface/code_action.rb +43 -8
  33. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +44 -1
  34. data/lib/language_server/protocol/interface/code_action_context.rb +7 -6
  35. data/lib/language_server/protocol/interface/code_action_options.rb +19 -4
  36. data/lib/language_server/protocol/interface/code_action_params.rb +20 -2
  37. data/lib/language_server/protocol/interface/code_action_registration_options.rb +38 -2
  38. data/lib/language_server/protocol/interface/code_description.rb +36 -0
  39. data/lib/language_server/protocol/interface/code_lens.rb +5 -3
  40. data/lib/language_server/protocol/interface/code_lens_options.rb +6 -1
  41. data/lib/language_server/protocol/interface/code_lens_params.rb +20 -2
  42. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +25 -2
  43. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
  44. data/lib/language_server/protocol/interface/color_presentation.rb +7 -6
  45. data/lib/language_server/protocol/interface/color_presentation_params.rb +20 -2
  46. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +1 -1
  47. data/lib/language_server/protocol/interface/completion_context.rb +5 -3
  48. data/lib/language_server/protocol/interface/completion_item.rb +60 -29
  49. data/lib/language_server/protocol/interface/completion_list.rb +2 -2
  50. data/lib/language_server/protocol/interface/completion_options.rb +21 -13
  51. data/lib/language_server/protocol/interface/completion_params.rb +40 -3
  52. data/lib/language_server/protocol/interface/completion_registration_options.rb +57 -2
  53. data/lib/language_server/protocol/interface/create_file.rb +10 -1
  54. data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  55. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +3 -3
  56. data/lib/language_server/protocol/interface/declaration_options.rb +6 -1
  57. data/lib/language_server/protocol/interface/declaration_params.rb +38 -2
  58. data/lib/language_server/protocol/interface/declaration_registration_options.rb +27 -2
  59. data/lib/language_server/protocol/interface/definition_options.rb +6 -1
  60. data/lib/language_server/protocol/interface/definition_params.rb +38 -2
  61. data/lib/language_server/protocol/interface/definition_registration_options.rb +17 -2
  62. data/lib/language_server/protocol/interface/delete_file.rb +10 -1
  63. data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  64. data/lib/language_server/protocol/interface/diagnostic.rb +21 -1
  65. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
  66. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -9
  67. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +3 -3
  68. data/lib/language_server/protocol/interface/document_color_options.rb +6 -1
  69. data/lib/language_server/protocol/interface/document_color_params.rb +20 -2
  70. data/lib/language_server/protocol/interface/document_color_registration_options.rb +27 -2
  71. data/lib/language_server/protocol/interface/document_filter.rb +7 -3
  72. data/lib/language_server/protocol/interface/document_formatting_options.rb +6 -1
  73. data/lib/language_server/protocol/interface/document_formatting_params.rb +9 -1
  74. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +17 -2
  75. data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
  76. data/lib/language_server/protocol/interface/document_highlight_options.rb +6 -1
  77. data/lib/language_server/protocol/interface/document_highlight_params.rb +38 -2
  78. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +17 -2
  79. data/lib/language_server/protocol/interface/document_link.rb +6 -5
  80. data/lib/language_server/protocol/interface/document_link_options.rb +6 -1
  81. data/lib/language_server/protocol/interface/document_link_params.rb +20 -2
  82. data/lib/language_server/protocol/interface/document_link_registration_options.rb +25 -2
  83. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +17 -1
  84. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +28 -2
  85. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +6 -1
  86. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +9 -1
  87. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +17 -2
  88. data/lib/language_server/protocol/interface/document_symbol.rb +23 -11
  89. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +24 -2
  90. data/lib/language_server/protocol/interface/document_symbol_options.rb +17 -2
  91. data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -2
  92. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +27 -2
  93. data/lib/language_server/protocol/interface/execute_command_options.rb +6 -1
  94. data/lib/language_server/protocol/interface/execute_command_params.rb +9 -1
  95. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +14 -1
  96. data/lib/language_server/protocol/interface/file_create.rb +36 -0
  97. data/lib/language_server/protocol/interface/file_delete.rb +36 -0
  98. data/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  99. data/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  100. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  101. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  102. data/lib/language_server/protocol/interface/file_rename.rb +45 -0
  103. data/lib/language_server/protocol/interface/file_system_watcher.rb +7 -3
  104. data/lib/language_server/protocol/interface/folding_range.rb +17 -8
  105. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +10 -7
  106. data/lib/language_server/protocol/interface/folding_range_options.rb +6 -1
  107. data/lib/language_server/protocol/interface/folding_range_params.rb +20 -2
  108. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +27 -2
  109. data/lib/language_server/protocol/interface/hover.rb +1 -1
  110. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +3 -2
  111. data/lib/language_server/protocol/interface/hover_options.rb +6 -1
  112. data/lib/language_server/protocol/interface/hover_params.rb +28 -2
  113. data/lib/language_server/protocol/interface/hover_registration_options.rb +17 -2
  114. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +3 -3
  115. data/lib/language_server/protocol/interface/implementation_options.rb +6 -1
  116. data/lib/language_server/protocol/interface/implementation_params.rb +38 -2
  117. data/lib/language_server/protocol/interface/implementation_registration_options.rb +27 -2
  118. data/lib/language_server/protocol/interface/initialize_params.rb +29 -6
  119. data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  120. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  121. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
  122. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
  123. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
  124. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +45 -0
  125. data/lib/language_server/protocol/interface/location_link.rb +9 -7
  126. data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
  127. data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  128. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
  129. data/lib/language_server/protocol/interface/markup_content.rb +9 -7
  130. data/lib/language_server/protocol/interface/moniker.rb +64 -0
  131. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  132. data/lib/language_server/protocol/interface/moniker_options.rb +30 -0
  133. data/lib/language_server/protocol/interface/moniker_params.rb +61 -0
  134. data/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
  135. data/lib/language_server/protocol/interface/notification_message.rb +6 -1
  136. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
  137. data/lib/language_server/protocol/interface/parameter_information.rb +7 -5
  138. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  139. data/lib/language_server/protocol/interface/position.rb +5 -5
  140. data/lib/language_server/protocol/interface/prepare_rename_params.rb +17 -1
  141. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  142. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +21 -1
  143. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +2 -1
  144. data/lib/language_server/protocol/interface/reference_options.rb +6 -1
  145. data/lib/language_server/protocol/interface/reference_params.rb +38 -2
  146. data/lib/language_server/protocol/interface/reference_registration_options.rb +17 -2
  147. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  148. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +27 -1
  149. data/lib/language_server/protocol/interface/rename_file.rb +10 -1
  150. data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  151. data/lib/language_server/protocol/interface/rename_options.rb +6 -1
  152. data/lib/language_server/protocol/interface/rename_params.rb +28 -2
  153. data/lib/language_server/protocol/interface/rename_registration_options.rb +25 -2
  154. data/lib/language_server/protocol/interface/request_message.rb +6 -1
  155. data/lib/language_server/protocol/interface/response_message.rb +6 -1
  156. data/lib/language_server/protocol/interface/selection_range.rb +2 -1
  157. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -3
  158. data/lib/language_server/protocol/interface/selection_range_options.rb +6 -1
  159. data/lib/language_server/protocol/interface/selection_range_params.rb +20 -2
  160. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +27 -2
  161. data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  162. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
  163. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  164. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
  165. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  166. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  167. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  168. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
  169. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
  170. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  171. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
  172. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
  173. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  174. data/lib/language_server/protocol/interface/server_capabilities.rb +47 -9
  175. data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  176. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  177. data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  178. data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  179. data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
  180. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  181. data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
  182. data/lib/language_server/protocol/interface/signature_help.rb +3 -3
  183. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +1 -1
  184. data/lib/language_server/protocol/interface/signature_help_context.rb +10 -7
  185. data/lib/language_server/protocol/interface/signature_help_options.rb +9 -3
  186. data/lib/language_server/protocol/interface/signature_help_params.rb +31 -4
  187. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +38 -2
  188. data/lib/language_server/protocol/interface/signature_information.rb +12 -1
  189. data/lib/language_server/protocol/interface/symbol_information.rb +10 -1
  190. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +11 -2
  191. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +39 -2
  192. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
  193. data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
  194. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  195. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
  196. data/lib/language_server/protocol/interface/text_document_sync_options.rb +13 -15
  197. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +3 -3
  198. data/lib/language_server/protocol/interface/type_definition_options.rb +6 -1
  199. data/lib/language_server/protocol/interface/type_definition_params.rb +38 -2
  200. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +27 -2
  201. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +12 -8
  202. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  203. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
  204. data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +1 -1
  205. data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +1 -1
  206. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  207. data/lib/language_server/protocol/interface/work_done_progress_report.rb +5 -5
  208. data/lib/language_server/protocol/interface/workspace_edit.rb +24 -7
  209. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +23 -1
  210. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +13 -2
  211. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +6 -1
  212. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +20 -2
  213. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +6 -1
  214. data/lib/language_server/protocol/interface.rb +112 -0
  215. data/lib/language_server/protocol/transport/io/reader.rb +8 -24
  216. data/lib/language_server/protocol/transport/io/writer.rb +1 -0
  217. data/lib/language_server/protocol/version.rb +1 -1
  218. metadata +68 -21
@@ -7,12 +7,13 @@ module LanguageServer
7
7
  # a set of parameters.
8
8
  #
9
9
  class SignatureInformation
10
- def initialize(label:, documentation: nil, parameters: nil)
10
+ def initialize(label:, documentation: nil, parameters: nil, active_parameter: nil)
11
11
  @attributes = {}
12
12
 
13
13
  @attributes[:label] = label
14
14
  @attributes[:documentation] = documentation if documentation
15
15
  @attributes[:parameters] = parameters if parameters
16
+ @attributes[:activeParameter] = active_parameter if active_parameter
16
17
 
17
18
  @attributes.freeze
18
19
  end
@@ -43,6 +44,16 @@ module LanguageServer
43
44
  attributes.fetch(:parameters)
44
45
  end
45
46
 
47
+ #
48
+ # The index of the active parameter.
49
+ #
50
+ # If provided, this is used in place of `SignatureHelp.activeParameter`.
51
+ #
52
+ # @return [number]
53
+ def active_parameter
54
+ attributes.fetch(:activeParameter)
55
+ end
56
+
46
57
  attr_reader :attributes
47
58
 
48
59
  def to_hash
@@ -6,11 +6,12 @@ module LanguageServer
6
6
  # interfaces etc.
7
7
  #
8
8
  class SymbolInformation
9
- def initialize(name:, kind:, deprecated: nil, location:, container_name: nil)
9
+ def initialize(name:, kind:, tags: nil, deprecated: nil, location:, container_name: nil)
10
10
  @attributes = {}
11
11
 
12
12
  @attributes[:name] = name
13
13
  @attributes[:kind] = kind
14
+ @attributes[:tags] = tags if tags
14
15
  @attributes[:deprecated] = deprecated if deprecated
15
16
  @attributes[:location] = location
16
17
  @attributes[:containerName] = container_name if container_name
@@ -34,6 +35,14 @@ module LanguageServer
34
35
  attributes.fetch(:kind)
35
36
  end
36
37
 
38
+ #
39
+ # Tags for this symbol.
40
+ #
41
+ # @return [1[]]
42
+ def tags
43
+ attributes.fetch(:tags)
44
+ end
45
+
37
46
  #
38
47
  # Indicates if this symbol is deprecated.
39
48
  #
@@ -4,7 +4,7 @@ module LanguageServer
4
4
  #
5
5
  # Describe options to be used when registering for text document change events.
6
6
  #
7
- class TextDocumentChangeRegistrationOptions < TextDocumentRegistrationOptions
7
+ class TextDocumentChangeRegistrationOptions
8
8
  def initialize(document_selector:, sync_kind:)
9
9
  @attributes = {}
10
10
 
@@ -14,11 +14,20 @@ module LanguageServer
14
14
  @attributes.freeze
15
15
  end
16
16
 
17
+ #
18
+ # A document selector to identify the scope of the registration. If set to
19
+ # null the document selector provided on the client side will be used.
20
+ #
21
+ # @return [DocumentSelector]
22
+ def document_selector
23
+ attributes.fetch(:documentSelector)
24
+ end
25
+
17
26
  #
18
27
  # How documents are synced to the server. See TextDocumentSyncKind.Full
19
28
  # and TextDocumentSyncKind.Incremental.
20
29
  #
21
- # @return [any]
30
+ # @return [TextDocumentSyncKind]
22
31
  def sync_kind
23
32
  attributes.fetch(:syncKind)
24
33
  end
@@ -5,7 +5,7 @@ module LanguageServer
5
5
  # Text document specific client capabilities.
6
6
  #
7
7
  class TextDocumentClientCapabilities
8
- def initialize(synchronization: nil, completion: nil, hover: nil, signature_help: nil, declaration: nil, definition: nil, type_definition: nil, implementation: nil, references: nil, document_highlight: nil, document_symbol: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, rename: nil, publish_diagnostics: nil, folding_range: nil, selection_range: nil)
8
+ def initialize(synchronization: nil, completion: nil, hover: nil, signature_help: nil, declaration: nil, definition: nil, type_definition: nil, implementation: nil, references: nil, document_highlight: nil, document_symbol: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, rename: nil, publish_diagnostics: nil, folding_range: nil, selection_range: nil, linked_editing_range: nil, call_hierarchy: nil, semantic_tokens: nil, moniker: nil)
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:synchronization] = synchronization if synchronization
@@ -30,6 +30,10 @@ module LanguageServer
30
30
  @attributes[:publishDiagnostics] = publish_diagnostics if publish_diagnostics
31
31
  @attributes[:foldingRange] = folding_range if folding_range
32
32
  @attributes[:selectionRange] = selection_range if selection_range
33
+ @attributes[:linkedEditingRange] = linked_editing_range if linked_editing_range
34
+ @attributes[:callHierarchy] = call_hierarchy if call_hierarchy
35
+ @attributes[:semanticTokens] = semantic_tokens if semantic_tokens
36
+ @attributes[:moniker] = moniker if moniker
33
37
 
34
38
  @attributes.freeze
35
39
  end
@@ -186,7 +190,8 @@ module LanguageServer
186
190
  end
187
191
 
188
192
  #
189
- # Capabilities specific to the `textDocument/publishDiagnostics` notification.
193
+ # Capabilities specific to the `textDocument/publishDiagnostics`
194
+ # notification.
190
195
  #
191
196
  # @return [PublishDiagnosticsClientCapabilities]
192
197
  def publish_diagnostics
@@ -209,6 +214,38 @@ module LanguageServer
209
214
  attributes.fetch(:selectionRange)
210
215
  end
211
216
 
217
+ #
218
+ # Capabilities specific to the `textDocument/linkedEditingRange` request.
219
+ #
220
+ # @return [LinkedEditingRangeClientCapabilities]
221
+ def linked_editing_range
222
+ attributes.fetch(:linkedEditingRange)
223
+ end
224
+
225
+ #
226
+ # Capabilities specific to the various call hierarchy requests.
227
+ #
228
+ # @return [CallHierarchyClientCapabilities]
229
+ def call_hierarchy
230
+ attributes.fetch(:callHierarchy)
231
+ end
232
+
233
+ #
234
+ # Capabilities specific to the various semantic token requests.
235
+ #
236
+ # @return [SemanticTokensClientCapabilities]
237
+ def semantic_tokens
238
+ attributes.fetch(:semanticTokens)
239
+ end
240
+
241
+ #
242
+ # Capabilities specific to the `textDocument/moniker` request.
243
+ #
244
+ # @return [MonikerClientCapabilities]
245
+ def moniker
246
+ attributes.fetch(:moniker)
247
+ end
248
+
212
249
  attr_reader :attributes
213
250
 
214
251
  def to_hash
@@ -2,8 +2,8 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # An event describing a change to a text document. If range and rangeLength are omitted
6
- # the new text is considered to be the full content of the document.
5
+ # An event describing a change to a text document. If range and rangeLength are
6
+ # omitted the new text is considered to be the full content of the document.
7
7
  #
8
8
  class TextDocumentContentChangeEvent
9
9
  def initialize(range: nil, range_length: nil, text:)
@@ -14,7 +14,7 @@ module LanguageServer
14
14
  #
15
15
  # The text document to change.
16
16
  #
17
- # @return [VersionedTextDocumentIdentifier]
17
+ # @return [OptionalVersionedTextDocumentIdentifier]
18
18
  def text_document
19
19
  attributes.fetch(:textDocument)
20
20
  end
@@ -22,7 +22,7 @@ module LanguageServer
22
22
  #
23
23
  # The edits to be applied.
24
24
  #
25
- # @return [TextEdit[]]
25
+ # @return [(TextEdit | AnnotatedTextEdit)[]]
26
26
  def edits
27
27
  attributes.fetch(:edits)
28
28
  end
@@ -14,10 +14,10 @@ module LanguageServer
14
14
  end
15
15
 
16
16
  #
17
- # A document selector to identify the scope of the registration. If set to null
18
- # the document selector provided on the client side will be used.
17
+ # A document selector to identify the scope of the registration. If set to
18
+ # null the document selector provided on the client side will be used.
19
19
  #
20
- # @return [DocumentFilter[]]
20
+ # @return [DocumentSelector]
21
21
  def document_selector
22
22
  attributes.fetch(:documentSelector)
23
23
  end
@@ -1,7 +1,7 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class TextDocumentSaveRegistrationOptions < TextDocumentRegistrationOptions
4
+ class TextDocumentSaveRegistrationOptions
5
5
  def initialize(document_selector:, include_text: nil)
6
6
  @attributes = {}
7
7
 
@@ -11,6 +11,15 @@ module LanguageServer
11
11
  @attributes.freeze
12
12
  end
13
13
 
14
+ #
15
+ # A document selector to identify the scope of the registration. If set to
16
+ # null the document selector provided on the client side will be used.
17
+ #
18
+ # @return [DocumentSelector]
19
+ def document_selector
20
+ attributes.fetch(:documentSelector)
21
+ end
22
+
14
23
  #
15
24
  # The client is supposed to include the content on save.
16
25
  #
@@ -15,10 +15,8 @@ module LanguageServer
15
15
  end
16
16
 
17
17
  #
18
- # Open and close notifications are sent to the server. If omitted open close notification should not
19
- # be sent.
20
- # Open and close notifications are sent to the server. If omitted open close notification should not
21
- # be sent.
18
+ # Open and close notifications are sent to the server. If omitted open
19
+ # close notification should not be sent.
22
20
  #
23
21
  # @return [boolean]
24
22
  def open_close
@@ -26,19 +24,19 @@ module LanguageServer
26
24
  end
27
25
 
28
26
  #
29
- # Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
30
- # and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
31
- # Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
32
- # and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
27
+ # Change notifications are sent to the server. See
28
+ # TextDocumentSyncKind.None, TextDocumentSyncKind.Full and
29
+ # TextDocumentSyncKind.Incremental. If omitted it defaults to
30
+ # TextDocumentSyncKind.None.
33
31
  #
34
- # @return [any]
32
+ # @return [TextDocumentSyncKind]
35
33
  def change
36
34
  attributes.fetch(:change)
37
35
  end
38
36
 
39
37
  #
40
- # If present will save notifications are sent to the server. If omitted the notification should not be
41
- # sent.
38
+ # If present will save notifications are sent to the server. If omitted
39
+ # the notification should not be sent.
42
40
  #
43
41
  # @return [boolean]
44
42
  def will_save
@@ -46,8 +44,8 @@ module LanguageServer
46
44
  end
47
45
 
48
46
  #
49
- # If present will save wait until requests are sent to the server. If omitted the request should not be
50
- # sent.
47
+ # If present will save wait until requests are sent to the server. If
48
+ # omitted the request should not be sent.
51
49
  #
52
50
  # @return [boolean]
53
51
  def will_save_wait_until
@@ -55,8 +53,8 @@ module LanguageServer
55
53
  end
56
54
 
57
55
  #
58
- # If present save notifications are sent to the server. If omitted the notification should not be
59
- # sent.
56
+ # If present save notifications are sent to the server. If omitted the
57
+ # notification should not be sent.
60
58
  #
61
59
  # @return [boolean | SaveOptions]
62
60
  def save
@@ -12,9 +12,9 @@ module LanguageServer
12
12
  end
13
13
 
14
14
  #
15
- # Whether implementation supports dynamic registration. If this is set to `true`
16
- # the client supports the new `TypeDefinitionRegistrationOptions` return value
17
- # for the corresponding server capability as well.
15
+ # Whether implementation supports dynamic registration. If this is set to
16
+ # `true` the client supports the new `TypeDefinitionRegistrationOptions`
17
+ # return value for the corresponding server capability as well.
18
18
  #
19
19
  # @return [boolean]
20
20
  def dynamic_registration
@@ -1,7 +1,7 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class TypeDefinitionOptions < WorkDoneProgressOptions
4
+ class TypeDefinitionOptions
5
5
  def initialize(work_done_progress: nil)
6
6
  @attributes = {}
7
7
 
@@ -10,6 +10,11 @@ module LanguageServer
10
10
  @attributes.freeze
11
11
  end
12
12
 
13
+ # @return [boolean]
14
+ def work_done_progress
15
+ attributes.fetch(:workDoneProgress)
16
+ end
17
+
13
18
  attr_reader :attributes
14
19
 
15
20
  def to_hash
@@ -1,15 +1,51 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class TypeDefinitionParams < PartialResultParams
5
- def initialize(partial_result_token: nil)
4
+ class TypeDefinitionParams
5
+ def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
10
+ @attributes[:workDoneToken] = work_done_token if work_done_token
8
11
  @attributes[:partialResultToken] = partial_result_token if partial_result_token
9
12
 
10
13
  @attributes.freeze
11
14
  end
12
15
 
16
+ #
17
+ # The text document.
18
+ #
19
+ # @return [TextDocumentIdentifier]
20
+ def text_document
21
+ attributes.fetch(:textDocument)
22
+ end
23
+
24
+ #
25
+ # The position inside the text document.
26
+ #
27
+ # @return [Position]
28
+ def position
29
+ attributes.fetch(:position)
30
+ end
31
+
32
+ #
33
+ # An optional token that a server can use to report work done progress.
34
+ #
35
+ # @return [ProgressToken]
36
+ def work_done_token
37
+ attributes.fetch(:workDoneToken)
38
+ end
39
+
40
+ #
41
+ # An optional token that a server can use to report partial results (e.g.
42
+ # streaming) to the client.
43
+ #
44
+ # @return [ProgressToken]
45
+ def partial_result_token
46
+ attributes.fetch(:partialResultToken)
47
+ end
48
+
13
49
  attr_reader :attributes
14
50
 
15
51
  def to_hash
@@ -1,15 +1,40 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class TypeDefinitionRegistrationOptions < StaticRegistrationOptions
5
- def initialize(id: nil)
4
+ class TypeDefinitionRegistrationOptions
5
+ def initialize(document_selector:, work_done_progress: nil, id: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
9
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
8
10
  @attributes[:id] = id if id
9
11
 
10
12
  @attributes.freeze
11
13
  end
12
14
 
15
+ #
16
+ # A document selector to identify the scope of the registration. If set to
17
+ # null the document selector provided on the client side will be used.
18
+ #
19
+ # @return [DocumentSelector]
20
+ def document_selector
21
+ attributes.fetch(:documentSelector)
22
+ end
23
+
24
+ # @return [boolean]
25
+ def work_done_progress
26
+ attributes.fetch(:workDoneProgress)
27
+ end
28
+
29
+ #
30
+ # The id used to register the request. The id can be used to deregister
31
+ # the request again. See also Registration#id.
32
+ #
33
+ # @return [string]
34
+ def id
35
+ attributes.fetch(:id)
36
+ end
37
+
13
38
  attr_reader :attributes
14
39
 
15
40
  def to_hash
@@ -1,7 +1,7 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class VersionedTextDocumentIdentifier < TextDocumentIdentifier
4
+ class VersionedTextDocumentIdentifier
5
5
  def initialize(uri:, version:)
6
6
  @attributes = {}
7
7
 
@@ -12,14 +12,18 @@ module LanguageServer
12
12
  end
13
13
 
14
14
  #
15
- # The version number of this document. If a versioned text document identifier
16
- # is sent from the server to the client and the file is not open in the editor
17
- # (the server has not received an open notification before) the server can send
18
- # `null` to indicate that the version is known and the content on disk is the
19
- # master (as speced with document content ownership).
15
+ # The text document's URI.
20
16
  #
21
- # The version number of a document will increase after each change, including
22
- # undo/redo. The number doesn't need to be consecutive.
17
+ # @return [string]
18
+ def uri
19
+ attributes.fetch(:uri)
20
+ end
21
+
22
+ #
23
+ # The version number of this document.
24
+ #
25
+ # The version number of a document will increase after each change,
26
+ # including undo/redo. The number doesn't need to be consecutive.
23
27
  #
24
28
  # @return [number]
25
29
  def version