language_server-protocol 3.14.0.2 → 3.16.0.1

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 (240) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/language_server/protocol/constant.rb +18 -0
  4. data/lib/language_server/protocol/constant/code_action_kind.rb +17 -11
  5. data/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
  6. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
  7. data/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
  8. data/lib/language_server/protocol/constant/error_codes.rb +26 -3
  9. data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
  10. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  11. data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
  12. data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  13. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  14. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +24 -0
  15. data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  16. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  17. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -1
  18. data/lib/language_server/protocol/constant/token_format.rb +9 -0
  19. data/lib/language_server/protocol/interface.rb +270 -6
  20. data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
  21. data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +24 -1
  22. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  23. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  24. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
  25. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  26. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
  27. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  28. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
  29. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
  30. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
  31. data/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  32. data/lib/language_server/protocol/interface/client_capabilities.rb +20 -2
  33. data/lib/language_server/protocol/interface/code_action.rb +52 -4
  34. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +95 -0
  35. data/lib/language_server/protocol/interface/code_action_context.rb +8 -3
  36. data/lib/language_server/protocol/interface/code_action_options.rb +19 -6
  37. data/lib/language_server/protocol/interface/code_action_params.rb +20 -1
  38. data/lib/language_server/protocol/interface/code_action_registration_options.rb +39 -2
  39. data/lib/language_server/protocol/interface/code_description.rb +36 -0
  40. data/lib/language_server/protocol/interface/code_lens.rb +5 -3
  41. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +33 -0
  42. data/lib/language_server/protocol/interface/code_lens_options.rb +7 -4
  43. data/lib/language_server/protocol/interface/code_lens_params.rb +20 -1
  44. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +17 -2
  45. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
  46. data/lib/language_server/protocol/interface/color_presentation.rb +7 -6
  47. data/lib/language_server/protocol/interface/color_presentation_params.rb +20 -1
  48. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +59 -0
  49. data/lib/language_server/protocol/interface/completion_context.rb +5 -3
  50. data/lib/language_server/protocol/interface/completion_item.rb +71 -29
  51. data/lib/language_server/protocol/interface/completion_list.rb +2 -2
  52. data/lib/language_server/protocol/interface/completion_options.rb +39 -9
  53. data/lib/language_server/protocol/interface/completion_params.rb +39 -3
  54. data/lib/language_server/protocol/interface/completion_registration_options.rb +41 -9
  55. data/lib/language_server/protocol/interface/create_file.rb +10 -1
  56. data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  57. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
  58. data/lib/language_server/protocol/interface/declaration_options.rb +30 -0
  59. data/lib/language_server/protocol/interface/declaration_params.rb +61 -0
  60. data/lib/language_server/protocol/interface/declaration_registration_options.rb +50 -0
  61. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  62. data/lib/language_server/protocol/interface/definition_options.rb +30 -0
  63. data/lib/language_server/protocol/interface/definition_params.rb +61 -0
  64. data/lib/language_server/protocol/interface/definition_registration_options.rb +40 -0
  65. data/lib/language_server/protocol/interface/delete_file.rb +10 -1
  66. data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  67. data/lib/language_server/protocol/interface/diagnostic.rb +31 -2
  68. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
  69. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
  70. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +13 -3
  71. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +35 -0
  72. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  73. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
  74. data/lib/language_server/protocol/interface/document_color_options.rb +30 -0
  75. data/lib/language_server/protocol/interface/document_color_params.rb +52 -0
  76. data/lib/language_server/protocol/interface/document_color_registration_options.rb +50 -0
  77. data/lib/language_server/protocol/interface/document_filter.rb +7 -3
  78. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
  79. data/lib/language_server/protocol/interface/document_formatting_options.rb +30 -0
  80. data/lib/language_server/protocol/interface/document_formatting_params.rb +10 -1
  81. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +40 -0
  82. data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
  83. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
  84. data/lib/language_server/protocol/interface/document_highlight_options.rb +30 -0
  85. data/lib/language_server/protocol/interface/document_highlight_params.rb +61 -0
  86. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +40 -0
  87. data/lib/language_server/protocol/interface/document_link.rb +17 -3
  88. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
  89. data/lib/language_server/protocol/interface/document_link_options.rb +7 -4
  90. data/lib/language_server/protocol/interface/document_link_params.rb +20 -1
  91. data/lib/language_server/protocol/interface/document_link_registration_options.rb +17 -2
  92. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
  93. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +0 -3
  94. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +2 -2
  95. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +10 -1
  96. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
  97. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +30 -0
  98. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +10 -1
  99. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +40 -0
  100. data/lib/language_server/protocol/interface/document_symbol.rb +108 -0
  101. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +73 -0
  102. data/lib/language_server/protocol/interface/document_symbol_options.rb +40 -0
  103. data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -1
  104. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +50 -0
  105. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
  106. data/lib/language_server/protocol/interface/execute_command_options.rb +7 -4
  107. data/lib/language_server/protocol/interface/execute_command_params.rb +10 -1
  108. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +7 -1
  109. data/lib/language_server/protocol/interface/file_create.rb +36 -0
  110. data/lib/language_server/protocol/interface/file_delete.rb +36 -0
  111. data/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  112. data/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  113. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  114. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  115. data/lib/language_server/protocol/interface/file_rename.rb +45 -0
  116. data/lib/language_server/protocol/interface/file_system_watcher.rb +7 -3
  117. data/lib/language_server/protocol/interface/folding_range.rb +17 -8
  118. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +58 -0
  119. data/lib/language_server/protocol/interface/folding_range_options.rb +30 -0
  120. data/lib/language_server/protocol/interface/folding_range_params.rb +20 -1
  121. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +50 -0
  122. data/lib/language_server/protocol/interface/formatting_options.rb +28 -1
  123. data/lib/language_server/protocol/interface/hover.rb +1 -1
  124. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +44 -0
  125. data/lib/language_server/protocol/interface/hover_options.rb +30 -0
  126. data/lib/language_server/protocol/interface/hover_params.rb +51 -0
  127. data/lib/language_server/protocol/interface/hover_registration_options.rb +40 -0
  128. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  129. data/lib/language_server/protocol/interface/implementation_options.rb +30 -0
  130. data/lib/language_server/protocol/interface/implementation_params.rb +61 -0
  131. data/lib/language_server/protocol/interface/implementation_registration_options.rb +50 -0
  132. data/lib/language_server/protocol/interface/initialize_params.rb +38 -7
  133. data/lib/language_server/protocol/interface/initialize_result.rb +10 -1
  134. data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  135. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  136. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
  137. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
  138. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
  139. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +45 -0
  140. data/lib/language_server/protocol/interface/location_link.rb +11 -6
  141. data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
  142. data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  143. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
  144. data/lib/language_server/protocol/interface/markup_content.rb +9 -7
  145. data/lib/language_server/protocol/interface/moniker.rb +64 -0
  146. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  147. data/lib/language_server/protocol/interface/moniker_options.rb +30 -0
  148. data/lib/language_server/protocol/interface/moniker_params.rb +61 -0
  149. data/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
  150. data/lib/language_server/protocol/interface/notification_message.rb +7 -2
  151. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
  152. data/lib/language_server/protocol/interface/parameter_information.rb +7 -5
  153. data/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
  154. data/lib/language_server/protocol/interface/position.rb +5 -5
  155. data/lib/language_server/protocol/interface/prepare_rename_params.rb +42 -0
  156. data/lib/language_server/protocol/interface/progress_params.rb +42 -0
  157. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +73 -0
  158. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +11 -1
  159. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
  160. data/lib/language_server/protocol/interface/reference_options.rb +30 -0
  161. data/lib/language_server/protocol/interface/reference_params.rb +37 -2
  162. data/lib/language_server/protocol/interface/reference_registration_options.rb +40 -0
  163. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  164. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +69 -0
  165. data/lib/language_server/protocol/interface/rename_file.rb +10 -1
  166. data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  167. data/lib/language_server/protocol/interface/rename_options.rb +7 -4
  168. data/lib/language_server/protocol/interface/rename_params.rb +12 -3
  169. data/lib/language_server/protocol/interface/rename_registration_options.rb +18 -3
  170. data/lib/language_server/protocol/interface/request_message.rb +7 -2
  171. data/lib/language_server/protocol/interface/response_error.rb +2 -2
  172. data/lib/language_server/protocol/interface/response_message.rb +10 -5
  173. data/lib/language_server/protocol/interface/save_options.rb +0 -3
  174. data/lib/language_server/protocol/interface/selection_range.rb +43 -0
  175. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +36 -0
  176. data/lib/language_server/protocol/interface/selection_range_options.rb +30 -0
  177. data/lib/language_server/protocol/interface/selection_range_params.rb +61 -0
  178. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +50 -0
  179. data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  180. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
  181. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  182. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
  183. data/lib/language_server/protocol/interface/{folding_range_provider_options.rb → semantic_tokens_delta_partial_result.rb} +8 -5
  184. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  185. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  186. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
  187. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
  188. data/lib/language_server/protocol/interface/{color_provider_options.rb → semantic_tokens_partial_result.rb} +8 -5
  189. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
  190. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
  191. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  192. data/lib/language_server/protocol/interface/server_capabilities.rb +108 -60
  193. data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  194. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  195. data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  196. data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  197. data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
  198. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  199. data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
  200. data/lib/language_server/protocol/interface/signature_help.rb +7 -4
  201. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
  202. data/lib/language_server/protocol/interface/signature_help_context.rb +74 -0
  203. data/lib/language_server/protocol/interface/signature_help_options.rb +20 -4
  204. data/lib/language_server/protocol/interface/signature_help_params.rb +62 -0
  205. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +30 -2
  206. data/lib/language_server/protocol/interface/signature_information.rb +12 -1
  207. data/lib/language_server/protocol/interface/symbol_information.rb +11 -2
  208. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +11 -2
  209. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +123 -86
  210. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +10 -6
  211. data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
  212. data/lib/language_server/protocol/interface/text_document_registration_options.rb +6 -3
  213. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
  214. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
  215. data/lib/language_server/protocol/interface/text_document_sync_options.rb +14 -8
  216. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
  217. data/lib/language_server/protocol/interface/type_definition_options.rb +30 -0
  218. data/lib/language_server/protocol/interface/type_definition_params.rb +61 -0
  219. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +50 -0
  220. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +12 -8
  221. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  222. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +80 -0
  223. data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
  224. data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
  225. data/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
  226. data/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
  227. data/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
  228. data/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
  229. data/lib/language_server/protocol/interface/workspace_edit.rb +25 -8
  230. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +75 -0
  231. data/lib/language_server/protocol/interface/workspace_folder.rb +2 -2
  232. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
  233. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +53 -0
  234. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +30 -0
  235. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +22 -2
  236. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +30 -0
  237. data/lib/language_server/protocol/transport/io/reader.rb +1 -1
  238. data/lib/language_server/protocol/version.rb +1 -1
  239. metadata +154 -15
  240. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
