language_server-protocol 3.16.0.1 → 3.17.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 (358) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant/code_action_kind.rb +25 -24
  3. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +24 -0
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +4 -2
  5. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -3
  6. data/lib/language_server/protocol/constant/diagnostic_severity.rb +3 -0
  7. data/lib/language_server/protocol/constant/diagnostic_tag.rb +4 -2
  8. data/lib/language_server/protocol/constant/error_codes.rb +19 -14
  9. data/lib/language_server/protocol/constant/failure_handling_kind.rb +9 -10
  10. data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
  11. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +4 -2
  12. data/lib/language_server/protocol/constant/folding_range_kind.rb +23 -0
  13. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +21 -0
  14. data/lib/language_server/protocol/constant/insert_text_format.rb +2 -0
  15. data/lib/language_server/protocol/constant/insert_text_mode.rb +2 -0
  16. data/lib/language_server/protocol/constant/lsp_error_codes.rb +55 -0
  17. data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
  18. data/lib/language_server/protocol/constant/message_type.rb +3 -0
  19. data/lib/language_server/protocol/constant/moniker_kind.rb +26 -0
  20. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +21 -0
  21. data/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
  22. data/lib/language_server/protocol/constant/resource_operation_kind.rb +3 -6
  23. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +25 -0
  24. data/lib/language_server/protocol/constant/semantic_token_types.rb +45 -0
  25. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +3 -2
  26. data/lib/language_server/protocol/constant/symbol_tag.rb +2 -0
  27. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  28. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +3 -3
  29. data/lib/language_server/protocol/constant/token_format.rb +1 -1
  30. data/lib/language_server/protocol/constant/trace_values.rb +20 -0
  31. data/lib/language_server/protocol/constant/uniqueness_level.rb +33 -0
  32. data/lib/language_server/protocol/constant.rb +22 -4
  33. data/lib/language_server/protocol/interface/annotated_text_edit.rb +12 -10
  34. data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +4 -1
  35. data/lib/language_server/protocol/interface/{apply_workspace_edit_response.rb → apply_workspace_edit_result.rb} +11 -7
  36. data/lib/language_server/protocol/interface/base_symbol_information.rb +68 -0
  37. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +7 -5
  38. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +5 -0
  39. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +16 -11
  40. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +14 -10
  41. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +6 -1
  42. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +8 -2
  43. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +16 -11
  44. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +6 -1
  45. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +10 -5
  46. data/lib/language_server/protocol/interface/cancel_params.rb +1 -1
  47. data/lib/language_server/protocol/interface/change_annotation.rb +4 -2
  48. data/lib/language_server/protocol/interface/client_capabilities.rb +22 -6
  49. data/lib/language_server/protocol/interface/code_action.rb +28 -26
  50. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +25 -9
  51. data/lib/language_server/protocol/interface/code_action_context.rb +20 -10
  52. data/lib/language_server/protocol/interface/code_action_options.rb +16 -11
  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 +19 -14
  55. data/lib/language_server/protocol/interface/code_description.rb +3 -1
  56. data/lib/language_server/protocol/interface/code_lens.rb +8 -9
  57. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +4 -1
  58. data/lib/language_server/protocol/interface/code_lens_options.rb +11 -8
  59. data/lib/language_server/protocol/interface/code_lens_params.rb +17 -14
  60. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +14 -11
  61. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +4 -1
  62. data/lib/language_server/protocol/interface/color.rb +4 -4
  63. data/lib/language_server/protocol/interface/color_information.rb +3 -0
  64. data/lib/language_server/protocol/interface/color_presentation.rb +8 -9
  65. data/lib/language_server/protocol/interface/color_presentation_params.rb +24 -21
  66. data/lib/language_server/protocol/interface/command.rb +7 -1
  67. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +33 -5
  68. data/lib/language_server/protocol/interface/completion_context.rb +4 -6
  69. data/lib/language_server/protocol/interface/completion_item.rb +92 -49
  70. data/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
  71. data/lib/language_server/protocol/interface/completion_list.rb +28 -5
  72. data/lib/language_server/protocol/interface/completion_options.rb +36 -25
  73. data/lib/language_server/protocol/interface/completion_params.rb +18 -16
  74. data/lib/language_server/protocol/interface/completion_registration_options.rb +42 -28
  75. data/lib/language_server/protocol/interface/configuration_item.rb +2 -2
  76. data/lib/language_server/protocol/interface/configuration_params.rb +3 -0
  77. data/lib/language_server/protocol/interface/create_file.rb +7 -5
  78. data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
  79. data/lib/language_server/protocol/interface/create_files_params.rb +4 -2
  80. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +8 -5
  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 +7 -2
  85. data/lib/language_server/protocol/interface/definition_options.rb +4 -1
  86. data/lib/language_server/protocol/interface/definition_params.rb +7 -4
  87. data/lib/language_server/protocol/interface/definition_registration_options.rb +7 -4
  88. data/lib/language_server/protocol/interface/delete_file.rb +6 -4
  89. data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
  90. data/lib/language_server/protocol/interface/delete_files_params.rb +4 -2
  91. data/lib/language_server/protocol/interface/diagnostic.rb +25 -14
  92. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
  93. data/lib/language_server/protocol/interface/diagnostic_options.rb +66 -0
  94. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +86 -0
  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 +35 -0
  97. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +44 -0
  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 +4 -1
  100. data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +30 -0
  101. data/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +62 -0
  102. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +12 -11
  103. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +17 -5
  104. data/lib/language_server/protocol/interface/did_change_watched_files_params.rb +3 -0
  105. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  106. data/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +3 -0
  107. data/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +48 -0
  108. data/lib/language_server/protocol/interface/did_close_text_document_params.rb +3 -0
  109. data/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +48 -0
  110. data/lib/language_server/protocol/interface/did_open_text_document_params.rb +3 -0
  111. data/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +38 -0
  112. data/lib/language_server/protocol/interface/did_save_text_document_params.rb +4 -1
  113. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +4 -2
  114. data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
  115. data/lib/language_server/protocol/interface/document_color_params.rb +17 -14
  116. data/lib/language_server/protocol/interface/document_color_registration_options.rb +11 -11
  117. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +75 -0
  118. data/lib/language_server/protocol/interface/document_diagnostic_report.rb +77 -0
  119. data/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +35 -0
  120. data/lib/language_server/protocol/interface/document_filter.rb +25 -19
  121. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +4 -1
  122. data/lib/language_server/protocol/interface/document_formatting_options.rb +4 -1
  123. data/lib/language_server/protocol/interface/document_formatting_params.rb +13 -10
  124. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +7 -4
  125. data/lib/language_server/protocol/interface/document_highlight.rb +2 -2
  126. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +4 -1
  127. data/lib/language_server/protocol/interface/document_highlight_options.rb +4 -1
  128. data/lib/language_server/protocol/interface/document_highlight_params.rb +7 -4
  129. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +7 -4
  130. data/lib/language_server/protocol/interface/document_link.rb +10 -9
  131. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +7 -2
  132. data/lib/language_server/protocol/interface/document_link_options.rb +11 -8
  133. data/lib/language_server/protocol/interface/document_link_params.rb +17 -14
  134. data/lib/language_server/protocol/interface/document_link_registration_options.rb +14 -11
  135. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +4 -1
  136. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +5 -2
  137. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +12 -4
  138. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +8 -5
  139. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +5 -2
  140. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +4 -1
  141. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +13 -10
  142. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +7 -4
  143. data/lib/language_server/protocol/interface/document_symbol.rb +18 -16
  144. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +12 -5
  145. data/lib/language_server/protocol/interface/document_symbol_options.rb +13 -8
  146. data/lib/language_server/protocol/interface/document_symbol_params.rb +17 -14
  147. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +16 -11
  148. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +4 -1
  149. data/lib/language_server/protocol/interface/execute_command_options.rb +10 -7
  150. data/lib/language_server/protocol/interface/execute_command_params.rb +14 -11
  151. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +8 -8
  152. data/lib/language_server/protocol/interface/execution_summary.rb +45 -0
  153. data/lib/language_server/protocol/interface/file_create.rb +2 -0
  154. data/lib/language_server/protocol/interface/file_delete.rb +2 -0
  155. data/lib/language_server/protocol/interface/file_event.rb +3 -3
  156. data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +95 -0
  157. data/lib/language_server/protocol/interface/file_operation_filter.rb +5 -3
  158. data/lib/language_server/protocol/interface/file_operation_options.rb +83 -0
  159. data/lib/language_server/protocol/interface/file_operation_pattern.rb +8 -10
  160. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +3 -1
  161. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +2 -0
  162. data/lib/language_server/protocol/interface/file_rename.rb +2 -0
  163. data/lib/language_server/protocol/interface/file_system_watcher.rb +4 -14
  164. data/lib/language_server/protocol/interface/folding_range.rb +30 -23
  165. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +26 -4
  166. data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
  167. data/lib/language_server/protocol/interface/folding_range_params.rb +17 -14
  168. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +5 -5
  169. data/lib/language_server/protocol/interface/formatting_options.rb +10 -4
  170. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +58 -0
  171. data/lib/language_server/protocol/interface/general_client_capabilities.rb +91 -0
  172. data/lib/language_server/protocol/interface/glob_pattern.rb +48 -0
  173. data/lib/language_server/protocol/interface/hover.rb +3 -3
  174. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +4 -5
  175. data/lib/language_server/protocol/interface/hover_options.rb +4 -1
  176. data/lib/language_server/protocol/interface/hover_params.rb +4 -1
  177. data/lib/language_server/protocol/interface/hover_registration_options.rb +7 -4
  178. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +10 -5
  179. data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
  180. data/lib/language_server/protocol/interface/implementation_params.rb +4 -4
  181. data/lib/language_server/protocol/interface/implementation_registration_options.rb +5 -5
  182. data/lib/language_server/protocol/interface/initialize_error.rb +2 -1
  183. data/lib/language_server/protocol/interface/initialize_params.rb +41 -29
  184. data/lib/language_server/protocol/interface/initialize_result.rb +6 -1
  185. data/lib/language_server/protocol/interface/inlay_hint.rb +118 -0
  186. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +48 -0
  187. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +81 -0
  188. data/lib/language_server/protocol/interface/inlay_hint_options.rb +45 -0
  189. data/lib/language_server/protocol/interface/inlay_hint_params.rb +56 -0
  190. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +65 -0
  191. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +44 -0
  192. data/lib/language_server/protocol/interface/inline_value.rb +78 -0
  193. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +38 -0
  194. data/lib/language_server/protocol/interface/inline_value_context.rb +46 -0
  195. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +50 -0
  196. data/lib/language_server/protocol/interface/inline_value_options.rb +35 -0
  197. data/lib/language_server/protocol/interface/inline_value_params.rb +66 -0
  198. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +55 -0
  199. data/lib/language_server/protocol/interface/inline_value_text.rb +47 -0
  200. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +59 -0
  201. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +44 -0
  202. data/lib/language_server/protocol/interface/insert_replace_edit.rb +2 -0
  203. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +8 -4
  204. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
  205. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
  206. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +5 -5
  207. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +7 -2
  208. data/lib/language_server/protocol/interface/location.rb +5 -1
  209. data/lib/language_server/protocol/interface/location_link.rb +13 -11
  210. data/lib/language_server/protocol/interface/log_message_params.rb +4 -1
  211. data/lib/language_server/protocol/interface/log_trace_params.rb +1 -8
  212. data/lib/language_server/protocol/interface/{message.rb → lsp_object.rb} +6 -8
  213. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +16 -2
  214. data/lib/language_server/protocol/interface/markup_content.rb +16 -18
  215. data/lib/language_server/protocol/interface/moniker.rb +3 -1
  216. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +9 -5
  217. data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
  218. data/lib/language_server/protocol/interface/moniker_params.rb +4 -4
  219. data/lib/language_server/protocol/interface/moniker_registration_options.rb +4 -4
  220. data/lib/language_server/protocol/interface/notebook_cell.rb +73 -0
  221. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +57 -0
  222. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +54 -0
  223. data/lib/language_server/protocol/interface/notebook_document.rb +78 -0
  224. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +49 -0
  225. data/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +40 -0
  226. data/lib/language_server/protocol/interface/notebook_document_filter.rb +58 -0
  227. data/lib/language_server/protocol/interface/notebook_document_identifier.rb +38 -0
  228. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +50 -0
  229. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +58 -0
  230. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +58 -0
  231. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +17 -18
  232. data/lib/language_server/protocol/interface/parameter_information.rb +7 -9
  233. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  234. data/lib/language_server/protocol/interface/position.rb +40 -7
  235. data/lib/language_server/protocol/interface/prepare_rename_params.rb +10 -1
  236. data/lib/language_server/protocol/interface/prepare_rename_result.rb +60 -0
  237. data/lib/language_server/protocol/interface/previous_result_id.rb +48 -0
  238. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  239. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +16 -5
  240. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +8 -4
  241. data/lib/language_server/protocol/interface/range.rb +13 -0
  242. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +4 -1
  243. data/lib/language_server/protocol/interface/reference_context.rb +4 -0
  244. data/lib/language_server/protocol/interface/reference_options.rb +4 -1
  245. data/lib/language_server/protocol/interface/reference_params.rb +14 -11
  246. data/lib/language_server/protocol/interface/reference_registration_options.rb +7 -4
  247. data/lib/language_server/protocol/interface/registration.rb +2 -2
  248. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +3 -1
  249. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +73 -0
  250. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +66 -0
  251. data/lib/language_server/protocol/interface/relative_pattern.rb +50 -0
  252. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +12 -7
  253. data/lib/language_server/protocol/interface/rename_file.rb +7 -5
  254. data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
  255. data/lib/language_server/protocol/interface/rename_files_params.rb +6 -4
  256. data/lib/language_server/protocol/interface/rename_options.rb +13 -8
  257. data/lib/language_server/protocol/interface/rename_params.rb +15 -12
  258. data/lib/language_server/protocol/interface/rename_registration_options.rb +16 -11
  259. data/lib/language_server/protocol/interface/resource_operation.rb +47 -0
  260. data/lib/language_server/protocol/interface/save_options.rb +4 -1
  261. data/lib/language_server/protocol/interface/selection_range.rb +6 -3
  262. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -5
  263. data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
  264. data/lib/language_server/protocol/interface/selection_range_params.rb +23 -20
  265. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +5 -5
  266. data/lib/language_server/protocol/interface/semantic_tokens.rb +5 -2
  267. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +45 -11
  268. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +5 -3
  269. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +24 -21
  270. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +3 -0
  271. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +6 -3
  272. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +3 -0
  273. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +12 -9
  274. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +17 -14
  275. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +4 -1
  276. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +23 -20
  277. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +16 -13
  278. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +5 -2
  279. data/lib/language_server/protocol/interface/server_capabilities.rb +139 -56
  280. data/lib/language_server/protocol/interface/set_trace_params.rb +1 -4
  281. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +4 -2
  282. data/lib/language_server/protocol/interface/show_document_params.rb +6 -4
  283. data/lib/language_server/protocol/interface/show_document_result.rb +3 -1
  284. data/lib/language_server/protocol/interface/show_message_params.rb +4 -1
  285. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +1 -1
  286. data/lib/language_server/protocol/interface/show_message_request_params.rb +2 -2
  287. data/lib/language_server/protocol/interface/signature_help.rb +3 -4
  288. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +8 -3
  289. data/lib/language_server/protocol/interface/signature_help_context.rb +10 -11
  290. data/lib/language_server/protocol/interface/signature_help_options.rb +17 -14
  291. data/lib/language_server/protocol/interface/signature_help_params.rb +17 -13
  292. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +20 -17
  293. data/lib/language_server/protocol/interface/signature_information.rb +5 -3
  294. data/lib/language_server/protocol/interface/static_registration_options.rb +3 -2
  295. data/lib/language_server/protocol/interface/symbol_information.rb +34 -30
  296. data/lib/language_server/protocol/interface/t.rb +24 -0
  297. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +12 -13
  298. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +108 -43
  299. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +8 -10
  300. data/lib/language_server/protocol/interface/text_document_edit.rb +10 -1
  301. data/lib/language_server/protocol/interface/text_document_filter.rb +69 -0
  302. data/lib/language_server/protocol/interface/text_document_identifier.rb +5 -2
  303. data/lib/language_server/protocol/interface/text_document_item.rb +7 -3
  304. data/lib/language_server/protocol/interface/text_document_position_params.rb +4 -0
  305. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  306. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +7 -4
  307. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
  308. data/lib/language_server/protocol/interface/text_document_sync_options.rb +15 -17
  309. data/lib/language_server/protocol/interface/text_edit.rb +3 -0
  310. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +10 -5
  311. data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
  312. data/lib/language_server/protocol/interface/type_definition_params.rb +4 -4
  313. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +5 -5
  314. data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +38 -0
  315. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +105 -0
  316. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +35 -0
  317. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +56 -0
  318. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +55 -0
  319. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +54 -0
  320. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +54 -0
  321. data/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +52 -0
  322. data/lib/language_server/protocol/interface/unregistration.rb +2 -2
  323. data/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +47 -0
  324. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +13 -13
  325. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  326. data/lib/language_server/protocol/interface/window_client_capabilities.rb +63 -0
  327. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +6 -6
  328. data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
  329. data/lib/language_server/protocol/interface/work_done_progress_options.rb +1 -1
  330. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  331. data/lib/language_server/protocol/interface/work_done_progress_report.rb +6 -7
  332. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +176 -0
  333. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +67 -0
  334. data/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +35 -0
  335. data/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +35 -0
  336. data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +77 -0
  337. data/lib/language_server/protocol/interface/workspace_edit.rb +28 -17
  338. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +15 -6
  339. data/lib/language_server/protocol/interface/workspace_folder.rb +4 -1
  340. data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +39 -0
  341. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +3 -3
  342. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +77 -0
  343. data/lib/language_server/protocol/interface/workspace_symbol.rb +95 -0
  344. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +23 -6
  345. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +17 -2
  346. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +16 -16
  347. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +17 -2
  348. data/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +70 -0
  349. data/lib/language_server/protocol/interface.rb +156 -14
  350. data/lib/language_server/protocol/transport/io/reader.rb +8 -24
  351. data/lib/language_server/protocol/transport/io/writer.rb +1 -0
  352. data/lib/language_server/protocol/version.rb +1 -1
  353. metadata +92 -24
  354. data/lib/language_server/protocol/constant/initialize_error.rb +0 -16
  355. data/lib/language_server/protocol/interface/notification_message.rb +0 -48
  356. data/lib/language_server/protocol/interface/request_message.rb +0 -57
  357. data/lib/language_server/protocol/interface/response_error.rb +0 -52
  358. data/lib/language_server/protocol/interface/response_message.rb +0 -58
