language_server-protocol 3.17.0.0 → 3.17.0.2

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 (358) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant/code_action_kind.rb +29 -22
  3. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +0 -2
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -4
  5. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +3 -2
  6. data/lib/language_server/protocol/constant/diagnostic_severity.rb +0 -3
  7. data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -4
  8. data/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +21 -0
  9. data/lib/language_server/protocol/constant/error_codes.rb +42 -16
  10. data/lib/language_server/protocol/constant/failure_handling_kind.rb +10 -9
  11. data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
  12. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +2 -4
  13. data/lib/language_server/protocol/constant/folding_range_kind.rb +5 -4
  14. data/lib/language_server/protocol/constant/initialize_error_codes.rb +16 -0
  15. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +0 -2
  16. data/lib/language_server/protocol/constant/insert_text_format.rb +0 -2
  17. data/lib/language_server/protocol/constant/insert_text_mode.rb +0 -2
  18. data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
  19. data/lib/language_server/protocol/constant/message_type.rb +0 -3
  20. data/lib/language_server/protocol/constant/moniker_kind.rb +3 -5
  21. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +0 -2
  22. data/lib/language_server/protocol/constant/position_encoding_kind.rb +5 -5
  23. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +1 -1
  24. data/lib/language_server/protocol/constant/resource_operation_kind.rb +6 -3
  25. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +10 -17
  26. data/lib/language_server/protocol/constant/semantic_token_types.rb +25 -35
  27. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -3
  28. data/lib/language_server/protocol/constant/symbol_tag.rb +0 -2
  29. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  30. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +3 -3
  31. data/lib/language_server/protocol/constant/token_format.rb +1 -1
  32. data/lib/language_server/protocol/constant/uniqueness_level.rb +5 -7
  33. data/lib/language_server/protocol/constant.rb +6 -4
  34. data/lib/language_server/protocol/interface/annotated_text_edit.rb +10 -12
  35. data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +1 -4
  36. data/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +6 -10
  37. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +5 -7
  38. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +0 -5
  39. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +11 -16
  40. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +9 -13
  41. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +1 -6
  42. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +2 -8
  43. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +11 -16
  44. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +1 -6
  45. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +5 -10
  46. data/lib/language_server/protocol/interface/cancel_params.rb +1 -1
  47. data/lib/language_server/protocol/interface/change_annotation.rb +2 -4
  48. data/lib/language_server/protocol/interface/client_capabilities.rb +6 -13
  49. data/lib/language_server/protocol/interface/code_action.rb +26 -28
  50. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +9 -25
  51. data/lib/language_server/protocol/interface/code_action_context.rb +10 -11
  52. data/lib/language_server/protocol/interface/code_action_options.rb +11 -16
  53. data/lib/language_server/protocol/interface/code_action_params.rb +21 -21
  54. data/lib/language_server/protocol/interface/code_action_registration_options.rb +14 -19
  55. data/lib/language_server/protocol/interface/code_description.rb +1 -3
  56. data/lib/language_server/protocol/interface/code_lens.rb +9 -8
  57. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +1 -4
  58. data/lib/language_server/protocol/interface/code_lens_options.rb +8 -11
  59. data/lib/language_server/protocol/interface/code_lens_params.rb +14 -17
  60. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +11 -14
  61. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +1 -4
  62. data/lib/language_server/protocol/interface/color.rb +4 -4
  63. data/lib/language_server/protocol/interface/color_information.rb +0 -3
  64. data/lib/language_server/protocol/interface/color_presentation.rb +9 -8
  65. data/lib/language_server/protocol/interface/color_presentation_params.rb +21 -24
  66. data/lib/language_server/protocol/interface/command.rb +1 -7
  67. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +16 -24
  68. data/lib/language_server/protocol/interface/completion_context.rb +6 -4
  69. data/lib/language_server/protocol/interface/completion_item.rb +50 -61
  70. data/lib/language_server/protocol/interface/completion_item_label_details.rb +8 -8
  71. data/lib/language_server/protocol/interface/completion_list.rb +5 -6
  72. data/lib/language_server/protocol/interface/completion_options.rb +27 -27
  73. data/lib/language_server/protocol/interface/completion_params.rb +16 -18
  74. data/lib/language_server/protocol/interface/completion_registration_options.rb +30 -33
  75. data/lib/language_server/protocol/interface/configuration_item.rb +2 -2
  76. data/lib/language_server/protocol/interface/configuration_params.rb +0 -3
  77. data/lib/language_server/protocol/interface/create_file.rb +4 -6
  78. data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
  79. data/lib/language_server/protocol/interface/create_files_params.rb +2 -4
  80. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +5 -8
  81. data/lib/language_server/protocol/interface/declaration_options.rb +1 -1
  82. data/lib/language_server/protocol/interface/declaration_params.rb +4 -4
  83. data/lib/language_server/protocol/interface/declaration_registration_options.rb +5 -5
  84. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +2 -7
  85. data/lib/language_server/protocol/interface/definition_options.rb +1 -4
  86. data/lib/language_server/protocol/interface/definition_params.rb +4 -7
  87. data/lib/language_server/protocol/interface/definition_registration_options.rb +4 -7
  88. data/lib/language_server/protocol/interface/delete_file.rb +3 -5
  89. data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
  90. data/lib/language_server/protocol/interface/delete_files_params.rb +2 -4
  91. data/lib/language_server/protocol/interface/diagnostic.rb +14 -25
  92. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +7 -7
  93. data/lib/language_server/protocol/interface/diagnostic_options.rb +8 -10
  94. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +12 -14
  95. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
  96. data/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +0 -2
  97. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +4 -6
  98. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +1 -1
  99. data/lib/language_server/protocol/interface/did_change_configuration_params.rb +0 -3
  100. data/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +8 -14
  101. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -12
  102. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +6 -8
  103. data/lib/language_server/protocol/interface/did_change_watched_files_params.rb +0 -3
  104. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  105. data/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +0 -3
  106. data/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +0 -2
  107. data/lib/language_server/protocol/interface/did_close_text_document_params.rb +0 -3
  108. data/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +0 -2
  109. data/lib/language_server/protocol/interface/did_open_text_document_params.rb +0 -3
  110. data/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +0 -2
  111. data/lib/language_server/protocol/interface/did_save_text_document_params.rb +1 -4
  112. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +2 -4
  113. data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
  114. data/lib/language_server/protocol/interface/document_color_params.rb +14 -17
  115. data/lib/language_server/protocol/interface/document_color_registration_options.rb +11 -11
  116. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +22 -24
  117. data/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +1 -3
  118. data/lib/language_server/protocol/interface/document_filter.rb +19 -25
  119. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +1 -4
  120. data/lib/language_server/protocol/interface/document_formatting_options.rb +1 -4
  121. data/lib/language_server/protocol/interface/document_formatting_params.rb +10 -13
  122. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +4 -7
  123. data/lib/language_server/protocol/interface/document_highlight.rb +2 -2
  124. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +1 -4
  125. data/lib/language_server/protocol/interface/document_highlight_options.rb +1 -4
  126. data/lib/language_server/protocol/interface/document_highlight_params.rb +4 -7
  127. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +4 -7
  128. data/lib/language_server/protocol/interface/document_link.rb +9 -10
  129. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +2 -7
  130. data/lib/language_server/protocol/interface/document_link_options.rb +8 -11
  131. data/lib/language_server/protocol/interface/document_link_params.rb +14 -17
  132. data/lib/language_server/protocol/interface/document_link_registration_options.rb +11 -14
  133. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +1 -4
  134. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +1 -4
  135. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +0 -3
  136. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +4 -7
  137. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +2 -5
  138. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +1 -4
  139. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +10 -13
  140. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +4 -7
  141. data/lib/language_server/protocol/interface/document_symbol.rb +15 -17
  142. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +5 -12
  143. data/lib/language_server/protocol/interface/document_symbol_options.rb +8 -13
  144. data/lib/language_server/protocol/interface/document_symbol_params.rb +14 -17
  145. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +11 -16
  146. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +1 -4
  147. data/lib/language_server/protocol/interface/execute_command_options.rb +7 -10
  148. data/lib/language_server/protocol/interface/execute_command_params.rb +11 -14
  149. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +8 -8
  150. data/lib/language_server/protocol/interface/execution_summary.rb +2 -2
  151. data/lib/language_server/protocol/interface/file_create.rb +0 -2
  152. data/lib/language_server/protocol/interface/file_delete.rb +0 -2
  153. data/lib/language_server/protocol/interface/file_event.rb +3 -3
  154. data/lib/language_server/protocol/interface/file_operation_filter.rb +3 -5
  155. data/lib/language_server/protocol/interface/file_operation_pattern.rb +10 -8
  156. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +1 -3
  157. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +0 -2
  158. data/lib/language_server/protocol/interface/file_rename.rb +0 -2
  159. data/lib/language_server/protocol/interface/file_system_watcher.rb +3 -4
  160. data/lib/language_server/protocol/interface/folding_range.rb +23 -19
  161. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +5 -9
  162. data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
  163. data/lib/language_server/protocol/interface/folding_range_params.rb +14 -17
  164. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +5 -5
  165. data/lib/language_server/protocol/interface/formatting_options.rb +4 -10
  166. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +2 -4
  167. data/lib/language_server/protocol/interface/hover.rb +3 -3
  168. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +5 -4
  169. data/lib/language_server/protocol/interface/hover_options.rb +1 -4
  170. data/lib/language_server/protocol/interface/hover_params.rb +1 -4
  171. data/lib/language_server/protocol/interface/hover_registration_options.rb +4 -7
  172. data/lib/language_server/protocol/interface/{t.rb → hover_result.rb} +8 -2
  173. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +5 -10
  174. data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
  175. data/lib/language_server/protocol/interface/implementation_params.rb +4 -4
  176. data/lib/language_server/protocol/interface/implementation_registration_options.rb +5 -5
  177. data/lib/language_server/protocol/interface/initialize_error.rb +0 -4
  178. data/lib/language_server/protocol/interface/initialize_params.rb +29 -41
  179. data/lib/language_server/protocol/interface/initialize_result.rb +1 -6
  180. data/lib/language_server/protocol/interface/inlay_hint.rb +13 -9
  181. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +3 -5
  182. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +3 -5
  183. data/lib/language_server/protocol/interface/inlay_hint_options.rb +8 -10
  184. data/lib/language_server/protocol/interface/inlay_hint_params.rb +11 -13
  185. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +12 -14
  186. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +1 -3
  187. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +3 -4
  188. data/lib/language_server/protocol/interface/inline_value_context.rb +3 -5
  189. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +7 -5
  190. data/lib/language_server/protocol/interface/inline_value_options.rb +1 -3
  191. data/lib/language_server/protocol/interface/inline_value_params.rb +10 -12
  192. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +5 -7
  193. data/lib/language_server/protocol/interface/inline_value_text.rb +0 -2
  194. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +7 -5
  195. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +5 -7
  196. data/lib/language_server/protocol/interface/insert_replace_edit.rb +0 -2
  197. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +4 -8
  198. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
  199. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
  200. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +5 -5
  201. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +7 -11
  202. data/lib/language_server/protocol/interface/location.rb +1 -5
  203. data/lib/language_server/protocol/interface/location_link.rb +11 -13
  204. data/lib/language_server/protocol/interface/log_message_params.rb +1 -4
  205. data/lib/language_server/protocol/interface/log_trace_params.rb +8 -1
  206. data/lib/language_server/protocol/interface/markup_content.rb +18 -16
  207. data/lib/language_server/protocol/interface/{lsp_object.rb → message.rb} +8 -6
  208. data/lib/language_server/protocol/interface/moniker.rb +1 -3
  209. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +5 -9
  210. data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
  211. data/lib/language_server/protocol/interface/moniker_params.rb +4 -4
  212. data/lib/language_server/protocol/interface/moniker_registration_options.rb +4 -4
  213. data/lib/language_server/protocol/interface/notebook_cell.rb +4 -8
  214. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +4 -6
  215. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +1 -3
  216. data/lib/language_server/protocol/interface/notebook_document.rb +4 -8
  217. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +2 -6
  218. data/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +0 -4
  219. data/lib/language_server/protocol/interface/notebook_document_filter.rb +32 -11
  220. data/lib/language_server/protocol/interface/notebook_document_identifier.rb +2 -4
  221. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +2 -4
  222. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +3 -5
  223. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +3 -5
  224. data/lib/language_server/protocol/interface/notification_message.rb +48 -0
  225. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +18 -17
  226. data/lib/language_server/protocol/interface/parameter_information.rb +9 -7
  227. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  228. data/lib/language_server/protocol/interface/position.rb +6 -40
  229. data/lib/language_server/protocol/interface/prepare_rename_params.rb +1 -1
  230. data/lib/language_server/protocol/interface/previous_result_id.rb +1 -3
  231. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  232. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +5 -16
  233. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +4 -8
  234. data/lib/language_server/protocol/interface/range.rb +0 -13
  235. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +1 -4
  236. data/lib/language_server/protocol/interface/reference_context.rb +0 -4
  237. data/lib/language_server/protocol/interface/reference_options.rb +1 -4
  238. data/lib/language_server/protocol/interface/reference_params.rb +11 -14
  239. data/lib/language_server/protocol/interface/reference_registration_options.rb +4 -7
  240. data/lib/language_server/protocol/interface/registration.rb +2 -2
  241. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +1 -3
  242. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +16 -20
  243. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +15 -19
  244. data/lib/language_server/protocol/interface/relative_pattern.rb +2 -4
  245. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +7 -12
  246. data/lib/language_server/protocol/interface/rename_file.rb +4 -6
  247. data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
  248. data/lib/language_server/protocol/interface/rename_files_params.rb +4 -6
  249. data/lib/language_server/protocol/interface/rename_options.rb +8 -13
  250. data/lib/language_server/protocol/interface/rename_params.rb +12 -15
  251. data/lib/language_server/protocol/interface/rename_registration_options.rb +11 -16
  252. data/lib/language_server/protocol/interface/request_message.rb +57 -0
  253. data/lib/language_server/protocol/interface/response_error.rb +52 -0
  254. data/lib/language_server/protocol/interface/response_message.rb +58 -0
  255. data/lib/language_server/protocol/interface/save_options.rb +1 -4
  256. data/lib/language_server/protocol/interface/selection_range.rb +3 -6
  257. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +5 -4
  258. data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
  259. data/lib/language_server/protocol/interface/selection_range_params.rb +20 -23
  260. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +5 -5
  261. data/lib/language_server/protocol/interface/semantic_tokens.rb +2 -5
  262. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +13 -19
  263. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +3 -5
  264. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +21 -24
  265. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +0 -3
  266. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +3 -6
  267. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +0 -3
  268. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +9 -12
  269. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +14 -17
  270. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +1 -4
  271. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +20 -23
  272. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +13 -16
  273. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +2 -5
  274. data/lib/language_server/protocol/interface/server_capabilities.rb +66 -89
  275. data/lib/language_server/protocol/interface/set_trace_params.rb +4 -1
  276. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +2 -4
  277. data/lib/language_server/protocol/interface/show_document_params.rb +4 -6
  278. data/lib/language_server/protocol/interface/show_document_result.rb +1 -3
  279. data/lib/language_server/protocol/interface/show_message_params.rb +1 -4
  280. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +1 -1
  281. data/lib/language_server/protocol/interface/show_message_request_params.rb +2 -2
  282. data/lib/language_server/protocol/interface/signature_help.rb +6 -5
  283. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +3 -8
  284. data/lib/language_server/protocol/interface/signature_help_context.rb +11 -10
  285. data/lib/language_server/protocol/interface/signature_help_options.rb +14 -17
  286. data/lib/language_server/protocol/interface/signature_help_params.rb +13 -17
  287. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +17 -20
  288. data/lib/language_server/protocol/interface/signature_information.rb +3 -5
  289. data/lib/language_server/protocol/interface/static_registration_options.rb +2 -3
  290. data/lib/language_server/protocol/interface/symbol_information.rb +29 -33
  291. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +13 -12
  292. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +47 -76
  293. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +8 -6
  294. data/lib/language_server/protocol/interface/text_document_edit.rb +1 -10
  295. data/lib/language_server/protocol/interface/text_document_identifier.rb +2 -5
  296. data/lib/language_server/protocol/interface/text_document_item.rb +3 -7
  297. data/lib/language_server/protocol/interface/text_document_position_params.rb +0 -4
  298. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  299. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +4 -7
  300. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
  301. data/lib/language_server/protocol/interface/text_document_sync_options.rb +19 -15
  302. data/lib/language_server/protocol/interface/text_edit.rb +0 -3
  303. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +5 -10
  304. data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
  305. data/lib/language_server/protocol/interface/type_definition_params.rb +4 -4
  306. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +5 -5
  307. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +4 -7
  308. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +1 -6
  309. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +1 -6
  310. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +5 -10
  311. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +11 -16
  312. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +11 -16
  313. data/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +1 -3
  314. data/lib/language_server/protocol/interface/unregistration.rb +2 -2
  315. data/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +3 -5
  316. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +13 -13
  317. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  318. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +6 -6
  319. data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
  320. data/lib/language_server/protocol/interface/work_done_progress_options.rb +1 -1
  321. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  322. data/lib/language_server/protocol/interface/work_done_progress_report.rb +7 -6
  323. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +21 -23
  324. data/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +0 -2
  325. data/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +0 -2
  326. data/lib/language_server/protocol/interface/workspace_edit.rb +17 -28
  327. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +6 -15
  328. data/lib/language_server/protocol/interface/workspace_folder.rb +1 -4
  329. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +3 -3
  330. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +22 -24
  331. data/lib/language_server/protocol/interface/workspace_symbol.rb +28 -34
  332. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +7 -13
  333. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +8 -13
  334. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +16 -16
  335. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +8 -13
  336. data/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +21 -23
  337. data/lib/language_server/protocol/interface.rb +16 -38
  338. data/lib/language_server/protocol/version.rb +1 -1
  339. metadata +11 -24
  340. data/lib/language_server/protocol/constant/lsp_error_codes.rb +0 -55
  341. data/lib/language_server/protocol/constant/trace_values.rb +0 -20
  342. data/lib/language_server/protocol/interface/base_symbol_information.rb +0 -68
  343. data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +0 -30
  344. data/lib/language_server/protocol/interface/document_diagnostic_report.rb +0 -77
  345. data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +0 -95
  346. data/lib/language_server/protocol/interface/file_operation_options.rb +0 -83
  347. data/lib/language_server/protocol/interface/general_client_capabilities.rb +0 -91
  348. data/lib/language_server/protocol/interface/glob_pattern.rb +0 -48
  349. data/lib/language_server/protocol/interface/inline_value.rb +0 -78
  350. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +0 -59
  351. data/lib/language_server/protocol/interface/prepare_rename_result.rb +0 -60
  352. data/lib/language_server/protocol/interface/resource_operation.rb +0 -47
  353. data/lib/language_server/protocol/interface/text_document_filter.rb +0 -69
  354. data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +0 -38
  355. data/lib/language_server/protocol/interface/window_client_capabilities.rb +0 -63
  356. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -176
  357. data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +0 -77
  358. data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +0 -39
