language_server-protocol 3.14.0.1 → 3.16.0.0

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 (260) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -2
  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 +38 -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 +31 -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 +25 -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 +31 -0
  29. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +25 -0
  30. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +25 -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 +15 -7
  37. data/lib/language_server/protocol/interface/code_action_params.rb +3 -2
  38. data/lib/language_server/protocol/interface/code_action_registration_options.rb +4 -1
  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 +3 -5
  43. data/lib/language_server/protocol/interface/code_lens_params.rb +3 -2
  44. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +3 -10
  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 +3 -2
  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 +36 -11
  53. data/lib/language_server/protocol/interface/completion_params.rb +5 -3
  54. data/lib/language_server/protocol/interface/completion_registration_options.rb +4 -26
  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 +25 -0
  59. data/lib/language_server/protocol/interface/declaration_params.rb +25 -0
  60. data/lib/language_server/protocol/interface/{folding_range_provider_options.rb → declaration_registration_options.rb} +3 -5
  61. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  62. data/lib/language_server/protocol/interface/definition_options.rb +25 -0
  63. data/lib/language_server/protocol/interface/definition_params.rb +25 -0
  64. data/lib/language_server/protocol/interface/definition_registration_options.rb +25 -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 +25 -0
  75. data/lib/language_server/protocol/interface/document_color_params.rb +34 -0
  76. data/lib/language_server/protocol/interface/document_color_registration_options.rb +25 -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 +25 -0
  80. data/lib/language_server/protocol/interface/document_formatting_params.rb +3 -2
  81. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +25 -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 +25 -0
  85. data/lib/language_server/protocol/interface/document_highlight_params.rb +25 -0
  86. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +25 -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 +3 -5
  90. data/lib/language_server/protocol/interface/document_link_params.rb +3 -2
  91. data/lib/language_server/protocol/interface/document_link_registration_options.rb +3 -10
  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 +1 -17
  95. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +2 -18
  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 +25 -0
  98. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +3 -2
  99. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +25 -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 +35 -0
  103. data/lib/language_server/protocol/interface/document_symbol_params.rb +3 -2
  104. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +26 -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 +3 -5
  107. data/lib/language_server/protocol/interface/execute_command_params.rb +3 -2
  108. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +3 -10
  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 +25 -0
  120. data/lib/language_server/protocol/interface/folding_range_params.rb +3 -2
  121. data/lib/language_server/protocol/interface/{color_provider_options.rb → folding_range_registration_options.rb} +3 -5
  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 +25 -0
  126. data/lib/language_server/protocol/interface/hover_params.rb +25 -0
  127. data/lib/language_server/protocol/interface/hover_registration_options.rb +25 -0
  128. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  129. data/lib/language_server/protocol/interface/implementation_options.rb +25 -0
  130. data/lib/language_server/protocol/interface/implementation_params.rb +25 -0
  131. data/lib/language_server/protocol/interface/implementation_registration_options.rb +25 -0
  132. data/lib/language_server/protocol/interface/initialize_params.rb +31 -8
  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 +25 -0
  137. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +25 -0
  138. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +25 -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 +25 -0
  148. data/lib/language_server/protocol/interface/moniker_params.rb +25 -0
  149. data/lib/language_server/protocol/interface/moniker_registration_options.rb +25 -0
  150. data/lib/language_server/protocol/interface/notification_message.rb +2 -1
  151. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +42 -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 +26 -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 +25 -0
  161. data/lib/language_server/protocol/interface/reference_params.rb +3 -2
  162. data/lib/language_server/protocol/interface/reference_registration_options.rb +25 -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 +3 -5
  168. data/lib/language_server/protocol/interface/rename_params.rb +3 -20
  169. data/lib/language_server/protocol/interface/rename_registration_options.rb +3 -10
  170. data/lib/language_server/protocol/interface/request_message.rb +2 -1
  171. data/lib/language_server/protocol/interface/response_error.rb +2 -2
  172. data/lib/language_server/protocol/interface/response_message.rb +5 -4
  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 +25 -0
  177. data/lib/language_server/protocol/interface/selection_range_params.rb +43 -0
  178. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +25 -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 +44 -0
  183. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  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 +53 -0
  187. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +34 -0
  188. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  189. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +43 -0
  190. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +25 -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 +16 -5
  204. data/lib/language_server/protocol/interface/signature_help_params.rb +36 -0
  205. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +4 -11
  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 +2 -1
  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 +1 -0
  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 +25 -0
  218. data/lib/language_server/protocol/interface/type_definition_params.rb +25 -0
  219. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +25 -0
  220. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +4 -7
  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 +25 -0
  235. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +5 -3
  236. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +25 -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 -35
  240. data/.gitignore +0 -10
  241. data/.travis.yml +0 -5
  242. data/CHANGELOG.md +0 -26
  243. data/CODE_OF_CONDUCT.md +0 -74
  244. data/Dockerfile-node.development +0 -6
  245. data/Dockerfile.development +0 -24
  246. data/Gemfile +0 -6
  247. data/Rakefile +0 -10
  248. data/bin/console +0 -14
  249. data/bin/generate_files +0 -5
  250. data/bin/m +0 -17
  251. data/bin/setup +0 -6
  252. data/circle.yml +0 -40
  253. data/docker-compose.ci.yml +0 -14
  254. data/docker-compose.override.yml +0 -16
  255. data/docker-compose.yml +0 -33
  256. data/language_server-protocol.gemspec +0 -33
  257. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
  258. data/package.json +0 -10
  259. data/scripts/generateFiles.ts +0 -320
  260. data/yarn.lock +0 -293