@@ -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
@@ -29,11 +30,19 @@ module LanguageServer
29
30
  #
30
31
  # The kind of this symbol.
31
32
  #
32
- # @return [number]
33
+ # @return [any]
33
34
  def kind
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 [number]
30
+ # @return [TextDocumentSyncKind]
22
31
  def sync_kind
23
32
  attributes.fetch(:syncKind)
24
33
  end
@@ -5,208 +5,245 @@ 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, references: nil, document_highlight: nil, document_symbol: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, declaration: nil, definition: nil, type_definition: nil, implementation: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, rename: nil, publish_diagnostics: nil, folding_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
12
12
  @attributes[:completion] = completion if completion
13
13
  @attributes[:hover] = hover if hover
14
14
  @attributes[:signatureHelp] = signature_help if signature_help
15
- @attributes[:references] = references if references
16
- @attributes[:documentHighlight] = document_highlight if document_highlight
17
- @attributes[:documentSymbol] = document_symbol if document_symbol
18
- @attributes[:formatting] = formatting if formatting
19
- @attributes[:rangeFormatting] = range_formatting if range_formatting
20
- @attributes[:onTypeFormatting] = on_type_formatting if on_type_formatting
21
15
  @attributes[:declaration] = declaration if declaration
22
16
  @attributes[:definition] = definition if definition