@@ -14,7 +14,7 @@ module LanguageServer
14
14
  #
15
15
  # The scope to get the configuration section for.
16
16
  #
17
- # @return [string]
17
+ # @return [string | nil]
18
18
  def scope_uri
19
19
  attributes.fetch(:scopeUri)
20
20
  end
@@ -22,7 +22,7 @@ module LanguageServer
22
22
  #
23
23
  # The configuration section asked for.
24
24
  #
25
- # @return [string]
25
+ # @return [string | nil]
26
26
  def section
27
27
  attributes.fetch(:section)
28
28
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # The parameters of a configuration request.
6
+ #
4
7
  class ConfigurationParams
5
8
  def initialize(items:)
6
9
  @attributes = {}
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Create file operation
5
+ # Create file operation.
6
6
  #
7
7
  class CreateFile
8
8
  def initialize(kind:, uri:, options: nil, annotation_id: nil)
@@ -27,7 +27,7 @@ module LanguageServer
27
27
  #
28
28
  # The resource to create.
29
29
  #
30
- # @return [string]
30
+ # @return [DocumentUri]
31
31
  def uri
32
32
  attributes.fetch(:uri)
33
33
  end
@@ -35,15 +35,17 @@ module LanguageServer
35
35
  #
36
36
  # Additional options
