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
@@ -1,19 +1,27 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Parameters for a [ReferencesRequest](#ReferencesRequest).
6
+ #
4
7
  class ReferenceParams
5
- def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil, context:)
8
+ def initialize(context:, text_document:, position:, work_done_token: nil, partial_result_token: nil)
6
9
  @attributes = {}
7
10
 
11
+ @attributes[:context] = context
8
12
  @attributes[:textDocument] = text_document
9
13
  @attributes[:position] = position
10
14
  @attributes[:workDoneToken] = work_done_token if work_done_token
11
15
  @attributes[:partialResultToken] = partial_result_token if partial_result_token
12
- @attributes[:context] = context
13
16
 
14
17
  @attributes.freeze
15
18
  end
16
19
 
20
+ # @return [ReferenceContext]
21
+ def context
22
+ attributes.fetch(:context)
23
+ end
24
+
17
25
  #
18
26
  # The text document.
19
27
  #
@@ -33,25 +41,20 @@ module LanguageServer
33
41
  #
34
42
  # An optional token that a server can use to report work done progress.
35
43
  #
36
- # @return [ProgressToken]
44
+ # @return [ProgressToken | nil]
37
45
  def work_done_token
38
46
  attributes.fetch(:workDoneToken)
39
47
  end
40
48
 
41
49
  #
42
- # An optional token that a server can use to report partial results (e.g.
43
- # streaming) to the client.
50
+ # An optional token that a server can use to report partial results (e.g. streaming) to
51
+ # the client.
44
52
  #
45
- # @return [ProgressToken]
53
+ # @return [ProgressToken | nil]
46
54
  def partial_result_token
47
55
  attributes.fetch(:partialResultToken)
48
56
  end
49
57
 
50
- # @return [ReferenceContext]
51
- def context
52
- attributes.fetch(:context)
53
- end
54
-
55
58
  attr_reader :attributes
56
59
 