23
17
  @attributes[:typeDefinition] = type_definition if type_definition
24
18
  @attributes[:implementation] = implementation if implementation
19
+ @attributes[:references] = references if references
20
+ @attributes[:documentHighlight] = document_highlight if document_highlight
21
+ @attributes[:documentSymbol] = document_symbol if document_symbol
25
22
  @attributes[:codeAction] = code_action if code_action
26
23
  @attributes[:codeLens] = code_lens if code_lens
27
24
  @attributes[:documentLink] = document_link if document_link
28
25
  @attributes[:colorProvider] = color_provider if color_provider
26
+ @attributes[:formatting] = formatting if formatting
27
+ @attributes[:rangeFormatting] = range_formatting if range_formatting
28
+ @attributes[:onTypeFormatting] = on_type_formatting if on_type_formatting
29
29
  @attributes[:rename] = rename if rename
30
30
  @attributes[:publishDiagnostics] = publish_diagnostics if publish_diagnostics
31
31
  @attributes[:foldingRange] = folding_range if folding_range
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
32
37
 
33
38
  @attributes.freeze
34
39
  end
35
40
 
36
- # @return [{ dynamicRegistration?: boolean; willSave?: boolean; willSaveWaitUntil?: boolean; didSave?: boole...]
41
+ # @return [TextDocumentSyncClientCapabilities]
37
42
  def synchronization