37
37
  #
38
- # @return [CreateFileOptions]
38
+ # @return [CreateFileOptions | nil]
39
39
  def options
40
40
  attributes.fetch(:options)
41
41
  end
42
42
 
43
43
  #
44
- # An optional annotation identifer describing the operation.
44
+ # An optional annotation identifier describing the operation.
45
45
  #
46
- # @return [string]
46
+ # @since 3.16.0
47
+ #
48
+ # @return [ChangeAnnotationIdentifier | nil]
47
49
  def annotation_id
48
50
  attributes.fetch(:annotationId)
49
51
  end
@@ -17,7 +17,7 @@ module LanguageServer
17
17
  #
18
18
  # Overwrite existing file. Overwrite wins over `ignoreIfExists`
19
19
  #
20
- # @return [boolean]
20
+ # @return [boolean | nil]
21
21
  def overwrite
22
22
  attributes.fetch(:overwrite)
23
23
  end
@@ -25,7 +25,7 @@ module LanguageServer
25
25
  #
26
26
  # Ignore if exists.
27
27
  #
28
- # @return [boolean]
28
+ # @return [boolean | nil]
29
29
  def ignore_if_exists
30
30
  attributes.fetch(:ignoreIfExists)
31
31
  end
@@ -2,8 +2,10 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # The parameters sent in notifications/requests for user-initiated creation
6
- # of files.
5
+ # The parameters sent in notifications/requests for user-initiated creation of
6
+ # files.
7
+ #
8
+ # @since 3.16.0
7
9
  #