@@ -0,0 +1,48 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class NotificationMessage
5
+ def initialize(jsonrpc:, method:, params: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:jsonrpc] = jsonrpc
9
+ @attributes[:method] = method
10
+ @attributes[:params] = params if params
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ # @return [string]
16
+ def jsonrpc
17
+ attributes.fetch(:jsonrpc)
18
+ end
19
+
20
+ #
21
+ # The method to be invoked.
22
+ #
23
+ # @return [string]
24
+ def method
25
+ attributes.fetch(:method)
26
+ end
27
+
28
+ #
29
+ # The notification's params.
30
+ #
31
+ # @return [any]
32
+ def params
33
+ attributes.fetch(:params)
34
+ end
35
+
36
+ attr_reader :attributes
37
+
38
+ def to_hash
39
+ attributes
40
+ end
41
+
42
+ def to_json(*args)
43
+ to_hash.to_json(*args)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -1,37 +1,38 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # A text document identifier to optionally denote a specific version of a text document.
6
- #
7
4
  class OptionalVersionedTextDocumentIdentifier
8
- def initialize(version:, uri:)
5
+ def initialize(uri:, version:)
9
6
  @attributes = {}
10
7
 
11
- @attributes[:version] = version
12
8
  @attributes[:uri] = uri
9
+ @attributes[:version] = version
13
10
 