38
43
  attributes.fetch(:synchronization)
39
44
  end
40
45
 
41
46
  #
42
- # Capabilities specific to the `textDocument/completion`
47
+ # Capabilities specific to the `textDocument/completion` request.
43
48
  #
44
- # @return [{ dynamicRegistration?: boolean; completionItem?: { snippetSupport?: boolean; commitCharactersSup...]
49
+ # @return [CompletionClientCapabilities]
45
50
  def completion
46
51
  attributes.fetch(:completion)
47
52
  end
48
53
 
49
54
  #
50
- # Capabilities specific to the `textDocument/hover`
55
+ # Capabilities specific to the `textDocument/hover` request.
51
56
  #
52
- # @return [{ dynamicRegistration?: boolean; contentFormat?: MarkupKind[]; }]
57
+ # @return [HoverClientCapabilities]
53
58
  def hover
54
59
  attributes.fetch(:hover)
55
60
  end
56
61
 
57
62
  #
58
- # Capabilities specific to the `textDocument/signatureHelp`
63
+ # Capabilities specific to the `textDocument/signatureHelp` request.
59
64
  #
60
- # @return [{ dynamicRegistration?: boolean; signatureInformation?: { documentationFormat?: MarkupKind[]; par...]
65
+ # @return [SignatureHelpClientCapabilities]
61
66
  def signature_help
62
67
  attributes.fetch(:signatureHelp)
63
68
  end
64
69
 
65
70
  #
66
- # Capabilities specific to the `textDocument/references`
71
+ # Capabilities specific to the `textDocument/declaration` request.
72
+ #
73
+ # @return [DeclarationClientCapabilities]
74
+ def declaration
75
+ attributes.fetch(:declaration)
76
+ end
77
+
78
+ #
79
+ # Capabilities specific to the `textDocument/definition` request.
80
+ #
81
+ # @return [DefinitionClientCapabilities]
82
+ def definition
83
+ attributes.fetch(:definition)
84
+ end
85
+
86
+ #
87
+ # Capabilities specific to the `textDocument/typeDefinition` request.
67
88
  #
68
- # @return [{ dynamicRegistration?: boolean; }]
89
+ # @return [TypeDefinitionClientCapabilities]
90
+ def type_definition
91
+ attributes.fetch(:typeDefinition)
92
+ end
93
+
94
+ #
95
+ # Capabilities specific to the `textDocument/implementation` request.
96
+ #
97
+ # @return [ImplementationClientCapabilities]
98
+ def implementation
99
+ attributes.fetch(:implementation)
100
+ end
101
+
102
+ #
103
+ # Capabilities specific to the `textDocument/references` request.
104
+ #
105
+ # @return [ReferenceClientCapabilities]
69
106
  def references
70
107
  attributes.fetch(:references)
71
108
  end
72
109
 
73
110
  #
74
- # Capabilities specific to the `textDocument/documentHighlight`
111
+ # Capabilities specific to the `textDocument/documentHighlight` request.
75
112
  #
76
- # @return [{ dynamicRegistration?: boolean; }]
113
+ # @return [DocumentHighlightClientCapabilities]
77
114
  def document_highlight
78
115
  attributes.fetch(:documentHighlight)
79
116
  end
80
117
 
81
118
  #
82
- # Capabilities specific to the `textDocument/documentSymbol`
119
+ # Capabilities specific to the `textDocument/documentSymbol` request.
83
120
  #
