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
@@ -5,9 +5,11 @@ module LanguageServer
5
5
  # Params for the CodeActionRequest
6
6
  #
7
7
  class CodeActionParams
8
- def initialize(text_document:, range:, context:)
8
+ def initialize(work_done_token: nil, partial_result_token: nil, text_document:, range:, context:)
9
9
  @attributes = {}
10
10
 
11
+ @attributes[:workDoneToken] = work_done_token if work_done_token
12
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
11
13
  @attributes[:textDocument] = text_document
12
14
  @attributes[:range] = range
13
15
  @attributes[:context] = context
@@ -15,6 +17,23 @@ module LanguageServer
15
17
  @attributes.freeze
16
18
  end
17
19
 
20
+ #
21
+ # An optional token that a server can use to report work done progress.
22
+ #
23
+ # @return [ProgressToken]
24
+ def work_done_token
25
+ attributes.fetch(:workDoneToken)
26
+ end
27
+
28
+ #
29
+ # An optional token that a server can use to report partial results (e.g.
30
+ # streaming) to the client.
31
+ #
32
+ # @return [ProgressToken]
33
+ def partial_result_token
34
+ attributes.fetch(:partialResultToken)
35
+ end
36
+
18
37
  #
19
38
  # The document in which the command was invoked.
20
39
  #
