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,37 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # The parameters sent in notifications/requests for user-initiated creation
6
+ # of files.
7
+ #
8
+ class CreateFilesParams
9
+ def initialize(files:)
10
+ @attributes = {}
11
+
12
+ @attributes[:files] = files
13
+
14
+ @attributes.freeze
15
+ end
16
+
17
+ #
18
+ # An array of all files/folders created in this operation.
19
+ #
20
+ # @return [FileCreate[]]
21
+ def files
22
+ attributes.fetch(:files)
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,44 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DeclarationClientCapabilities
5
+ def initialize(dynamic_registration: nil, link_support: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+ @attributes[:linkSupport] = link_support if link_support
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # Whether declaration supports dynamic registration. If this is set to
16
+ # `true` the client supports the new `DeclarationRegistrationOptions`
17
+ # return value for the corresponding server capability as well.
18
+ #
19
+ # @return [boolean]
20
+ def dynamic_registration
21
+ attributes.fetch(:dynamicRegistration)
22
+ end
23
+
24
+ #
25
+ # The client supports additional metadata in the form of declaration links.
26
+ #
27
+ # @return [boolean]
28
+ def link_support
29
+ attributes.fetch(:linkSupport)
30
+ end
31
+
32
+ attr_reader :attributes
33
+
34
+ def to_hash
35
+ attributes
36
+ end
37
+
38
+ def to_json(*args)
39
+ to_hash.to_json(*args)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,30 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DeclarationOptions
5
+ def initialize(work_done_progress: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ # @return [boolean]
14
+ def work_done_progress
15
+ attributes.fetch(:workDoneProgress)
16
+ end
17
+
18
+ attr_reader :attributes
19
+
20
+ def to_hash
21
+ attributes
22
+ end
23
+
24
+ def to_json(*args)
25
+ to_hash.to_json(*args)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,61 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DeclarationParams
5
+ def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
10
+ @attributes[:workDoneToken] = work_done_token if work_done_token
11
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
12
+
13
+ @attributes.freeze
14
+ end
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
+
49
+ attr_reader :attributes
50
+
51
+ def to_hash
52
+ attributes
53
+ end
54
+
55
+ def to_json(*args)
56
+ to_hash.to_json(*args)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,50 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DeclarationRegistrationOptions
5
+ def initialize(work_done_progress: nil, document_selector:, id: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+ @attributes[:documentSelector] = document_selector
10
+ @attributes[:id] = id if id
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ # @return [boolean]
16
+ def work_done_progress
17
+ attributes.fetch(:workDoneProgress)
18
+ end
19
+
20
+ #
21
+ # A document selector to identify the scope of the registration. If set to
22
+ # null the document selector provided on the client side will be used.
23
+ #
24
+ # @return [DocumentSelector]
25
+ def document_selector
26
+ attributes.fetch(:documentSelector)
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
+
38
+ attr_reader :attributes
39
+
40
+ def to_hash
41
+ attributes
42
+ end
43
+
44
+ def to_json(*args)
45
+ to_hash.to_json(*args)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,42 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DefinitionClientCapabilities
5
+ def initialize(dynamic_registration: nil, link_support: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+ @attributes[:linkSupport] = link_support if link_support
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # Whether definition supports dynamic registration.
16
+ #
17
+ # @return [boolean]
18
+ def dynamic_registration
19
+ attributes.fetch(:dynamicRegistration)
20
+ end
21
+
22
+ #
23
+ # The client supports additional metadata in the form of definition links.
24
+ #
25
+ # @return [boolean]
26
+ def link_support
27
+ attributes.fetch(:linkSupport)
28
+ end
29
+
30
+ attr_reader :attributes
31
+
32
+ def to_hash
33
+ attributes
34
+ end
35
+
36
+ def to_json(*args)
37
+ to_hash.to_json(*args)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,30 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DefinitionOptions
5
+ def initialize(work_done_progress: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ # @return [boolean]
14
+ def work_done_progress
15
+ attributes.fetch(:workDoneProgress)
16
+ end
17
+
18
+ attr_reader :attributes
19
+
20
+ def to_hash
21
+ attributes
22
+ end
23
+
24
+ def to_json(*args)
25
+ to_hash.to_json(*args)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,61 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DefinitionParams
5
+ def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
10
+ @attributes[:workDoneToken] = work_done_token if work_done_token
11
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
12
+
13
+ @attributes.freeze
14
+ end
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
+
49
+ attr_reader :attributes
50
+
51
+ def to_hash
52
+ attributes
53
+ end
54
+
55
+ def to_json(*args)
56
+ to_hash.to_json(*args)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,40 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DefinitionRegistrationOptions
5
+ def initialize(document_selector:, work_done_progress: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:documentSelector] = document_selector
9
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
10
+
11
+ @attributes.freeze
12
+ end
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
+
23
+ # @return [boolean]
24
+ def work_done_progress
25
+ attributes.fetch(:workDoneProgress)
26
+ end
27
+
28
+ attr_reader :attributes
29
+
30
+ def to_hash
31
+ attributes
32
+ end
33
+
34
+ def to_json(*args)
35
+ to_hash.to_json(*args)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -5,12 +5,13 @@ module LanguageServer
5
5
  # Delete file operation
6
6
  #
7
7
  class DeleteFile
8
- def initialize(kind:, uri:, options: nil)
8
+ def initialize(kind:, uri:, options: nil, annotation_id: nil)
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:kind] = kind
12
12
  @attributes[:uri] = uri
13
13
  @attributes[:options] = options if options
14
+ @attributes[:annotationId] = annotation_id if annotation_id
14
15
 
15
16
  @attributes.freeze
16
17
  end
@@ -39,6 +40,14 @@ module LanguageServer
39
40
  attributes.fetch(:options)
40
41
  end
41
42
 
43
+ #
44
+ # An optional annotation identifer describing the operation.
45
+ #
46
+ # @return [string]
47
+ def annotation_id
48
+ attributes.fetch(:annotationId)
49
+ end
50
+
42
51
  attr_reader :attributes
43
52
 
44
53
  def to_hash
@@ -0,0 +1,37 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # The parameters sent in notifications/requests for user-initiated deletes
6
+ # of files.
7
+ #
8
+ class DeleteFilesParams
9
+ def initialize(files:)
10
+ @attributes = {}
11
+
12
+ @attributes[:files] = files
13
+
14
+ @attributes.freeze
15
+ end
16
+
17
+ #
18
+ # An array of all files/folders deleted in this operation.
19
+ #
20
+ # @return [FileDelete[]]
21
+ def files
22
+ attributes.fetch(:files)
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