8
10
  class CreateFilesParams
9
11
  def initialize(files:)
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # @since 3.14.0
6
+ #
4
7
  class DeclarationClientCapabilities
5
8
  def initialize(dynamic_registration: nil, link_support: nil)
6
9
  @attributes = {}
@@ -12,11 +15,11 @@ module LanguageServer
12
15
  end
13
16
 
14
17
  #
15
- # Whether declaration supports dynamic registration. If this is set to
16
- # `true` the client supports the new `DeclarationRegistrationOptions`
17
- # return value for the corresponding server capability as well.
18
+ # Whether declaration supports dynamic registration. If this is set to `true`
19
+ # the client supports the new `DeclarationRegistrationOptions` return value
20
+ # for the corresponding server capability as well.
18
21
  #
19
- # @return [boolean]
22
+ # @return [boolean | nil]
20
23
  def dynamic_registration
21
24
  attributes.fetch(:dynamicRegistration)
22
25
  end
@@ -24,7 +27,7 @@ module LanguageServer
24
27
  #
25
28
  # The client supports additional metadata in the form of declaration links.
26
29
  #
27
- # @return [boolean]
30
+ # @return [boolean | nil]
28
31
  def link_support
29
32
  attributes.fetch(:linkSupport)
30
33
  end
@@ -10,7 +10,7 @@ module LanguageServer
10
10
  @attributes.freeze
