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
@@ -0,0 +1,39 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class SemanticTokensWorkspaceClientCapabilities
5
+ def initialize(refresh_support: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:refreshSupport] = refresh_support if refresh_support
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # Whether the client implementation supports a refresh request sent from
15
+ # the server to the client.
16
+ #
17
+ # Note that this event is global and will force the client to refresh all
18
+ # semantic tokens currently shown. It should be used with absolute care
19
+ # and is useful for situation where a server for example detect a project
20
+ # wide change that requires such a calculation.
21
+ #
22
+ # @return [boolean]
23
+ def refresh_support
24
+ attributes.fetch(:refreshSupport)
25
+ end
26
+
27
+ attr_reader :attributes
28
+
29
+ def to_hash
30
+ attributes
31
+ end
32
+
33
+ def to_json(*args)
34
+ to_hash.to_json(*args)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -2,30 +2,36 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class ServerCapabilities
5
- def initialize(text_document_sync: nil, hover_provider: nil, completion_provider: nil, signature_help_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, workspace_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, document_link_provider: nil, color_provider: nil, folding_range_provider: nil, execute_command_provider: nil, workspace: nil, experimental: nil)
5
+ def initialize(text_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, execute_command_provider: nil, selection_range_provider: nil, linked_editing_range_provider: nil, call_hierarchy_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, workspace_symbol_provider: nil, workspace: nil, experimental: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:textDocumentSync] = text_document_sync if text_document_sync
9
- @attributes[:hoverProvider] = hover_provider if hover_provider
10
9
  @attributes[:completionProvider] = completion_provider if completion_provider
10
+ @attributes[:hoverProvider] = hover_provider if hover_provider
11
11
  @attributes[:signatureHelpProvider] = signature_help_provider if signature_help_provider
12
+ @attributes[:declarationProvider] = declaration_provider if declaration_provider
12
13
  @attributes[:definitionProvider] = definition_provider if definition_provider
13
14
  @attributes[:typeDefinitionProvider] = type_definition_provider if type_definition_provider
14
15
  @attributes[:implementationProvider] = implementation_provider if implementation_provider
15
16
  @attributes[:referencesProvider] = references_provider if references_provider
16
17
  @attributes[:documentHighlightProvider] = document_highlight_provider if document_highlight_provider
17
18
  @attributes[:documentSymbolProvider] = document_symbol_provider if document_symbol_provider
18
- @attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
19
19
  @attributes[:codeActionProvider] = code_action_provider if code_action_provider
20
20
  @attributes[:codeLensProvider] = code_lens_provider if code_lens_provider
21
+ @attributes[:documentLinkProvider] = document_link_provider if document_link_provider
22
+ @attributes[:colorProvider] = color_provider if color_provider
21
23
  @attributes[:documentFormattingProvider] = document_formatting_provider if document_formatting_provider
22
24
  @attributes[:documentRangeFormattingProvider] = document_range_formatting_provider if document_range_formatting_provider
23
25
  @attributes[:documentOnTypeFormattingProvider] = document_on_type_formatting_provider if document_on_type_formatting_provider
24
26
  @attributes[:renameProvider] = rename_provider if rename_provider
25
- @attributes[:documentLinkProvider] = document_link_provider if document_link_provider
26
- @attributes[:colorProvider] = color_provider if color_provider
27
27
  @attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
28
28
  @attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
29
+ @attributes[:selectionRangeProvider] = selection_range_provider if selection_range_provider
30
+ @attributes[:linkedEditingRangeProvider] = linked_editing_range_provider if linked_editing_range_provider
31
+ @attributes[:callHierarchyProvider] = call_hierarchy_provider if call_hierarchy_provider
32
+ @attributes[:semanticTokensProvider] = semantic_tokens_provider if semantic_tokens_provider
33
+ @attributes[:monikerProvider] = moniker_provider if moniker_provider
34
+ @attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
29
35
  @attributes[:workspace] = workspace if workspace
30
36
  @attributes[:experimental] = experimental if experimental
31
37
 
@@ -33,22 +39,16 @@ module LanguageServer
33
39
  end