84
- # @return [{ dynamicRegistration?: boolean; symbolKind?: { valueSet?: any[]; }; hierarchicalDocumentSymbolSu...]
121
+ # @return [DocumentSymbolClientCapabilities]
85
122
  def document_symbol
86
123
  attributes.fetch(:documentSymbol)
87
124
  end
88
125
 
89
126
  #
90
- # Capabilities specific to the `textDocument/formatting`
127
+ # Capabilities specific to the `textDocument/codeAction` request.
91
128
  #
92
- # @return [{ dynamicRegistration?: boolean; }]
93
- def formatting
94
- attributes.fetch(:formatting)
129
+ # @return [CodeActionClientCapabilities]
130
+ def code_action
131
+ attributes.fetch(:codeAction)
95
132
  end
96
133
 
97
134
  #
98
- # Capabilities specific to the `textDocument/rangeFormatting`
135
+ # Capabilities specific to the `textDocument/codeLens` request.
99
136
  #
100
- # @return [{ dynamicRegistration?: boolean; }]
101
- def range_formatting
102
- attributes.fetch(:rangeFormatting)
137
+ # @return [CodeLensClientCapabilities]
138
+ def code_lens
139
+ attributes.fetch(:codeLens)
103
140
  end
104
141
 
105
142
  #
106
- # Capabilities specific to the `textDocument/onTypeFormatting`
143
+ # Capabilities specific to the `textDocument/documentLink` request.
107
144
  #
108
- # @return [{ dynamicRegistration?: boolean; }]
109
- def on_type_formatting
110
- attributes.fetch(:onTypeFormatting)
145
+ # @return [DocumentLinkClientCapabilities]
146
+ def document_link
147
+ attributes.fetch(:documentLink)
111
148
  end
112
149
 
113
150
  #
114
- # Capabilities specific to the `textDocument/declaration`
151
+ # Capabilities specific to the `textDocument/documentColor` and the
152
+ # `textDocument/colorPresentation` request.
115
153
  #
116
- # @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
117
- def declaration
118
- attributes.fetch(:declaration)
154
+ # @return [DocumentColorClientCapabilities]
155
+ def color_provider
156
+ attributes.fetch(:colorProvider)
119
157
  end
120
158
 
121
159
  #
122
- # Capabilities specific to the `textDocument/definition`.
160
+ # Capabilities specific to the `textDocument/formatting` request.
123
161
  #
124
- # Since 3.14.0
125
- #
126
- # @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
127
- def definition
128
- attributes.fetch(:definition)
162
+ # @return [DocumentFormattingClientCapabilities]
163
+ def formatting
164
+ attributes.fetch(:formatting)
129
165
  end
130
166
 
131
167
  #
132
- # Capabilities specific to the `textDocument/typeDefinition`
133
- #
134
- # Since 3.6.0
168
+ # Capabilities specific to the `textDocument/rangeFormatting` request.
135
169
  #
136
- # @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
137
- def type_definition
138
- attributes.fetch(:typeDefinition)
170
+ # @return [DocumentRangeFormattingClientCapabilities]
171
+ def range_formatting
172
+ attributes.fetch(:rangeFormatting)
139
173
  end
140
174
 
141
175
  #
142
- # Capabilities specific to the `textDocument/implementation`.
143
- #
144
- # Since 3.6.0
176
+ # request.
177
+ # Capabilities specific to the `textDocument/onTypeFormatting` request.
145
178
  #
146
- # @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
147
- def implementation
148
- attributes.fetch(:implementation)
179
+ # @return [DocumentOnTypeFormattingClientCapabilities]
180
+ def on_type_formatting
181
+ attributes.fetch(:onTypeFormatting)
149
182
  end
150
183
 
151
184
  #
152
- # Capabilities specific to the `textDocument/codeAction`
185
+ # Capabilities specific to the `textDocument/rename` request.
153
186
  #
154
- # @return [{ dynamicRegistration?: boolean; codeActionLiteralSupport?: { codeActionKind: { valueSet: string[...]
155
- def code_action
156
- attributes.fetch(:codeAction)
187
+ # @return [RenameClientCapabilities]
188
+ def rename
189
+ attributes.fetch(:rename)
157
190
  end
158
191
 
159
192
  #