14
11
  @attributes.freeze
15
12
  end
16
13
 
17
14
  #
18
- # The version number of this document. If a versioned text document identifier
19
- # is sent from the server to the client and the file is not open in the editor
20
- # (the server has not received an open notification before) the server can send
21
- # `null` to indicate that the version is unknown and the content on disk is the
22
- # truth (as specified with document content ownership).
15
+ # The text document's URI.
23
16
  #
24
- # @return [integer | null]
25
- def version
26
- attributes.fetch(:version)
17
+ # @return [string]
18
+ def uri
19
+ attributes.fetch(:uri)
27
20
  end
28
21
 
29
22
  #
30
- # The text document's uri.
23
+ # The version number of this document. If an optional versioned text document
24
+ # identifier is sent from the server to the client and the file is not
25
+ # open in the editor (the server has not received an open notification
26
+ # before) the server can send `null` to indicate that the version is
27
+ # known and the content on disk is the master (as specified with document
28
+ # content ownership).
31
29
  #
32
- # @return [DocumentUri]
33
- def uri
34
- attributes.fetch(:uri)
30
+ # The version number of a document will increase after each change,
31
+ # including undo/redo. The number doesn't need to be consecutive.
32
+ #
33
+ # @return [number]
34
+ def version
35
+ attributes.fetch(:version)
35
36
  end
