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
@@ -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
@@ -2,15 +2,18 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class Diagnostic
5
- def initialize(range:, severity: nil, code: nil, source: nil, message:, related_information: nil)
5
+ def initialize(range:, severity: nil, code: nil, code_description: nil, source: nil, message:, tags: nil, related_information: nil, data: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:range] = range
9
9
  @attributes[:severity] = severity if severity
10
10
  @attributes[:code] = code if code
11
+ @attributes[:codeDescription] = code_description if code_description
11
12
  @attributes[:source] = source if source
12
13
  @attributes[:message] = message
14
+ @attributes[:tags] = tags if tags
13
15
  @attributes[:relatedInformation] = related_information if related_information
16
+ @attributes[:data] = data if data
14
17
 
15
18
  @attributes.freeze
16
19
  end
@@ -27,7 +30,7 @@ module LanguageServer
27
30
  # The diagnostic's severity. Can be omitted. If omitted it is up to the
28
31
  # client to interpret diagnostics as error, warning, info or hint.
29
32
  #
30
- # @return [number]
33
+ # @return [DiagnosticSeverity]
31
34
  def severity
32
35
  attributes.fetch(:severity)
33
36
  end
@@ -40,6 +43,14 @@ module LanguageServer
40
43
  attributes.fetch(:code)
41
44
  end
42
45
 
46
+ #
47
+ # An optional property to describe the error code.
48
+ #
49
+ # @return [CodeDescription]
50
+ def code_description
51
+ attributes.fetch(:codeDescription)
52
+ end
53
+
43
54
  #
44
55
  # A human-readable string describing the source of this
45
56
  # diagnostic, e.g. 'typescript' or 'super lint'.
@@ -57,6 +68,14 @@ module LanguageServer
57
68
  attributes.fetch(:message)
58
69
  end
59
70
 
71
+ #
72
+ # Additional metadata about the diagnostic.
73
+ #
74
+ # @return [DiagnosticTag[]]
75
+ def tags
76
+ attributes.fetch(:tags)
77
+ end
78
+
60
79
  #
61
80
  # An array of related diagnostic information, e.g. when symbol-names within
62
81
  # a scope collide all definitions can be marked via this property.
@@ -66,6 +85,16 @@ module LanguageServer
66
85
  attributes.fetch(:relatedInformation)
67
86
  end
68
87
 
88
+ #
89
+ # A data entry field that is preserved between a
90
+ # `textDocument/publishDiagnostics` notification and
91
+ # `textDocument/codeAction` request.
92
+ #
93
+ # @return [unknown]
94
+ def data
95
+ attributes.fetch(:data)
96
+ end
97
+
69
98
  attr_reader :attributes
70
99
 
71
100
  def to_hash
@@ -2,9 +2,9 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Represents a related message and source code location for a diagnostic. This should be
6
- # used to point to code locations that cause or related to a diagnostics, e.g when duplicating
7
- # a symbol in a scope.
5
+ # Represents a related message and source code location for a diagnostic.
6
+ # This should be used to point to code locations that cause or are related to
7
+ # a diagnostics, e.g when duplicating a symbol in a scope.
8
8
  #
9
9
  class DiagnosticRelatedInformation
10
10
  def initialize(location:, message:)
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DidChangeConfigurationClientCapabilities
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
+ # Did change configuration notification 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
@@ -22,9 +22,19 @@ module LanguageServer
22
22
  end
23
23
 
24
24
  #
25
- # The actual content changes. The content changes describe single state changes
26
- # to the document. So if there are two content changes c1 and c2 for a document
27
- # in state S then c1 move the document to S' and c2 to S''.
25
+ # The actual content changes. The content changes describe single state
26
+ # changes to the document. So if there are two content changes c1 (at
27
+ # array index 0) and c2 (at array index 1) for a document in state S then
28
+ # c1 moves the document from S to S' and c2 from S' to S''. So c1 is
29
+ # computed on the state S and c2 is computed on the state S'.
30
+ #
31
+ # To mirror the content of a document using change events use the following
32
+ # approach:
33
+ # - start with the same initial content
34
+ # - apply the 'textDocument/didChange' notifications in the order you
35
+ # receive them.
36
+ # - apply the `TextDocumentContentChangeEvent`s in a single notification
37
+ # in the order you receive them.
28
38
  #
29
39
  # @return [TextDocumentContentChangeEvent[]]
30
40
  def content_changes
@@ -0,0 +1,35 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DidChangeWatchedFilesClientCapabilities
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
+ # Did change watched files notification supports dynamic registration.
15
+ # Please note that the current protocol doesn't support static
16
+ # configuration for file changes from the server side.
17
+ #
18
+ # @return [boolean]
19
+ def dynamic_registration
20
+ attributes.fetch(:dynamicRegistration)
21
+ end
22
+
23
+ attr_reader :attributes
24
+
25
+ def to_hash
26
+ attributes
27
+ end
28
+
29
+ def to_json(*args)
30
+ to_hash.to_json(*args)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Describe options to be used when registering for text document change events.
5
+ # Describe options to be used when registering for file system change events.
6
6
  #
7
7
  class DidChangeWatchedFilesRegistrationOptions
8
8
  def initialize(watchers:)
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentColorClientCapabilities
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 document color 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
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentColorOptions < 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,34 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentColorParams < PartialResultParams
5
+ def initialize(partial_result_token: nil, text_document:)
6
+ @attributes = {}
7
+
8
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
9
+ @attributes[:textDocument] = text_document
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # The text document.
16
+ #
17
+ # @return [TextDocumentIdentifier]
18
+ def text_document
19
+ attributes.fetch(:textDocument)
20
+ end
21
+
22
+ attr_reader :attributes
23
+
24
+ def to_hash
25
+ attributes
26
+ end
27
+
28
+ def to_json(*args)
29
+ to_hash.to_json(*args)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentColorRegistrationOptions < DocumentColorOptions
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
@@ -35,9 +35,13 @@ module LanguageServer
35
35
  # - `*` to match one or more characters in a path segment
36
36
  # - `?` to match on one character in a path segment
37
37
  # - `**` to match any number of path segments, including none
38
- # - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
39
- # - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
40
- # - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
38
+ # - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}`
39
+ # matches all TypeScript and JavaScript files)
40
+ # - `[]` to declare a range of characters to match in a path segment
41
+ # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
42
+ # - `[!...]` to negate a range of characters to match in a path segment
43
+ # (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but
44
+ # not `example.0`)
41
45
  #
42
46
  # @return [string]
43
47
  def pattern
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentFormattingClientCapabilities
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 formatting 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
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentFormattingOptions < 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