34
40
 
35
41
  #
36
- # Defines how text documents are synced. Is either a detailed structure defining each notification or
37
- # for backwards compatibility the TextDocumentSyncKind number. If omitted it defaults to `TextDocumentSyncKind.None`.
42
+ # Defines how text documents are synced. Is either a detailed structure
43
+ # defining each notification or for backwards compatibility the
44
+ # TextDocumentSyncKind number. If omitted it defaults to
45
+ # `TextDocumentSyncKind.None`.
38
46
  #
39
- # @return [number | TextDocumentSyncOptions]
47
+ # @return [TextDocumentSyncOptions | TextDocumentSyncKind]
40
48
  def text_document_sync
41
49
  attributes.fetch(:textDocumentSync)
42
50
  end
43
51
 
44
- #
45
- # The server provides hover support.
46
- #
47
- # @return [boolean]
48
- def hover_provider
49
- attributes.fetch(:hoverProvider)
50
- end
51
-
52
52
  #
53
53
  # The server provides completion support.
54
54
  #
@@ -57,6 +57,14 @@ module LanguageServer
57
57
  attributes.fetch(:completionProvider)
58
58
  end
59
59
 
60
+ #
61
+ # The server provides hover support.
62
+ #
63
+ # @return [boolean | HoverOptions]
64
+ def hover_provider
65
+ attributes.fetch(:hoverProvider)
66
+ end
67
+
60
68
  #
61
69
  # The server provides signature help support.
62
70
  #
@@ -65,30 +73,34 @@ module LanguageServer
65
73
  attributes.fetch(:signatureHelpProvider)
66
74
  end
67
75
 
76
+ #
77
+ # The server provides go to declaration support.
78
+ #
79
+ # @return [boolean | DeclarationOptions | DeclarationRegistrationOptions]
80
+ def declaration_provider
81
+ attributes.fetch(:declarationProvider)
82
+ end
83
+
68
84
  #
69
85
  # The server provides goto definition support.
70
86
  #
71
- # @return [boolean]
87
+ # @return [boolean | DefinitionOptions]
72
88
  def definition_provider
73
89
  attributes.fetch(:definitionProvider)
74
90
  end
75
91
 
76
92
  #
77
- # The server provides Goto Type Definition support.
78
- #
79
- # Since 3.6.0
93
+ # The server provides goto type definition support.
80
94
  #
81
- # @return [boolean | (TextDocumentRegistrationOptions & StaticRegistrationOptions)]
95
+ # @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]
82
96
  def type_definition_provider
83
97
  attributes.fetch(:typeDefinitionProvider)
84
98
  end
85
99
 
86
100
  #
87
- # The server provides Goto Implementation support.
88
- #
89
- # Since 3.6.0
101
+ # The server provides goto implementation support.
90
102
  #
91
- # @return [boolean | (TextDocumentRegistrationOptions & StaticRegistrationOptions)]
103
+ # @return [boolean | ImplementationOptions | ImplementationRegistrationOptions]
92
104
  def implementation_provider
93
105
  attributes.fetch(:implementationProvider)
94
106
  end
@@ -96,7 +108,7 @@ module LanguageServer
96
108
  #
97
109
  # The server provides find references support.
98
110
  #
99
- # @return [boolean]
111
+ # @return [boolean | ReferenceOptions]
100
112
  def references_provider
101
113
  attributes.fetch(:referencesProvider)
102
114
  end
@@ -104,7 +116,7 @@ module LanguageServer
104
116
  #
105
117
  # The server provides document highlight support.
106
118
  #
107
- # @return [boolean]
119
+ # @return [boolean | DocumentHighlightOptions]
108
120
  def document_highlight_provider
109
121
  attributes.fetch(:documentHighlightProvider)
110
122
  end
@@ -112,23 +124,15 @@ module LanguageServer
112
124
  #
113
125
  # The server provides document symbol support.
114
126
  #
115
- # @return [boolean]
127
+ # @return [boolean | DocumentSymbolOptions]
116
128
  def document_symbol_provider
117
129
  attributes.fetch(:documentSymbolProvider)