36
37
 
37
38
  attr_reader :attributes
@@ -18,14 +18,16 @@ module LanguageServer
18
18
  #
19
19
  # The label of this parameter information.
20
20
  #
21
- # Either a string or an inclusive start and exclusive end offsets within its containing
22
- # signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
23
- # string representation as `Position` and `Range` does.
21
+ # Either a string or an inclusive start and exclusive end offsets within
22
+ # its containing signature label. (see SignatureInformation.label). The
23
+ # offsets are based on a UTF-16 string representation as `Position` and
24
+ # `Range` does.
24
25
  #
25
- # *Note*: a label of type string should be a substring of its containing signature label.
26
- # Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
26
+ # *Note*: a label of type string should be a substring of its containing
27
+ # signature label. Its intended use case is to highlight the parameter
28
+ # label part in the `SignatureInformation.label`.
27
29
  #
28
- # @return [string | uinteger, uinteger]
30
+ # @return [string | [number, number]]
29
31
  def label
30
32
  attributes.fetch(:label)
31
33
  end
@@ -34,7 +36,7 @@ module LanguageServer
34
36
  # The human-readable doc-comment of this parameter. Will be shown
35
37
  # in the UI but can be omitted.
36
38
  #
37
- # @return [string | MarkupContent | nil]
39
+ # @return [string | MarkupContent]
38
40
  def documentation