11
11
  end
12
12
 
13
- # @return [boolean]
13
+ # @return [boolean | nil]
14
14
  def work_done_progress
15
15
  attributes.fetch(:workDoneProgress)
16
16
  end
@@ -32,16 +32,16 @@ module LanguageServer
32
32
  #
33
33
  # An optional token that a server can use to report work done progress.
34
34
  #
35
- # @return [ProgressToken]
35
+ # @return [ProgressToken | nil]
36
36
  def work_done_token
37
37
  attributes.fetch(:workDoneToken)
38
38
  end
39
39
 
40
40
  #
41
- # An optional token that a server can use to report partial results (e.g.
42
- # streaming) to the client.
41
+ # An optional token that a server can use to report partial results (e.g. streaming) to
42
+ # the client.
43
43
  #
44
- # @return [ProgressToken]
44
+ # @return [ProgressToken | nil]
45
45
  def partial_result_token
46
46
  attributes.fetch(:partialResultToken)
47
47
  end
@@ -12,16 +12,16 @@ module LanguageServer
12
12
  @attributes.freeze
13
13
  end
14
14
 
15
- # @return [boolean]
15
+ # @return [boolean | nil]
16
16
  def work_done_progress
17
17
  attributes.fetch(:workDoneProgress)
18
18
  end