118
130
  end
119
131
 
120
132
  #
121
- # The server provides workspace symbol support.
122
- #
123
- # @return [boolean]
124
- def workspace_symbol_provider
125
- attributes.fetch(:workspaceSymbolProvider)
126
- end
127
-
128
- #
129
- # The server provides code actions. The `CodeActionOptions` return type is only
130
- # valid if the client signals code action literal support via the property
131
- # `textDocument.codeAction.codeActionLiteralSupport`.
133
+ # The server provides code actions. The `CodeActionOptions` return type is
134
+ # only valid if the client signals code action literal support via the
135
+ # property `textDocument.codeAction.codeActionLiteralSupport`.
132
136
  #
133
137
  # @return [boolean | CodeActionOptions]
134
138
  def code_action_provider
@@ -143,10 +147,26 @@ module LanguageServer
143
147
  attributes.fetch(:codeLensProvider)
144
148
  end
145
149
 
150
+ #
151
+ # The server provides document link support.
152
+ #
153
+ # @return [DocumentLinkOptions]
154
+ def document_link_provider
155
+ attributes.fetch(:documentLinkProvider)
156
+ end
157
+
158
+ #
159
+ # The server provides color provider support.
160
+ #
161
+ # @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]
162
+ def color_provider
163
+ attributes.fetch(:colorProvider)
164
+ end
165
+
146
166
  #
147
167
  # The server provides document formatting.
148
168
  #
149
- # @return [boolean]
169
+ # @return [boolean | DocumentFormattingOptions]
150
170
  def document_formatting_provider
151
171
  attributes.fetch(:documentFormattingProvider)
152
172
  end
@@ -154,7 +174,7 @@ module LanguageServer
154
174
  #
155
175
  # The server provides document range formatting.
156
176
  #
157
- # @return [boolean]
177
+ # @return [boolean | DocumentRangeFormattingOptions]
158
178
  def document_range_formatting_provider
159
179
  attributes.fetch(:documentRangeFormattingProvider)
160
180
  end
@@ -178,45 +198,73 @@ module LanguageServer
178
198
  end
179
199
 
180
200
  #
181
- # The server provides document link support.
201
+ # The server provides folding provider support.
182
202
  #
183
- # @return [DocumentLinkOptions]
184
- def document_link_provider
185
- attributes.fetch(:documentLinkProvider)
203
+ # @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]
204
+ def folding_range_provider
205
+ attributes.fetch(:foldingRangeProvider)
186
206
  end
187
207
 
188
208
  #
189
- # The server provides color provider support.
209
+ # The server provides execute command support.
190
210
  #
191
- # Since 3.6.0
211
+ # @return [ExecuteCommandOptions]
212
+ def execute_command_provider
213
+ attributes.fetch(:executeCommandProvider)
214
+ end
215
+
192
216
  #
193
- # @return [boolean | ColorProviderOptions | (ColorProviderOptions & TextDocumentRegistrationOptions & Static...]
194
- def color_provider
195
- attributes.fetch(:colorProvider)
217
+ # The server provides selection range support.
218
+ #
219
+ # @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]
220
+ def selection_range_provider
221
+ attributes.fetch(:selectionRangeProvider)
196
222
  end
197
223
 
198
224
  #
199
- # The server provides folding provider support.
225
+ # The server provides linked editing range support.
200
226
  #
201
- # Since 3.10.0
227
+ # @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions]
228
+ def linked_editing_range_provider
229
+ attributes.fetch(:linkedEditingRangeProvider)
230
+ end
231
+
202
232
  #
203
- # @return [boolean | FoldingRangeProviderOptions | (FoldingRangeProviderOptions & TextDocumentRegistrationOp...]
204
- def folding_range_provider
205
- attributes.fetch(:foldingRangeProvider)
233
+ # The server provides call hierarchy support.
234
+ #
235
+ # @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions]
236
+ def call_hierarchy_provider
237
+ attributes.fetch(:callHierarchyProvider)
206
238
  end
207
239
 
208
240
  #