39
41
  attributes.fetch(:documentation)
40
42
  end
@@ -11,10 +11,10 @@ module LanguageServer
11
11
  end
12
12
 
13
13
  #
14
- # An optional token that a server can use to report partial results (e.g. streaming) to
15
- # the client.
14
+ # An optional token that a server can use to report partial results (e.g.
15
+ # streaming) to the client.
16
16
  #
17
- # @return [ProgressToken | nil]
17
+ # @return [ProgressToken]
18
18
  def partial_result_token
19
19
  attributes.fetch(:partialResultToken)
20
20
  end
@@ -1,35 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Position in a text document expressed as zero-based line and character
6
- # offset. Prior to 3.17 the offsets were always based on a UTF-16 string
7
- # representation. So a string of the form `a𐐀b` the character offset of the
8
- # character `a` is 0, the character offset of `𐐀` is 1 and the character
9
- # offset of b is 3 since `𐐀` is represented using two code units in UTF-16.
10
- # Since 3.17 clients and servers can agree on a different string encoding
11
- # representation (e.g. UTF-8). The client announces it's supported encoding
12
- # via the client capability [`general.positionEncodings`](#clientCapabilities).
13
- # The value is an array of position encodings the client supports, with
14
- # decreasing preference (e.g. the encoding at index `0` is the most preferred
15
- # one). To stay backwards compatible the only mandatory encoding is UTF-16
16
- # represented via the string `utf-16`. The server can pick one of the
17
- # encodings offered by the client and signals that encoding back to the
18
- # client via the initialize result's property
19
- # [`capabilities.positionEncoding`](#serverCapabilities). If the string value
20
- # `utf-16` is missing from the client's capability `general.positionEncodings`
21
- # servers can safely assume that the client supports UTF-16. If the server
22
- # omits the position encoding in its initialize result the encoding defaults
23
- # to the string value `utf-16`. Implementation considerations: since the
24
- # conversion from one encoding into another requires the content of the
25
- # file / line the conversion is best done where the file is read which is
26
- # usually on the server side.
27
- #
28
- # Positions are line end character agnostic. So you can not specify a position
29
- # that denotes `\r|\n` or `\n|` where `|` represents the character offset.
30
- #
31
- # @since 3.17.0 - support for negotiated position encoding.
32
- #
33
4
  class Position