19
19
 
20
20
  #
21
- # A document selector to identify the scope of the registration. If set to
22
- # null the document selector provided on the client side will be used.
21
+ # A document selector to identify the scope of the registration. If set to null
22
+ # the document selector provided on the client side will be used.
23
23
  #
24
- # @return [DocumentSelector]
24
+ # @return [DocumentSelector | null]
25
25
  def document_selector
26
26
  attributes.fetch(:documentSelector)
27
27
  end
@@ -30,7 +30,7 @@ module LanguageServer
30
30
  # The id used to register the request. The id can be used to deregister
31
31
  # the request again. See also Registration#id.
32
32
  #
33
- # @return [string]
33
+ # @return [string | nil]
34
34
  def id
35
35
  attributes.fetch(:id)
36
36
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Client Capabilities for a [DefinitionRequest](#DefinitionRequest).
6
+ #
4
7
  class DefinitionClientCapabilities
5
8
  def initialize(dynamic_registration: nil, link_support: nil)
6
9
  @attributes = {}
@@ -14,7 +17,7 @@ module LanguageServer
14
17
  #
15
18
  # Whether definition supports dynamic registration.
16
19
  #
17
- # @return [boolean]
20
+ # @return [boolean | nil]
18
21
  def dynamic_registration
19
22
  attributes.fetch(:dynamicRegistration)
20
23
  end
@@ -22,7 +25,9 @@ module LanguageServer
22
25
  #
23
26
  # The client supports additional metadata in the form of definition links.
24
27
  #
25
- # @return [boolean]
28
+ # @since 3.14.0
29
+ #
30
+ # @return [boolean | nil]
26
31
  def link_support
27
32
  attributes.fetch(:linkSupport)
28
33
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Server Capabilities for a [DefinitionRequest](#DefinitionRequest).
6
+ #
4
7
  class DefinitionOptions
5
8
  def initialize(work_done_progress: nil)
6
9
  @attributes = {}
@@ -10,7 +13,7 @@ module LanguageServer
10
13
  @attributes.freeze
11
14
  end
12
15
 
13
- # @return [boolean]
16
+ # @return [boolean | nil]
14
17
  def work_done_progress
15
18
  attributes.fetch(:workDoneProgress)
16
19
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Parameters for a [DefinitionRequest](#DefinitionRequest).
6
+ #
4
7
  class DefinitionParams
5
8
  def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil)
6
9
  @attributes = {}
@@ -32,16 +35,16 @@ module LanguageServer
32
35
  #
33
36
  # An optional token that a server can use to report work done progress.
34
37
  #
35
- # @return [ProgressToken]
38
+ # @return [ProgressToken | nil]
36
39
  def work_done_token
37
40
  attributes.fetch(:workDoneToken)
38
41
  end
39
42
 
40
43
  #
41
- # An optional token that a server can use to report partial results (e.g.
42
- # streaming) to the client.
44
+ # An optional token that a server can use to report partial results (e.g. streaming) to
45
+ # the client.
43
46
  #
44
- # @return [ProgressToken]
47
+ # @return [ProgressToken | nil]
45
48
  def partial_result_token
46
49
  attributes.fetch(:partialResultToken)
47
50
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Registration options for a [DefinitionRequest](#DefinitionRequest).
6
+ #
4
7
  class DefinitionRegistrationOptions
5
8
  def initialize(document_selector:, work_done_progress: nil)
6
9
  @attributes = {}
@@ -12,15 +15,15 @@ module LanguageServer
12
15
  end
13
16
 
14
17
  #
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.
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.
17
20
  #
18
- # @return [DocumentSelector]
21
+ # @return [DocumentSelector | null]
19
22
  def document_selector
20
23
  attributes.fetch(:documentSelector)
21
24
  end
22
25
 
23
- # @return [boolean]
26
+ # @return [boolean | nil]
24
27
  def work_done_progress
25
28
  attributes.fetch(:workDoneProgress)
26
29
  end
@@ -27,7 +27,7 @@ module LanguageServer
27
27
  #
28
28
  # The file to delete.
29
29
  #
30
- # @return [string]
30
+ # @return [DocumentUri]
31
31
  def uri
32
32
  attributes.fetch(:uri)
33
33
  end
@@ -35,15 +35,17 @@ module LanguageServer
35
35
  #
36
36
  # Delete options.
37
37
  #
38
- # @return [DeleteFileOptions]
38
+ # @return [DeleteFileOptions | nil]
39
39
  def options
40
40
  attributes.fetch(:options)
41
41
  end
42
42
 
43
43
  #
44
- # An optional annotation identifer describing the operation.
44
+ # An optional annotation identifier describing the operation.
45
45
  #
46
- # @return [string]
46
+ # @since 3.16.0
47
+ #
48
+ # @return [ChangeAnnotationIdentifier | nil]
47
49
  def annotation_id
48
50
  attributes.fetch(:annotationId)
49
51
  end
@@ -17,7 +17,7 @@ module LanguageServer
17
17
  #
18
18
  # Delete the content recursively if a folder is denoted.
19
19
  #
20
- # @return [boolean]
20
+ # @return [boolean | nil]
21
21
  def recursive
22
22
  attributes.fetch(:recursive)
23
23
  end
@@ -25,7 +25,7 @@ module LanguageServer
25
25
  #
26
26
  # Ignore the operation if the file doesn't exist.
27
27
  #
28
- # @return [boolean]
28
+ # @return [boolean | nil]
29
29
  def ignore_if_not_exists
30
30
  attributes.fetch(:ignoreIfNotExists)
31
31
  end
@@ -2,8 +2,10 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # The parameters sent in notifications/requests for user-initiated deletes
6
- # of files.
5
+ # The parameters sent in notifications/requests for user-initiated deletes of
6
+ # files.
7
+ #
8
+ # @since 3.16.0
7
9
  #
8
10
  class DeleteFilesParams
9
11
  def initialize(files:)
@@ -1,6 +1,10 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Represents a diagnostic, such as a compiler error or warning. Diagnostic objects
6
+ # are only valid in the scope of a resource.
7
+ #
4
8
  class Diagnostic
5
9
  def initialize(range:, severity: nil, code: nil, code_description: nil, source: nil, message:, tags: nil, related_information: nil, data: nil)
6
10
  @attributes = {}
@@ -19,7 +23,7 @@ module LanguageServer
19
23
  end
20
24
 
21
25
  #
22
- # The range at which the message applies.
26
+ # The range at which the message applies
23
27
  #
24
28
  # @return [Range]
25
29
  def range
@@ -30,38 +34,42 @@ module LanguageServer
30
34
  # The diagnostic's severity. Can be omitted. If omitted it is up to the
31
35
  # client to interpret diagnostics as error, warning, info or hint.
32
36
  #
33
- # @return [DiagnosticSeverity]
37
+ # @return [DiagnosticSeverity | nil]
34
38
  def severity
35
39
  attributes.fetch(:severity)
36
40
  end
37
41
 
38
42
  #
39
- # The diagnostic's code, which might appear in the user interface.
43
+ # The diagnostic's code, which usually appear in the user interface.
40
44
  #
41
- # @return [string | number]
45
+ # @return [integer | string | nil]
42
46
  def code
43
47
  attributes.fetch(:code)
44
48
  end
45
49
 
46
50
  #
47
51
  # An optional property to describe the error code.
52
+ # Requires the code field (above) to be present/not null.
48
53
  #
49
- # @return [CodeDescription]
54
+ # @since 3.16.0
55
+ #
56
+ # @return [CodeDescription | nil]
50
57
  def code_description
51
58
  attributes.fetch(:codeDescription)
52
59
  end
53
60
 
54
61
  #
55
62
  # A human-readable string describing the source of this
56
- # diagnostic, e.g. 'typescript' or 'super lint'.
63
+ # diagnostic, e.g. 'typescript' or 'super lint'. It usually
64
+ # appears in the user interface.
57
65
  #
58
- # @return [string]
66
+ # @return [string | nil]
59
67
  def source
60
68
  attributes.fetch(:source)
61
69
  end
62
70
 
63
71
  #
64
- # The diagnostic's message.
72
+ # The diagnostic's message. It usually appears in the user interface
65
73
  #
66
74
  # @return [string]
67
75
  def message
@@ -71,7 +79,9 @@ module LanguageServer
71
79
  #
72
80
  # Additional metadata about the diagnostic.
73
81
  #
74
- # @return [DiagnosticTag[]]
82
+ # @since 3.15.0
83
+ #
84
+ # @return [DiagnosticTag[] | nil]
75
85
  def tags
76
86
  attributes.fetch(:tags)
77
87
  end
@@ -80,17 +90,18 @@ module LanguageServer
80
90
  # An array of related diagnostic information, e.g. when symbol-names within
81
91
  # a scope collide all definitions can be marked via this property.
82
92
  #
83
- # @return [DiagnosticRelatedInformation[]]
93
+ # @return [DiagnosticRelatedInformation[] | nil]
84
94
  def related_information
85
95
  attributes.fetch(:relatedInformation)
86
96
  end
87
97
 
88
98
  #
89
- # A data entry field that is preserved between a
90
- # `textDocument/publishDiagnostics` notification and
91
- # `textDocument/codeAction` request.
99
+ # A data entry field that is preserved between a `textDocument/publishDiagnostics`
100
+ # notification and `textDocument/codeAction` request.
101
+ #
102
+ # @since 3.16.0
92
103
  #
93
- # @return [unknown]
104
+ # @return [LSPAny | nil]
94
105
  def data
95
106
  attributes.fetch(:data)
96
107
  end
@@ -0,0 +1,49 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Client capabilities specific to diagnostic pull requests.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class DiagnosticClientCapabilities
10
+ def initialize(dynamic_registration: nil, related_document_support: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
14
+ @attributes[:relatedDocumentSupport] = related_document_support if related_document_support
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # Whether implementation supports dynamic registration. If this is set to `true`
21
+ # the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
22
+ # return value for the corresponding server capability as well.
23
+ #
24
+ # @return [boolean | nil]
25
+ def dynamic_registration
26
+ attributes.fetch(:dynamicRegistration)
27
+ end
28
+
29
+ #
30
+ # Whether the clients supports related documents for document diagnostic pulls.
31
+ #
32
+ # @return [boolean | nil]
33
+ def related_document_support
34
+ attributes.fetch(:relatedDocumentSupport)
35
+ end
36
+
37
+ attr_reader :attributes
38
+
39
+ def to_hash
40
+ attributes
41
+ end
42
+
43
+ def to_json(*args)
44
+ to_hash.to_json(*args)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,66 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Diagnostic options.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class DiagnosticOptions
10
+ def initialize(identifier: nil, inter_file_dependencies:, workspace_diagnostics:, work_done_progress: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:identifier] = identifier if identifier
14
+ @attributes[:interFileDependencies] = inter_file_dependencies
15
+ @attributes[:workspaceDiagnostics] = workspace_diagnostics
16
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
17
+
18
+ @attributes.freeze
19
+ end
20
+
21
+ #
22
+ # An optional identifier under which the diagnostics are
23
+ # managed by the client.
24
+ #
25
+ # @return [string | nil]
26
+ def identifier
27
+ attributes.fetch(:identifier)
28
+ end
29
+
30
+ #
31
+ # Whether the language has inter file dependencies meaning that
32
+ # editing code in one file can result in a different diagnostic
33
+ # set in another file. Inter file dependencies are common for
34
+ # most programming languages and typically uncommon for linters.
35
+ #
36
+ # @return [boolean]
37
+ def inter_file_dependencies
38
+ attributes.fetch(:interFileDependencies)
39
+ end
40
+
41
+ #
42
+ # The server provides support for workspace diagnostics as well.
43
+ #
44
+ # @return [boolean]
45
+ def workspace_diagnostics
46
+ attributes.fetch(:workspaceDiagnostics)
47
+ end
48
+
49
+ # @return [boolean | nil]
50
+ def work_done_progress
51
+ attributes.fetch(:workDoneProgress)
52
+ end
53
+
54
+ attr_reader :attributes
55
+
56
+ def to_hash
57
+ attributes
58
+ end
59
+
60
+ def to_json(*args)
61
+ to_hash.to_json(*args)
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,86 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Diagnostic registration options.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class DiagnosticRegistrationOptions
10
+ def initialize(document_selector:, identifier: nil, inter_file_dependencies:, workspace_diagnostics:, work_done_progress: nil, id: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:documentSelector] = document_selector
14
+ @attributes[:identifier] = identifier if identifier
15
+ @attributes[:interFileDependencies] = inter_file_dependencies
16
+ @attributes[:workspaceDiagnostics] = workspace_diagnostics
17
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
18
+ @attributes[:id] = id if id
19
+
20
+ @attributes.freeze
21
+ end
22
+
23
+ #
24
+ # A document selector to identify the scope of the registration. If set to null
25
+ # the document selector provided on the client side will be used.
26
+ #
27
+ # @return [DocumentSelector | null]
28
+ def document_selector
29
+ attributes.fetch(:documentSelector)
30
+ end
31
+
32
+ #
33
+ # An optional identifier under which the diagnostics are
34
+ # managed by the client.
35
+ #
36
+ # @return [string | nil]
37
+ def identifier
38
+ attributes.fetch(:identifier)
39
+ end
40
+
41
+ #
42
+ # Whether the language has inter file dependencies meaning that
43
+ # editing code in one file can result in a different diagnostic
44
+ # set in another file. Inter file dependencies are common for
45
+ # most programming languages and typically uncommon for linters.
46
+ #
47
+ # @return [boolean]
48
+ def inter_file_dependencies
49
+ attributes.fetch(:interFileDependencies)
50
+ end
51
+
52
+ #
53
+ # The server provides support for workspace diagnostics as well.
54
+ #
55
+ # @return [boolean]
56
+ def workspace_diagnostics
57
+ attributes.fetch(:workspaceDiagnostics)
58
+ end
59
+
60
+ # @return [boolean | nil]
61
+ def work_done_progress
62
+ attributes.fetch(:workDoneProgress)
63
+ end
64
+
65
+ #
66
+ # The id used to register the request. The id can be used to deregister
67
+ # the request again. See also Registration#id.
68
+ #
69
+ # @return [string | nil]
70
+ def id
71
+ attributes.fetch(:id)
72
+ end
73
+
74
+ attr_reader :attributes
75
+
76
+ def to_hash
77
+ attributes
78
+ end
79
+
80
+ def to_json(*args)
81
+ to_hash.to_json(*args)
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end