209
- # The server provides execute command support.
241
+ # The server provides semantic tokens support.
210
242
  #
211
- # @return [ExecuteCommandOptions]
212
- def execute_command_provider
213
- attributes.fetch(:executeCommandProvider)
243
+ # @return [SemanticTokensOptions | SemanticTokensRegistrationOptions]
244
+ def semantic_tokens_provider
245
+ attributes.fetch(:semanticTokensProvider)
246
+ end
247
+
248
+ #
249
+ # Whether server provides moniker support.
250
+ #
251
+ # @return [boolean | MonikerOptions | MonikerRegistrationOptions]
252
+ def moniker_provider
253
+ attributes.fetch(:monikerProvider)
254
+ end
255
+
256
+ #
257
+ # The server provides workspace symbol support.
258
+ #
259
+ # @return [boolean | WorkspaceSymbolOptions]
260
+ def workspace_symbol_provider
261
+ attributes.fetch(:workspaceSymbolProvider)
214
262
  end
215
263
 
216
264
  #
217
265
  # Workspace specific server capabilities
218
266
  #
219
- # @return [{ workspaceFolders?: { supported?: boolean; changeNotifications?: string | boolean; }; }]
267
+ # @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; ... 4 more ...; willDelete?: FileOperationRegistrationOptions; }; }]
220
268
  def workspace
221
269
  attributes.fetch(:workspace)
222
270
  end
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class SetTraceParams
5
+ def initialize(value:)
6
+ @attributes = {}
7
+
8
+ @attributes[:value] = value
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # The new value that should be assigned to the trace setting.
15
+ #
16
+ # @return [TraceValue]
17
+ def value
18
+ attributes.fetch(:value)
19
+ end
20
+
21
+ attr_reader :attributes
22
+
23
+ def to_hash
24
+ attributes
25
+ end
26
+
27
+ def to_json(*args)
28
+ to_hash.to_json(*args)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,37 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Client capabilities for the show document request.
6
+ #
7
+ class ShowDocumentClientCapabilities
8
+ def initialize(support:)
9
+ @attributes = {}
10
+
11
+ @attributes[:support] = support
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # The client has support for the show document
18
+ # request.
19
+ #
20
+ # @return [boolean]
21
+ def support
22
+ attributes.fetch(:support)
23
+ end
24
+
25
+ attr_reader :attributes
26
+
27
+ def to_hash
28
+ attributes
29
+ end
30
+
31
+ def to_json(*args)
32
+ to_hash.to_json(*args)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,71 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Params to show a document.
6
+ #
7
+ class ShowDocumentParams
8
+ def initialize(uri:, external: nil, take_focus: nil, selection: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:uri] = uri
12
+ @attributes[:external] = external if external
13
+ @attributes[:takeFocus] = take_focus if take_focus
14
+ @attributes[:selection] = selection if selection
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # The document uri to show.
21
+ #
22
+ # @return [string]
23
+ def uri
24
+ attributes.fetch(:uri)
25
+ end
26
+
27
+ #
28
+ # Indicates to show the resource in an external program.
29
+ # To show for example `https://code.visualstudio.com/`
30
+ # in the default WEB browser set `external` to `true`.
31
+ #
32
+ # @return [boolean]
33
+ def external
34
+ attributes.fetch(:external)
35
+ end
36
+
37
+ #
38
+ # An optional property to indicate whether the editor
39
+ # showing the document should take focus or not.
40
+ # Clients might ignore this property if an external
41
+ # program is started.
42
+ #
43
+ # @return [boolean]
44
+ def take_focus
45
+ attributes.fetch(:takeFocus)
46
+ end
47
+
48
+ #
49
+ # An optional selection range if the document is a text
50
+ # document. Clients might ignore the property if an
51
+ # external program is started or the file is not a text
52
+ # file.
53
+ #
54
+ # @return [Range]
55
+ def selection
56
+ attributes.fetch(:selection)
57
+ end
58
+
59
+ attr_reader :attributes
60
+
61
+ def to_hash
62
+ attributes
63
+ end
64
+
65
+ def to_json(*args)
66
+ to_hash.to_json(*args)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end