34
5
  def initialize(line:, character:)
35
6
  @attributes = {}
@@ -43,24 +14,19 @@ module LanguageServer
43
14
  #
44
15
  # Line position in a document (zero-based).
45
16
  #
46
- # If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
47
- # If a line number is negative, it defaults to 0.
48
- #
49
- # @return [uinteger]
17
+ # @return [number]
50
18
  def line
51
19
  attributes.fetch(:line)
52
20
  end
53
21
 
54
22
  #
55
- # Character offset on a line in a document (zero-based).
56
- #
57
- # The meaning of this offset is determined by the negotiated
58
- # `PositionEncodingKind`.
23
+ # Character offset on a line in a document (zero-based). The meaning of this
24
+ # offset is determined by the negotiated `PositionEncodingKind`.
59
25
  #
60
- # If the character value is greater than the line length it defaults back to the
61
- # line length.
26
+ # If the character value is greater than the line length it defaults back
27
+ # to the line length.
62
28
  #
63
- # @return [uinteger]
29
+ # @return [number]
64
30
  def character
65
31
  attributes.fetch(:character)
66
32
  end
@@ -31,7 +31,7 @@ module LanguageServer
31
31
  #
32
32
  # An optional token that a server can use to report work done progress.
33
33
  #
34
- # @return [ProgressToken | nil]
34
+ # @return [ProgressToken]
35
35
  def work_done_token
36
36
  attributes.fetch(:workDoneToken)
37
37
  end
@@ -4,8 +4,6 @@ module LanguageServer
4
4
  #
5
5
  # A previous result id in a workspace pull request.
6
6
  #
7
- # @since 3.17.0
8
- #
9
7
  class PreviousResultId
10
8
  def initialize(uri:, value:)
11
9
  @attributes = {}
@@ -20,7 +18,7 @@ module LanguageServer
20
18
  # The URI for which the client knows a
21
19
  # result id.
22
20
  #
23
- # @return [DocumentUri]
21
+ # @return [string]
24
22
  def uri
25
23
  attributes.fetch(:uri)
26
24
  end
@@ -22,7 +22,7 @@ module LanguageServer
22
22
  #
23
23
  # The progress data.
24
24
  #
25
- # @return [LSPAny]
25
+ # @return [T]
26
26
  def value
27
27
  attributes.fetch(:value)
28
28
  end
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # The publish diagnostic client capabilities.
6
- #
7
4
  class PublishDiagnosticsClientCapabilities
8
5
  def initialize(related_information: nil, tag_support: nil, version_support: nil, code_description_support: nil, data_support: nil)
9
6
  @attributes = {}
@@ -20,7 +17,7 @@ module LanguageServer
20
17
  #
21
18
  # Whether the clients accepts diagnostics with related information.
22
19
  #
23
- # @return [boolean | nil]
20
+ # @return [boolean]
24
21
  def related_information
25
22
  attributes.fetch(:relatedInformation)
26
23
  end
@@ -29,9 +26,7 @@ module LanguageServer
29
26
  # Client supports the tag property to provide meta data about a diagnostic.
30
27
  # Clients supporting tags have to handle unknown tags gracefully.
31
28
  #
32
- # @since 3.15.0
33
- #
34
- # @return [{ valueSet:DiagnosticTag[] } | nil]
29
+ # @return [{ valueSet: DiagnosticTag[]; }]
35
30
  def tag_support
36
31
  attributes.fetch(:tagSupport)
37
32
  end
@@ -40,9 +35,7 @@ module LanguageServer
40
35
  # Whether the client interprets the version property of the
41
36
  # `textDocument/publishDiagnostics` notification's parameter.
42
37
  #
43
- # @since 3.15.0
44
- #
45
- # @return [boolean | nil]
38
+ # @return [boolean]
46
39
  def version_support
47
40
  attributes.fetch(:versionSupport)