@@ -1,13 +1,11 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Color provider options.
6
- #
7
- class ColorProviderOptions
8
- def initialize()
4
+ class FoldingRangeRegistrationOptions < StaticRegistrationOptions
5
+ def initialize(id: nil)
9
6
  @attributes = {}
10
7
 
8
+ @attributes[:id] = id if id
11
9
 
12
10
  @attributes.freeze
13
11
  end
@@ -5,11 +5,14 @@ module LanguageServer
5
5
  # Value-object describing what options formatting should use.
6
6
  #
7
7
  class FormattingOptions
8
- def initialize(tab_size:, insert_spaces:)
8
+ def initialize(tab_size:, insert_spaces:, trim_trailing_whitespace: nil, insert_final_newline: nil, trim_final_newlines: nil)
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:tabSize] = tab_size
12
12
  @attributes[:insertSpaces] = insert_spaces
13
+ @attributes[:trimTrailingWhitespace] = trim_trailing_whitespace if trim_trailing_whitespace
14
+ @attributes[:insertFinalNewline] = insert_final_newline if insert_final_newline
15
+ @attributes[:trimFinalNewlines] = trim_final_newlines if trim_final_newlines
13
16
 
14
17
  @attributes.freeze
15
18
  end
@@ -30,6 +33,30 @@ module LanguageServer
30
33
  attributes.fetch(:insertSpaces)
31
34
  end
32
35
 
36
+ #
37
+ # Trim trailing whitespace on a line.
38
+ #
39
+ # @return [boolean]
40
+ def trim_trailing_whitespace
41
+ attributes.fetch(:trimTrailingWhitespace)
42
+ end
43
+
44
+ #
45
+ # Insert a newline character at the end of the file if one does not exist.
46
+ #
47
+ # @return [boolean]
48
+ def insert_final_newline
49
+ attributes.fetch(:insertFinalNewline)
50
+ end
51
+
52
+ #
53
+ # Trim all newlines after the final newline at the end of the file.
54
+ #
55
+ # @return [boolean]
56
+ def trim_final_newlines
57
+ attributes.fetch(:trimFinalNewlines)
58
+ end
59
+
33
60
  attr_reader :attributes
34
61
 
35
62
  def to_hash
@@ -17,7 +17,7 @@ module LanguageServer
17
17
  #
18
18
  # The hover's content
19
19
  #
20
- # @return [string | MarkupContent | { language: string; value: string; } | MarkedString[]]
20
+ # @return [MarkupContent | MarkedString | MarkedString[]]
21
21
  def contents
22
22
  attributes.fetch(:contents)
23
23
  end