160
- # Capabilities specific to the `textDocument/codeLens`
193
+ # Capabilities specific to the `textDocument/publishDiagnostics`
194
+ # notification.
161
195
  #
162
- # @return [{ dynamicRegistration?: boolean; }]
163
- def code_lens
164
- attributes.fetch(:codeLens)
196
+ # @return [PublishDiagnosticsClientCapabilities]
197
+ def publish_diagnostics
198
+ attributes.fetch(:publishDiagnostics)
165
199
  end
166
200
 
167
201
  #
168
- # Capabilities specific to the `textDocument/documentLink`
202
+ # Capabilities specific to the `textDocument/foldingRange` request.
169
203
  #
170
- # @return [{ dynamicRegistration?: boolean; }]
171
- def document_link
172
- attributes.fetch(:documentLink)
204
+ # @return [FoldingRangeClientCapabilities]
205
+ def folding_range
206
+ attributes.fetch(:foldingRange)
173
207
  end
174
208
 
175
209
  #
176
- # Capabilities specific to the `textDocument/documentColor` and the
177
- # `textDocument/colorPresentation` request.
178
- #
179
- # Since 3.6.0
210
+ # Capabilities specific to the `textDocument/selectionRange` request.
180
211
  #
181
- # @return [{ dynamicRegistration?: boolean; }]
182
- def color_provider
183
- attributes.fetch(:colorProvider)
212
+ # @return [SelectionRangeClientCapabilities]
213
+ def selection_range
214
+ attributes.fetch(:selectionRange)
184
215
  end
185
216
 
186
217
  #
187
- # Capabilities specific to the `textDocument/rename`
218
+ # Capabilities specific to the `textDocument/linkedEditingRange` request.
188
219
  #
189
- # @return [{ dynamicRegistration?: boolean; prepareSupport?: boolean; }]
190
- def rename
191
- attributes.fetch(:rename)
220
+ # @return [LinkedEditingRangeClientCapabilities]
221
+ def linked_editing_range
222
+ attributes.fetch(:linkedEditingRange)
192
223
  end
193
224
 
194
225
  #
195
- # Capabilities specific to `textDocument/publishDiagnostics`.
226
+ # Capabilities specific to the various call hierarchy requests.
196
227
  #
197
- # @return [{ relatedInformation?: boolean; }]
198
- def publish_diagnostics
199
- attributes.fetch(:publishDiagnostics)
228
+ # @return [CallHierarchyClientCapabilities]
229
+ def call_hierarchy
230
+ attributes.fetch(:callHierarchy)
200
231
  end
201
232
 
202
233
  #
203
- # Capabilities specific to `textDocument/foldingRange` requests.
234
+ # Capabilities specific to the various semantic token requests.
204
235
  #
205
- # Since 3.10.0
236
+ # @return [SemanticTokensClientCapabilities]
237
+ def semantic_tokens
238
+ attributes.fetch(:semanticTokens)
239
+ end
240
+
206
241
  #
207
- # @return [{ dynamicRegistration?: boolean; rangeLimit?: number; lineFoldingOnly?: boolean; }]
208
- def folding_range
209
- attributes.fetch(:foldingRange)
242
+ # Capabilities specific to the `textDocument/moniker` request.
243
+ #
244
+ # @return [MonikerClientCapabilities]
245
+ def moniker
246
+ attributes.fetch(:moniker)
210
247
  end
211
248
 
212
249
  attr_reader :attributes
@@ -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:)
@@ -19,21 +19,25 @@ module LanguageServer
19
19
  #
20
20
  # The range of the document that changed.
21
21
  #
22
- # @return [Range]
22
+ # @return [Range, nil]
23
23
  def range
24
24
  attributes.fetch(:range)
25
25
  end
26
26
 
27
27
  #
28
- # The length of the range that got replaced.
28
+ # The optional length of the range that got replaced.
29
29
  #
30
- # @return [number]
30
+ # @return [number, nil]
31
31
  def range_length
32
32
  attributes.fetch(:rangeLength)
33
33
  end
34
34
 
35
35
  #
36
- # The new text of the range/document.
36
+ # The new text for the provided range.
37
+ #
38
+ # --- OR ---
39
+ #
40
+ # The new text of the whole document.
37
41
  #
38
42
  # @return [string]
39
43
  def 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