48
41
  end
@@ -50,9 +43,7 @@ module LanguageServer
50
43
  #
51
44
  # Client supports a codeDescription property
52
45
  #
53
- # @since 3.16.0
54
- #
55
- # @return [boolean | nil]
46
+ # @return [boolean]
56
47
  def code_description_support
57
48
  attributes.fetch(:codeDescriptionSupport)
58
49
  end
@@ -62,9 +53,7 @@ module LanguageServer
62
53
  # preserved between a `textDocument/publishDiagnostics` and
63
54
  # `textDocument/codeAction` request.
64
55
  #
65
- # @since 3.16.0
66
- #
67
- # @return [boolean | nil]
56
+ # @return [boolean]
68
57
  def data_support
69
58
  attributes.fetch(:dataSupport)
70
59
  end
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # The publish diagnostic notification's parameters.
6
- #
7
4
  class PublishDiagnosticsParams
8
5
  def initialize(uri:, version: nil, diagnostics:)
9
6
  @attributes = {}
@@ -18,17 +15,16 @@ module LanguageServer
18
15
  #
19
16
  # The URI for which diagnostic information is reported.
20
17
  #
21
- # @return [DocumentUri]
18
+ # @return [string]
22
19
  def uri
23
20
  attributes.fetch(:uri)
24
21
  end
25
22
 
26
23
  #
27
- # Optional the version number of the document the diagnostics are published for.
24
+ # Optional the version number of the document the diagnostics are published
25
+ # for.
28
26
  #
29
- # @since 3.15.0
30
- #
31
- # @return [integer | nil]
27
+ # @return [number]
32
28
  def version
33
29
  attributes.fetch(:version)
34
30
  end
@@ -1,19 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # A range in a text document expressed as (zero-based) start and end positions.
6
- #
7
- # If you want to specify a range that contains a line including the line ending
8
- # character(s) then use an end position denoting the start of the next line.
9
- # For example:
10
- # ```ts
11
- # {
12
- # start: { line: 5, character: 23 }
13
- # end : { line 6, character : 0 }
14
- # }
15
- # ```
16
- #
17
4
  class Range
18
5
  def initialize(start:, end:)