@@ -0,0 +1,44 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class HoverClientCapabilities
5
+ def initialize(dynamic_registration: nil, content_format: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+ @attributes[:contentFormat] = content_format if content_format
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # Whether hover supports dynamic registration.
16
+ #
17
+ # @return [boolean]
18
+ def dynamic_registration
19
+ attributes.fetch(:dynamicRegistration)
20
+ end
21
+
22
+ #
23
+ # Client supports the following content formats if the content
24
+ # property refers to a `literal of type MarkupContent`.
25
+ # The order describes the preferred format of the client.
26
+ #
27
+ # @return [MarkupKind[]]
28
+ def content_format
29
+ attributes.fetch(:contentFormat)
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,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class HoverOptions < WorkDoneProgressOptions
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
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class HoverParams < WorkDoneProgressParams
5
+ def initialize(work_done_token: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class HoverRegistrationOptions < HoverOptions
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
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,44 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ImplementationClientCapabilities
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 implementation supports dynamic registration. If this is set to
16
+ # `true` the client supports the new `ImplementationRegistrationOptions`
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 definition 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,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ImplementationOptions < WorkDoneProgressOptions
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
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ImplementationParams < PartialResultParams
5
+ def initialize(partial_result_token: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ImplementationRegistrationOptions < StaticRegistrationOptions
5
+ def initialize(id: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:id] = id if id
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,11 +1,14 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class InitializeParams
5
- def initialize(process_id:, root_path: nil, root_uri:, initialization_options: nil, capabilities:, trace: nil, workspace_folders: nil)
4
+ class InitializeParams < WorkDoneProgressParams
5
+ def initialize(work_done_token: nil, process_id:, client_info: nil, locale: nil, root_path: nil, root_uri:, initialization_options: nil, capabilities:, trace: nil, workspace_folders: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
8
9
  @attributes[:processId] = process_id
10
+ @attributes[:clientInfo] = client_info if client_info
11
+ @attributes[:locale] = locale if locale
9
12
  @attributes[:rootPath] = root_path if root_path
10
13
  @attributes[:rootUri] = root_uri
11
14
  @attributes[:initializationOptions] = initialization_options if initialization_options
@@ -17,15 +20,37 @@ module LanguageServer
17
20
  end
18
21
 
19
22
  #
20
- # The process Id of the parent process that started
21
- # the server. Is null if the process has not been started by another process.
22
- # If the parent process is not alive then the server should exit (see exit notification) its process.
23
+ # The process Id of the parent process that started the server. Is null if
24
+ # the process has not been started by another process. If the parent
25
+ # process is not alive then the server should exit (see exit notification)
26
+ # its process.
23
27
  #
24
28
  # @return [number]
25
29
  def process_id
26
30
  attributes.fetch(:processId)
27
31
  end
28
32
 
33
+ #
34
+ # Information about the client
35
+ #
36
+ # @return [{ name: string; version?: string; }]
37
+ def client_info
38
+ attributes.fetch(:clientInfo)
39
+ end
40
+
41
+ #
42
+ # The locale the client is currently showing the user interface
43
+ # in. This must not necessarily be the locale of the operating
44
+ # system.
45
+ #
46
+ # Uses IETF language tags as the value's syntax
47
+ # (See https://en.wikipedia.org/wiki/IETF_language_tag)
48
+ #
49
+ # @return [string]
50
+ def locale
51
+ attributes.fetch(:locale)
52
+ end
53
+
29
54
  #
30
55
  # The rootPath of the workspace. Is null
31
56
  # if no folder is open.
@@ -64,7 +89,7 @@ module LanguageServer
64
89
  #
65
90
  # The initial trace setting. If omitted trace is disabled ('off').
66
91
  #
67
- # @return ["off" | "messages" | "verbose"]
92
+ # @return [TraceValue]
68
93
  def trace
69
94
  attributes.fetch(:trace)
70
95
  end
@@ -75,8 +100,6 @@ module LanguageServer
75
100
  # It can be `null` if the client supports workspace folders but none are
76
101
  # configured.
77
102
  #
78
- # Since 3.6.0
79
- #
80
103
  # @return [WorkspaceFolder[]]
81
104
  def workspace_folders
82
105
  attributes.fetch(:workspaceFolders)
@@ -2,10 +2,11 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class InitializeResult
5
- def initialize(capabilities:)
5
+ def initialize(capabilities:, server_info: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:capabilities] = capabilities
9
+ @attributes[:serverInfo] = server_info if server_info
9
10
 
10
11
  @attributes.freeze
11
12
  end
@@ -18,6 +19,14 @@ module LanguageServer
18
19
  attributes.fetch(:capabilities)
19
20
  end
20
21
 
22
+ #
23
+ # Information about the server.
24
+ #
25
+ # @return [{ name: string; version?: string; }]
26
+ def server_info
27
+ attributes.fetch(:serverInfo)
28
+ end
29
+
21
30
  attr_reader :attributes
22
31
 
23
32
  def to_hash
@@ -0,0 +1,54 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A special text edit to provide an insert and a replace operation.
6
+ #
7
+ class InsertReplaceEdit
8
+ def initialize(new_text:, insert:, replace:)
9
+ @attributes = {}
10
+
11
+ @attributes[:newText] = new_text
12
+ @attributes[:insert] = insert
13
+ @attributes[:replace] = replace
14
+
15
+ @attributes.freeze
16
+ end
17
+
18
+ #
19
+ # The string to be inserted.
20
+ #
21
+ # @return [string]
22
+ def new_text
23
+ attributes.fetch(:newText)
24
+ end
25
+
26
+ #
27
+ # The range if the insert is requested
28
+ #
29
+ # @return [Range]
30
+ def insert
31
+ attributes.fetch(:insert)
32
+ end
33
+
34
+ #
35
+ # The range if the replace is requested.
36
+ #
37
+ # @return [Range]
38
+ def replace
39
+ attributes.fetch(:replace)
40
+ end
41
+
42
+ attr_reader :attributes
43
+
44
+ def to_hash
45
+ attributes
46
+ end
47
+
48
+ def to_json(*args)
49
+ to_hash.to_json(*args)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end