57
60
  def to_hash
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Registration options for a [ReferencesRequest](#ReferencesRequest).
6
+ #
4
7
  class ReferenceRegistrationOptions
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
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # General parameters to register for a capability.
5
+ # General parameters to to register for an notification or to register a provider.
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 [any]
38
+ # @return [LSPAny | nil]
39
39
  def register_options
40
40
  attributes.fetch(:registerOptions)
41
41
  end
@@ -4,6 +4,8 @@ module LanguageServer
4
4
  #
5
5
  # Client capabilities specific to regular expressions.
6
6
  #
7
+ # @since 3.16.0
8
+ #
7
9
  class RegularExpressionsClientCapabilities
8
10
  def initialize(engine:, version: nil)
9
11
  @attributes = {}
@@ -25,7 +27,7 @@ module LanguageServer
25
27
  #
26
28
  # The engine's version.
27
29
  #
28
- # @return [string]
30
+ # @return [string | nil]
29
31
  def version
30
32
  attributes.fetch(:version)
31
33
  end
@@ -0,0 +1,73 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A full diagnostic report with a set of related documents.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class RelatedFullDocumentDiagnosticReport
10
+ def initialize(related_documents: nil, kind:, result_id: nil, items:)
11
+ @attributes = {}
12
+
13
+ @attributes[:relatedDocuments] = related_documents if related_documents
14
+ @attributes[:kind] = kind
15
+ @attributes[:resultId] = result_id if result_id
16
+ @attributes[:items] = items
17
+
18
+ @attributes.freeze
19
+ end
20
+
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
+ #
36
+ # A full document diagnostic report.
37
+ #
38
+ # @return ["full"]
39
+ def kind
40
+ attributes.fetch(:kind)
41
+ end
42
+
43
+ #
44
+ # An optional result id. If provided it will
45
+ # be sent on the next diagnostic request for the
46
+ # same document.
47
+ #
48
+ # @return [string | nil]
49
+ def result_id
50
+ attributes.fetch(:resultId)
51
+ end
52
+
53
+ #
54
+ # The actual items.
55
+ #
56
+ # @return [Diagnostic[]]
57
+ def items
58
+ attributes.fetch(:items)
59
+ end
60
+
61
+ attr_reader :attributes
62
+
63
+ def to_hash
64
+ attributes
65
+ end
66
+
67
+ def to_json(*args)
68
+ to_hash.to_json(*args)
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,66 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # An unchanged diagnostic report with a set of related documents.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class RelatedUnchangedDocumentDiagnosticReport
10
+ def initialize(related_documents: nil, kind:, result_id:)
11
+ @attributes = {}
12
+
13
+ @attributes[:relatedDocuments] = related_documents if related_documents
14
+ @attributes[:kind] = kind
15
+ @attributes[:resultId] = result_id
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # Diagnostics of related documents. This information is useful
22
+ # in programming languages where code in a file A can generate
23
+ # diagnostics in a file B which A depends on. An example of
24
+ # such a language is C/C++ where marco definitions in a file
25
+ # a.cpp and result in errors in a header file b.hpp.
26
+ #
27
+ # @since 3.17.0
28
+ #
29
+ # @return [DocumentUri => FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport | nil]
30
+ def related_documents
31
+ attributes.fetch(:relatedDocuments)
32
+ end
33
+
34
+ #
35
+ # A document diagnostic report indicating
36
+ # no changes to the last result. A server can
37
+ # only return `unchanged` if result ids are
38
+ # provided.
39
+ #
40
+ # @return ["unchanged"]
41
+ def kind
42
+ attributes.fetch(:kind)
43
+ end
44
+
45
+ #
46
+ # A result id which will be sent on the next
47
+ # diagnostic request for the same document.
48
+ #
49
+ # @return [string]
50
+ def result_id
51
+ attributes.fetch(:resultId)
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,50 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A relative pattern is a helper to construct glob patterns that are matched
6
+ # relatively to a base URI. The common value for a `baseUri` is a workspace
7
+ # folder root, but it can be another absolute URI as well.
8
+ #
9
+ # @since 3.17.0
10
+ #
11
+ class RelativePattern
12
+ def initialize(base_uri:, pattern:)
13
+ @attributes = {}
14
+
15
+ @attributes[:baseUri] = base_uri
16
+ @attributes[:pattern] = pattern
17
+
18
+ @attributes.freeze
19
+ end
20
+
21
+ #
22
+ # A workspace folder or a base URI to which this pattern will be matched
23
+ # against relatively.
24
+ #
25
+ # @return [WorkspaceFolder | URI]
26
+ def base_uri
27
+ attributes.fetch(:baseUri)
28
+ end
29
+
30
+ #
31
+ # The actual glob pattern;
32
+ #
33
+ # @return [Pattern]
34
+ def pattern
35
+ attributes.fetch(:pattern)
36
+ end
37
+
38
+ attr_reader :attributes
39
+
40
+ def to_hash
41
+ attributes
42
+ end
43
+
44
+ def to_json(*args)
45
+ to_hash.to_json(*args)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -16,7 +16,7 @@ module LanguageServer
16
16
  #
17
17
  # Whether rename supports dynamic registration.
18
18
  #
19
- # @return [boolean]
19
+ # @return [boolean | nil]
20
20
  def dynamic_registration
21
21
  attributes.fetch(:dynamicRegistration)
22
22
  end
@@ -25,31 +25,36 @@ module LanguageServer
25
25
  # Client supports testing for validity of rename operations
26
26
  # before execution.
27
27
  #
28
- # @return [boolean]
28
+ # @since 3.12.0
29
+ #
30
+ # @return [boolean | nil]
29
31
  def prepare_support
30
32
  attributes.fetch(:prepareSupport)
31
33
  end
32
34
 
33
35
  #
34
- # Client supports the default behavior result
35
- # (`{ defaultBehavior: boolean }`).
36
+ # Client supports the default behavior result.
36
37
  #
37
38
  # The value indicates the default behavior used by the
38
39
  # client.
39
40
  #
40
- # @return [any]
41
+ # @since 3.16.0
42
+ #
43
+ # @return [PrepareSupportDefaultBehavior | nil]
41
44
  def prepare_support_default_behavior
42
45
  attributes.fetch(:prepareSupportDefaultBehavior)
43
46
  end
44
47
 
45
48
  #
46
- # Whether th client honors the change annotations in
49
+ # Whether the client honors the change annotations in
47
50
  # text edits and resource operations returned via the
48
51
  # rename request's workspace edit by for example presenting
49
52
  # the workspace edit in the user interface and asking
50
53
  # for confirmation.
51
54
  #
52
- # @return [boolean]
55
+ # @since 3.16.0
56
+ #
57
+ # @return [boolean | nil]
53
58
  def honors_change_annotations
54
59
  attributes.fetch(:honorsChangeAnnotations)
55
60
  end
@@ -28,7 +28,7 @@ module LanguageServer
28
28
  #
29
29
  # The old (existing) location.
30
30
  #
31
- # @return [string]
31
+ # @return [DocumentUri]
32
32
  def old_uri
33
33
  attributes.fetch(:oldUri)
34
34
  end
@@ -36,7 +36,7 @@ module LanguageServer
36
36
  #
37
37
  # The new location.
38
38
  #
39
- # @return [string]
39
+ # @return [DocumentUri]
40
40
  def new_uri
41
41
  attributes.fetch(:newUri)
42
42
  end
@@ -44,15 +44,17 @@ module LanguageServer
44
44
  #
45
45
  # Rename options.
46
46
  #
47
- # @return [RenameFileOptions]
47
+ # @return [RenameFileOptions | nil]
48
48
  def options
49
49
  attributes.fetch(:options)
50
50
  end
51
51
 
52
52
  #
53
- # An optional annotation identifer describing the operation.
53
+ # An optional annotation identifier describing the operation.
54
54
  #
55
- # @return [string]
55
+ # @since 3.16.0
56
+ #
57
+ # @return [ChangeAnnotationIdentifier | nil]
56
58
  def annotation_id
57
59
  attributes.fetch(:annotationId)
58
60
  end
@@ -17,7 +17,7 @@ module LanguageServer
17
17
  #
18
18
  # Overwrite target if existing. 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
  # Ignores if target 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 renames
6
- # of files.
5
+ # The parameters sent in notifications/requests for user-initiated renames of
6
+ # files.
7
+ #
8
+ # @since 3.16.0
7
9
  #
8
10
  class RenameFilesParams
9
11
  def initialize(files:)
@@ -15,8 +17,8 @@ module LanguageServer
15
17
  end
16
18
 
17
19
  #
18
- # An array of all files/folders renamed in this operation. When a folder
19
- # is renamed, only the folder will be included, and not its children.
20
+ # An array of all files/folders renamed in this operation. When a folder is renamed, only
21
+ # the folder will be included, and not its children.
20
22
  #
21
23
  # @return [FileRename[]]
22
24
  def files
@@ -1,29 +1,34 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Provider options for a [RenameRequest](#RenameRequest).
6
+ #
4
7
  class RenameOptions
5
- def initialize(work_done_progress: nil, prepare_provider: nil)
8
+ def initialize(prepare_provider: nil, work_done_progress: nil)
6
9
  @attributes = {}
7
10
 
8
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
11
  @attributes[:prepareProvider] = prepare_provider if prepare_provider
12
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
10
13
 
11
14
  @attributes.freeze
12
15
  end
13
16
 
14
- # @return [boolean]
15
- def work_done_progress
16
- attributes.fetch(:workDoneProgress)
17
- end
18
-
19
17
  #
20
18
  # Renames should be checked and tested before being executed.
21
19
  #
22
- # @return [boolean]
20
+ # @since version 3.12.0
21
+ #
22
+ # @return [boolean | nil]
23
23
  def prepare_provider
24
24
  attributes.fetch(:prepareProvider)
25
25
  end
26
26
 
27
+ # @return [boolean | nil]
28
+ def work_done_progress
29
+ attributes.fetch(:workDoneProgress)
30
+ end
31
+
27
32
  attr_reader :attributes
28
33
 
29
34
  def to_hash
@@ -1,20 +1,23 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # The parameters of a [RenameRequest](#RenameRequest).
6
+ #
4
7
  class RenameParams
5
- def initialize(text_document:, position:, work_done_token: nil, new_name:)
8
+ def initialize(text_document:, position:, new_name:, work_done_token: nil)
6
9
  @attributes = {}
7
10
 
8
11
  @attributes[:textDocument] = text_document
9
12
  @attributes[:position] = position
10
- @attributes[:workDoneToken] = work_done_token if work_done_token
11
13
  @attributes[:newName] = new_name
14
+ @attributes[:workDoneToken] = work_done_token if work_done_token
12
15
 
13
16
  @attributes.freeze
14
17
  end
15
18
 
16
19
  #
17
- # The text document.
20
+ # The document to rename.
18
21
  #
19
22
  # @return [TextDocumentIdentifier]
20
23
  def text_document
@@ -22,21 +25,13 @@ module LanguageServer
22
25
  end
23
26
 
24
27
  #
25
- # The position inside the text document.
28
+ # The position at which this request was sent.
26
29
  #
27
30
  # @return [Position]
28
31
  def position
29
32
  attributes.fetch(:position)
30
33
  end
31
34
 
32
- #
33
- # An optional token that a server can use to report work done progress.
34
- #
35
- # @return [ProgressToken]
36
- def work_done_token
37
- attributes.fetch(:workDoneToken)
38
- end
39
-
40
35
  #
41
36
  # The new name of the symbol. If the given name is not valid the
42
37
  # request must return a [ResponseError](#ResponseError) with an
@@ -47,6 +42,14 @@ module LanguageServer
47
42
  attributes.fetch(:newName)
48
43
  end
49
44
 
45
+ #
46
+ # An optional token that a server can use to report work done progress.
47
+ #
48
+ # @return [ProgressToken | nil]
49
+ def work_done_token
50
+ attributes.fetch(:workDoneToken)
51
+ end
52
+
50
53
  attr_reader :attributes
51
54
 
52
55
  def to_hash
@@ -1,39 +1,44 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Registration options for a [RenameRequest](#RenameRequest).
6
+ #
4
7
  class RenameRegistrationOptions
5
- def initialize(document_selector:, work_done_progress: nil, prepare_provider: nil)
8
+ def initialize(document_selector:, prepare_provider: nil, work_done_progress: nil)
6
9
  @attributes = {}
7
10
 
8
11
  @attributes[:documentSelector] = document_selector
9
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
10
12
  @attributes[:prepareProvider] = prepare_provider if prepare_provider
13
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
11
14
 
12
15
  @attributes.freeze
13
16
  end
14
17
 
15
18
  #
16
- # A document selector to identify the scope of the registration. If set to
17
- # null the document selector provided on the client side will be used.
19
+ # A document selector to identify the scope of the registration. If set to null
20
+ # the document selector provided on the client side will be used.
18
21
  #
19
- # @return [DocumentSelector]
22
+ # @return [DocumentSelector | null]
20
23
  def document_selector
21
24
  attributes.fetch(:documentSelector)
22
25
  end
23
26
 
24
- # @return [boolean]
25
- def work_done_progress
26
- attributes.fetch(:workDoneProgress)
27
- end
28
-
29
27
  #
30
28
  # Renames should be checked and tested before being executed.
31
29
  #
32
- # @return [boolean]
30
+ # @since version 3.12.0
31
+ #
32
+ # @return [boolean | nil]
33
33
  def prepare_provider
34
34
  attributes.fetch(:prepareProvider)
35
35
  end
36
36
 
37
+ # @return [boolean | nil]
38
+ def work_done_progress
39
+ attributes.fetch(:workDoneProgress)
40
+ end
41
+
37
42
  attr_reader :attributes
38
43
 
39
44
  def to_hash
@@ -0,0 +1,47 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A generic resource operation.
6
+ #
7
+ class ResourceOperation
8
+ def initialize(kind:, annotation_id: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:kind] = kind
12
+ @attributes[:annotationId] = annotation_id if annotation_id
13
+
14
+ @attributes.freeze
15
+ end
16
+
17
+ #
18
+ # The resource operation kind.
19
+ #
20
+ # @return [string]
21
+ def kind
22
+ attributes.fetch(:kind)
23
+ end
24
+
25
+ #
26
+ # An optional annotation identifier describing the operation.
27
+ #
28
+ # @since 3.16.0
29
+ #
30
+ # @return [ChangeAnnotationIdentifier | nil]
31
+ def annotation_id
32
+ attributes.fetch(:annotationId)
33
+ end
34
+
35
+ attr_reader :attributes
36
+
37
+ def to_hash
38
+ attributes
39
+ end
40
+
41
+ def to_json(*args)
42
+ to_hash.to_json(*args)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Save options.
6
+ #
4
7
  class SaveOptions
5
8
  def initialize(include_text: nil)
6
9
  @attributes = {}
@@ -13,7 +16,7 @@ module LanguageServer
13
16
  #
14
17
  # The client is supposed to include the content on save.
15
18
  #
16
- # @return [boolean]
19
+ # @return [boolean | nil]
17
20
  def include_text
18
21
  attributes.fetch(:includeText)
19
22
  end