19
6
  @attributes = {}
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Client Capabilities for a [ReferencesRequest](#ReferencesRequest).
6
- #
7
4
  class ReferenceClientCapabilities
8
5
  def initialize(dynamic_registration: nil)
9
6
  @attributes = {}
@@ -16,7 +13,7 @@ module LanguageServer
16
13
  #
17
14
  # Whether references supports dynamic registration.
18
15
  #
19
- # @return [boolean | nil]
16
+ # @return [boolean]
20
17
  def dynamic_registration
21
18
  attributes.fetch(:dynamicRegistration)
22
19
  end
@@ -1,10 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Value-object that contains additional information when
6
- # requesting references.
7
- #
8
4
  class ReferenceContext
9
5
  def initialize(include_declaration:)
10
6
  @attributes = {}
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Reference options.
6
- #
7
4
  class ReferenceOptions
8
5
  def initialize(work_done_progress: nil)
9
6
  @attributes = {}
@@ -13,7 +10,7 @@ module LanguageServer
13
10
  @attributes.freeze
14
11
  end
15
12
 
16
- # @return [boolean | nil]
13
+ # @return [boolean]
17
14
  def work_done_progress
18
15
  attributes.fetch(:workDoneProgress)
19
16
  end
@@ -1,27 +1,19 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Parameters for a [ReferencesRequest](#ReferencesRequest).
6
- #
7
4
  class ReferenceParams
8
- def initialize(context:, text_document:, position:, work_done_token: nil, partial_result_token: nil)
5
+ def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil, context:)
9
6
  @attributes = {}
10
7
 
11
- @attributes[:context] = context
12
8
  @attributes[:textDocument] = text_document
13
9
  @attributes[:position] = position
14
10
  @attributes[:workDoneToken] = work_done_token if work_done_token
15
11
  @attributes[:partialResultToken] = partial_result_token if partial_result_token
12
+ @attributes[:context] = context
16
13
 
17
14
  @attributes.freeze
18
15
  end
19
16
 
20
- # @return [ReferenceContext]
21
- def context
22
- attributes.fetch(:context)
23
- end
24
-
25
17
  #
26
18
  # The text document.
27
19
  #
@@ -41,20 +33,25 @@ module LanguageServer
41
33
  #
42
34
  # An optional token that a server can use to report work done progress.
43
35
  #
44
- # @return [ProgressToken | nil]
36
+ # @return [ProgressToken]
45
37
  def work_done_token
46
38
  attributes.fetch(:workDoneToken)
47
39
  end
48
40
 
49
41
  #
50
- # An optional token that a server can use to report partial results (e.g. streaming) to
51
- # the client.
42
+ # An optional token that a server can use to report partial results (e.g.
43
+ # streaming) to the client.
52
44
  #
53
- # @return [ProgressToken | nil]
45
+ # @return [ProgressToken]
54
46
  def partial_result_token
55
47
  attributes.fetch(:partialResultToken)
56
48
  end
57
49
 
50
+ # @return [ReferenceContext]
51
+ def context
52
+ attributes.fetch(:context)
53
+ end
54
+
58
55
  attr_reader :attributes
59
56
 
60
57
  def to_hash
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Registration options for a [ReferencesRequest](#ReferencesRequest).
6
- #
7
4
  class ReferenceRegistrationOptions
8
5
  def initialize(document_selector:, work_done_progress: nil)
9
6
  @attributes = {}
@@ -15,15 +12,15 @@ module LanguageServer
15
12
  end
16
13
 
17
14
  #
18
- # A document selector to identify the scope of the registration. If set to null
19
- # the document selector provided on the client side will be used.
15
+ # A document selector to identify the scope of the registration. If set to
16
+ # null the document selector provided on the client side will be used.
20
17
  #
21
- # @return [DocumentSelector | null]
18
+ # @return [DocumentSelector]
22
19
  def document_selector
23
20
  attributes.fetch(:documentSelector)
24
21
  end
25
22
 
26
- # @return [boolean | nil]
23
+ # @return [boolean]
27
24
  def work_done_progress
28
25
  attributes.fetch(:workDoneProgress)
29
26
  end
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # General parameters to to register for an notification or to register a provider.
5
+ # General parameters to register for a capability.
6
6
  #
7
7
  class Registration
8
8
  def initialize(id:, method:, register_options: nil)
@@ -35,7 +35,7 @@ module LanguageServer
35
35
  #
36
36
  # Options necessary for the registration.
37
37
  #
38
- # @return [LSPAny | nil]
38
+ # @return [LSPAny]
39
39
  def register_options
40
40
  attributes.fetch(:registerOptions)
41
41
  end
@@ -4,8 +4,6 @@ module LanguageServer
4
4
  #
5
5
  # Client capabilities specific to regular expressions.
6
6
  #
7
- # @since 3.16.0
8
- #
9
7
  class RegularExpressionsClientCapabilities
10
8
  def initialize(engine:, version: nil)
11
9
  @attributes = {}
@@ -27,7 +25,7 @@ module LanguageServer
27
25
  #
28
26
  # The engine's version.
29
27
  #
30
- # @return [string | nil]
28
+ # @return [string]
31
29
  def version
32
30
  attributes.fetch(:version)
33
31
  end
@@ -4,38 +4,22 @@ module LanguageServer
4
4
  #
5
5
  # A full diagnostic report with a set of related documents.
6
6
  #
7
- # @since 3.17.0
8
- #
9
7
  class RelatedFullDocumentDiagnosticReport
10
- def initialize(related_documents: nil, kind:, result_id: nil, items:)
8
+ def initialize(kind:, result_id: nil, items:, related_documents: nil)
11
9
  @attributes = {}
12
10
 
13
- @attributes[:relatedDocuments] = related_documents if related_documents
14
11
  @attributes[:kind] = kind
15
12
  @attributes[:resultId] = result_id if result_id
16
13
  @attributes[:items] = items
14
+ @attributes[:relatedDocuments] = related_documents if related_documents
17
15
 
18
16
  @attributes.freeze
19
17
  end
20
18
 
21
- #
22
- # Diagnostics of related documents. This information is useful
23
- # in programming languages where code in a file A can generate
24
- # diagnostics in a file B which A depends on. An example of
25
- # such a language is C/C++ where marco definitions in a file
26
- # a.cpp and result in errors in a header file b.hpp.
27
- #
28
- # @since 3.17.0
29
- #
30
- # @return [DocumentUri => FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport | nil]
31
- def related_documents
32
- attributes.fetch(:relatedDocuments)
33
- end
34
-
35
19
  #
36
20
  # A full document diagnostic report.
37
21
  #
38
- # @return ["full"]
22
+ # @return [any]
39
23
  def kind
40
24
  attributes.fetch(:kind)
41
25
  end
@@ -45,7 +29,7 @@ module LanguageServer
45
29
  # be sent on the next diagnostic request for the
46
30
  # same document.
47
31
  #
48
- # @return [string | nil]
32
+ # @return [string]
49
33
  def result_id
50
34
  attributes.fetch(:resultId)
51
35
  end
@@ -58,6 +42,18 @@ module LanguageServer
58
42
  attributes.fetch(:items)
59
43
  end
60
44
 
45
+ #
46
+ # Diagnostics of related documents. This information is useful
47
+ # in programming languages where code in a file A can generate
48
+ # diagnostics in a file B which A depends on. An example of
49
+ # such a language is C/C++ where marco definitions in a file
50
+ # a.cpp and result in errors in a header file b.hpp.
51
+ #
52
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
53
+ def related_documents
54
+ attributes.fetch(:relatedDocuments)
55
+ end
56
+
61
57
  attr_reader :attributes
62
58
 
63
59
  def to_hash