@@ -1,15 +1,52 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class CodeActionRegistrationOptions < CodeActionOptions
5
- def initialize(code_action_kinds: nil)
4
+ class CodeActionRegistrationOptions
5
+ def initialize(document_selector:, work_done_progress: nil, code_action_kinds: nil, resolve_provider: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
9
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
8
10
  @attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
11
+ @attributes[:resolveProvider] = resolve_provider if resolve_provider
9
12
 
10
13
  @attributes.freeze
11
14
  end
12
15
 
16
+ #
17
+ # A document selector to identify the scope of the registration. If set to
18
+ # null the document selector provided on the client side will be used.
19
+ #
20
+ # @return [DocumentSelector]
21
+ def document_selector
22
+ attributes.fetch(:documentSelector)
23
+ end
24
+
25
+ # @return [boolean]
26
+ def work_done_progress
27
+ attributes.fetch(:workDoneProgress)
28
+ end
29
+
30
+ #
31
+ # CodeActionKinds that this server may return.
32
+ #
33
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
34
+ # or the server may list out every specific kind they provide.
35
+ #
36
+ # @return [string[]]
37
+ def code_action_kinds
38
+ attributes.fetch(:codeActionKinds)
39
+ end
40
+
41
+ #
42
+ # The server provides support to resolve additional
43
+ # information for a code action.
44
+ #
45
+ # @return [boolean]
46
+ def resolve_provider
47
+ attributes.fetch(:resolveProvider)
48
+ end
49
+
13
50
  attr_reader :attributes
14
51
 
15
52
  def to_hash
@@ -0,0 +1,36 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Structure to capture a description for an error code.
6
+ #
7
+ class CodeDescription
8
+ def initialize(href:)
9
+ @attributes = {}
10
+
11
+ @attributes[:href] = href
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # An URI to open with more information about the diagnostic error.
18
+ #
19
+ # @return [string]
20
+ def href
21
+ attributes.fetch(:href)
22
+ end
23
+
24
+ attr_reader :attributes
25
+
26
+ def to_hash
27
+ attributes
28
+ end
29
+
30
+ def to_json(*args)
31
+ to_hash.to_json(*args)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -5,8 +5,9 @@ module LanguageServer
5
5
  # A code lens represents a command that should be shown along with
6
6
  # source text, like the number of references, a way to run tests, etc.
7
7
  #
8
- # A code lens is _unresolved_ when no command is associated to it. For performance
9
- # reasons the creation of a code lens and resolving should be done in two stages.
8
+ # A code lens is _unresolved_ when no command is associated to it. For
9
+ # performance reasons the creation of a code lens and resolving should be done
10
+ # in two stages.
10
11
  #
11
12
  class CodeLens
12
13
  def initialize(range:, command: nil, data: nil)
@@ -20,7 +21,8 @@ module LanguageServer
20
21
  end
21
22
 
22
23
  #
23
- # The range in which this code lens is valid. Should only span a single line.
24
+ # The range in which this code lens is valid. Should only span a single
25
+ # line.
24
26
  #
25
27
  # @return [Range]
26
28
  def range
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CodeLensClientCapabilities
5
+ def initialize(dynamic_registration: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # Whether code lens supports dynamic registration.
15
+ #
16
+ # @return [boolean]
17
+ def dynamic_registration
18
+ attributes.fetch(:dynamicRegistration)
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
@@ -1,18 +1,21 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Code Lens options.
6
- #
7
4
  class CodeLensOptions
8
- def initialize(resolve_provider: nil)
5
+ def initialize(work_done_progress: nil, resolve_provider: nil)
9
6
  @attributes = {}
10
7
 
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
11
9
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
12
10
 
13
11
  @attributes.freeze
14
12
  end
15
13
 
14
+ # @return [boolean]
15
+ def work_done_progress
16
+ attributes.fetch(:workDoneProgress)
17
+ end
18
+
16
19
  #
17
20
  # Code lens has a resolve provider as well.
18
21
  #
@@ -2,14 +2,33 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class CodeLensParams
5
- def initialize(text_document:)
5
+ def initialize(work_done_token: nil, partial_result_token: nil, text_document:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
9
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
8
10
  @attributes[:textDocument] = text_document
9
11
 
10
12
  @attributes.freeze
11
13
  end
12
14
 
15
+ #
16
+ # An optional token that a server can use to report work done progress.
17
+ #
18
+ # @return [ProgressToken]
19
+ def work_done_token
20
+ attributes.fetch(:workDoneToken)
21
+ end
22
+
23
+ #
24
+ # An optional token that a server can use to report partial results (e.g.
25
+ # streaming) to the client.
26
+ #
27
+ # @return [ProgressToken]
28
+ def partial_result_token
29
+ attributes.fetch(:partialResultToken)
30
+ end
31
+
13
32
  #
14
33
  # The document to request code lens for.
15
34
  #
@@ -1,16 +1,31 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class CodeLensRegistrationOptions < TextDocumentRegistrationOptions
5
- def initialize(document_selector:, resolve_provider: nil)
4
+ class CodeLensRegistrationOptions
5
+ def initialize(document_selector:, work_done_progress: nil, resolve_provider: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:documentSelector] = document_selector
9
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
10
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
10
11
 
11
12
  @attributes.freeze
12
13
  end
13
14
 
15
+ #
16
+ # A document selector to identify the scope of the registration. If set to
17
+ # null the document selector provided on the client side will be used.
18
+ #
19
+ # @return [DocumentSelector]
20
+ def document_selector
21
+ attributes.fetch(:documentSelector)
22
+ end
23
+
24
+ # @return [boolean]
25
+ def work_done_progress
26
+ attributes.fetch(:workDoneProgress)
27
+ end
28
+
14
29
  #
15
30
  # Code lens has a resolve provider as well.
16
31
  #
@@ -0,0 +1,39 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CodeLensWorkspaceClientCapabilities
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 the
15
+ # server to the client.
16
+ #
17
+ # Note that this event is global and will force the client to refresh all
18
+ # code lenses currently shown. It should be used with absolute care and is
19
+ # useful for situation where a server for example detect a project wide
20
+ # 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
@@ -14,8 +14,8 @@ module LanguageServer
14
14
 
15
15
  #
16
16
  # The label of this color presentation. It will be shown on the color
17
- # picker header. By default this is also the text that is inserted when selecting
18
- # this color presentation.
17
+ # picker header. By default this is also the text that is inserted when
18
+ # selecting this color presentation.
19
19
  #
20
20
  # @return [string]
21
21
  def label
@@ -24,8 +24,8 @@ module LanguageServer
24
24
 
25
25
  #
26
26
  # An [edit](#TextEdit) which is applied to a document when selecting
27
- # this presentation for the color. When `falsy` the [label](#ColorPresentation.label)
28
- # is used.
27
+ # this presentation for the color. When `falsy` the
28
+ # [label](#ColorPresentation.label) is used.
29
29
  #
30
30
  # @return [TextEdit]
31
31
  def text_edit
@@ -33,8 +33,9 @@ module LanguageServer
33
33
  end
34
34
 
35
35
  #
36
- # An optional array of additional [text edits](#TextEdit) that are applied when
37
- # selecting this color presentation. Edits must not overlap with the main [edit](#ColorPresentation.textEdit) nor with themselves.
36
+ # An optional array of additional [text edits](#TextEdit) that are applied
37
+ # when selecting this color presentation. Edits must not overlap with the
38
+ # main [edit](#ColorPresentation.textEdit) nor with themselves.
38
39
  #
39
40
  # @return [TextEdit[]]
40
41
  def additional_text_edits
@@ -2,9 +2,11 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class ColorPresentationParams
5
- def initialize(text_document:, color:, range:)
5
+ def initialize(work_done_token: nil, partial_result_token: nil, text_document:, color:, range:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
9
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
8
10
  @attributes[:textDocument] = text_document
9
11
  @attributes[:color] = color
10
12
  @attributes[:range] = range
@@ -12,6 +14,23 @@ module LanguageServer
12
14
  @attributes.freeze
13
15
  end
14
16
 
17
+ #
18
+ # An optional token that a server can use to report work done progress.
19
+ #
20
+ # @return [ProgressToken]
21
+ def work_done_token
22
+ attributes.fetch(:workDoneToken)
23
+ end
24
+
25
+ #
26
+ # An optional token that a server can use to report partial results (e.g.
27
+ # streaming) to the client.
28
+ #
29
+ # @return [ProgressToken]
30
+ def partial_result_token
31
+ attributes.fetch(:partialResultToken)
32
+ end
33
+
15
34
  #
16
35
  # The text document.
17
36
  #
@@ -0,0 +1,59 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CompletionClientCapabilities
5
+ def initialize(dynamic_registration: nil, completion_item: nil, completion_item_kind: nil, context_support: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+ @attributes[:completionItem] = completion_item if completion_item
10
+ @attributes[:completionItemKind] = completion_item_kind if completion_item_kind
11
+ @attributes[:contextSupport] = context_support if context_support
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # Whether completion supports dynamic registration.
18
+ #
19
+ # @return [boolean]
20
+ def dynamic_registration
21
+ attributes.fetch(:dynamicRegistration)
22
+ end
23
+
24
+ #
25
+ # The client supports the following `CompletionItem` specific
26
+ # capabilities.
27
+ #
28
+ # @return [{ snippetSupport?: boolean; commitCharactersSupport?: boolean; documentationFormat?: MarkupKind[]; deprecatedSupport?: boolean; preselectSupport?: boolean; tagSupport?: { valueSet: 1[]; }; insertReplaceSupport?: boolean; resolveSupport?: { ...; }; insertTextModeSupport?: { ...; }; }]
29
+ def completion_item
30
+ attributes.fetch(:completionItem)
31
+ end
32
+
33
+ # @return [{ valueSet?: any[]; }]
34
+ def completion_item_kind
35
+ attributes.fetch(:completionItemKind)
36
+ end
37
+
38
+ #
39
+ # The client supports to send additional context information for a
40
+ # `textDocument/completion` request.
41
+ #
42
+ # @return [boolean]
43
+ def context_support
44
+ attributes.fetch(:contextSupport)
45
+ end
46
+
47
+ attr_reader :attributes
48
+
49
+ def to_hash
50
+ attributes
51
+ end
52
+
53
+ def to_json(*args)
54
+ to_hash.to_json(*args)
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end