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,6 +1,11 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Call hierarchy options used during static or dynamic registration.
6
+ #
7
+ # @since 3.16.0
8
+ #
4
9
  class CallHierarchyRegistrationOptions
5
10
  def initialize(document_selector:, work_done_progress: nil, id: nil)
6
11
  @attributes = {}
@@ -13,15 +18,15 @@ module LanguageServer
13
18
  end
14
19
 
15
20
  #
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.
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.
18
23
  #
19
- # @return [DocumentSelector]
24
+ # @return [DocumentSelector | null]
20
25
  def document_selector
21
26
  attributes.fetch(:documentSelector)
22
27
  end
23
28
 
24
- # @return [boolean]
29
+ # @return [boolean | nil]
25
30
  def work_done_progress
26
31
  attributes.fetch(:workDoneProgress)
27
32
  end
@@ -30,7 +35,7 @@ module LanguageServer
30
35
  # The id used to register the request. The id can be used to deregister
31
36
  # the request again. See also Registration#id.
32
37
  #
33
- # @return [string]
38
+ # @return [string | nil]
34
39
  def id
35
40
  attributes.fetch(:id)
36
41
  end
@@ -13,7 +13,7 @@ module LanguageServer
13
13
  #
14
14
  # The request id to cancel.
15
15
  #
16
- # @return [string | number]
16
+ # @return [integer | string]
17
17
  def id
18
18
  attributes.fetch(:id)
19
19
  end
@@ -4,6 +4,8 @@ module LanguageServer
4
4
  #
5
5
  # Additional information that describes document changes.
6
6
  #
7
+ # @since 3.16.0
8
+ #
7
9
  class ChangeAnnotation
8
10
  def initialize(label:, needs_confirmation: nil, description: nil)
9
11
  @attributes = {}
@@ -28,7 +30,7 @@ module LanguageServer
28
30
  # A flag which indicates that user confirmation is needed
29
31
  # before applying the change.
30
32
  #
31
- # @return [boolean]
33
+ # @return [boolean | nil]
32
34
  def needs_confirmation
33
35
  attributes.fetch(:needsConfirmation)
34
36
  end
@@ -37,7 +39,7 @@ module LanguageServer
37
39
  # A human-readable string which is rendered less prominent in
38
40
  # the user interface.
39
41
  #
40
- # @return [string]
42
+ # @return [string | nil]
41
43
  def description
42
44
  attributes.fetch(:description)
43
45
  end
@@ -1,12 +1,16 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Defines the capabilities provided by the client.
6
+ #
4
7
  class ClientCapabilities
5
- def initialize(workspace: nil, text_document: nil, window: nil, general: nil, experimental: nil)
8
+ def initialize(workspace: nil, text_document: nil, notebook_document: nil, window: nil, general: nil, experimental: nil)
6
9
  @attributes = {}
7
10
 
8
11
  @attributes[:workspace] = workspace if workspace
9
12
  @attributes[:textDocument] = text_document if text_document
13
+ @attributes[:notebookDocument] = notebook_document if notebook_document
10
14
  @attributes[:window] = window if window
11
15
  @attributes[:general] = general if general
12
16
  @attributes[:experimental] = experimental if experimental
@@ -17,7 +21,7 @@ module LanguageServer
17
21
  #
18
22
  # Workspace specific client capabilities.
19
23
  #
20
- # @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: DidChangeConfigurationClientCapabilities; ... 7 more ...; fileOperations?: { ...; }; }]
24
+ # @return [WorkspaceClientCapabilities | nil]
21
25
  def workspace
22
26
  attributes.fetch(:workspace)
23
27
  end
@@ -25,15 +29,25 @@ module LanguageServer
25
29
  #
26
30
  # Text document specific client capabilities.
27
31
  #
28
- # @return [TextDocumentClientCapabilities]
32
+ # @return [TextDocumentClientCapabilities | nil]
29
33
  def text_document
30
34
  attributes.fetch(:textDocument)
31
35
  end
32
36
 
37
+ #
38
+ # Capabilities specific to the notebook document support.
39
+ #
40
+ # @since 3.17.0
41
+ #
42
+ # @return [NotebookDocumentClientCapabilities | nil]
43
+ def notebook_document
44
+ attributes.fetch(:notebookDocument)
45
+ end
46
+
33
47
  #
34
48
  # Window specific client capabilities.
35
49
  #
36
- # @return [{ workDoneProgress?: boolean; showMessage?: ShowMessageRequestClientCapabilities; showDocument?: ShowDocumentClientCapabilities; }]
50
+ # @return [WindowClientCapabilities | nil]
37
51
  def window
38
52
  attributes.fetch(:window)
39
53
  end
@@ -41,7 +55,9 @@ module LanguageServer
41
55
  #
42
56
  # General client capabilities.
43
57
  #
44
- # @return [{ regularExpressions?: RegularExpressionsClientCapabilities; markdown?: MarkdownClientCapabilities; }]
58
+ # @since 3.16.0
59
+ #
60
+ # @return [GeneralClientCapabilities | nil]
45
61
  def general
46
62
  attributes.fetch(:general)
47
63
  end
@@ -49,7 +65,7 @@ module LanguageServer
49
65
  #
50
66
  # Experimental client capabilities.
51
67
  #
52
- # @return [any]
68
+ # @return [LSPAny | nil]
53
69
  def experimental
54
70
  attributes.fetch(:experimental)
55
71
  end
@@ -2,11 +2,10 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # A code action represents a change that can be performed in code, e.g. to fix
6
- # a problem or to refactor code.
5
+ # A code action represents a change that can be performed in code, e.g. to fix a problem or
6
+ # to refactor code.
7
7
  #
8
- # A CodeAction must set either `edit` and/or a `command`. If both are supplied,
9
- # the `edit` is applied first, then the `command` is executed.
8
+ # A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
10
9
  #
11
10
  class CodeAction
12
11
  def initialize(title:, kind: nil, diagnostics: nil, is_preferred: nil, disabled: nil, edit: nil, command: nil, data: nil)
@@ -37,7 +36,7 @@ module LanguageServer
37
36
  #
38
37
  # Used to filter code actions.
39
38
  #
40
- # @return [string]
39
+ # @return [CodeActionKind | nil]
41
40
  def kind
42
41
  attributes.fetch(:kind)
43
42
  end
@@ -45,20 +44,21 @@ module LanguageServer
45
44
  #
46
45
  # The diagnostics that this code action resolves.
47
46
  #
48
- # @return [Diagnostic[]]
47
+ # @return [Diagnostic[] | nil]
49
48
  def diagnostics
50
49
  attributes.fetch(:diagnostics)
51
50
  end
52
51
 
53
52
  #
54
- # Marks this as a preferred action. Preferred actions are used by the
55
- # `auto fix` command and can be targeted by keybindings.
53
+ # Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
54
+ # by keybindings.
55
+ #
56
+ # A quick fix should be marked preferred if it properly addresses the underlying error.
57
+ # A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
56
58
  #
57
- # A quick fix should be marked preferred if it properly addresses the
58
- # underlying error. A refactoring should be marked preferred if it is the
59
- # most reasonable choice of actions to take.
59
+ # @since 3.15.0
60
60
  #
61
- # @return [boolean]
61
+ # @return [boolean | nil]
62
62
  def is_preferred
63
63
  attributes.fetch(:isPreferred)
64
64
  end
@@ -66,21 +66,21 @@ module LanguageServer
66
66
  #
67
67
  # Marks that the code action cannot currently be applied.
68
68
  #
69
- # Clients should follow the following guidelines regarding disabled code
70
- # actions:
69
+ # Clients should follow the following guidelines regarding disabled code actions:
71
70
  #
72
- # - Disabled code actions are not shown in automatic lightbulbs code
73
- # action menus.
71
+ # - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action)
72
+ # code action menus.
74
73
  #
75
- # - Disabled actions are shown as faded out in the code action menu when
76
- # the user request a more specific type of code action, such as
77
- # refactorings.
74
+ # - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type
75
+ # of code action, such as refactorings.
78
76
  #
79
- # - If the user has a keybinding that auto applies a code action and only
80
- # a disabled code actions are returned, the client should show the user
81
- # an error message with `reason` in the editor.
77
+ # - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions)
78
+ # that auto applies a code action and only disabled code actions are returned, the client should show the user an
79
+ # error message with `reason` in the editor.
82
80
  #
83
- # @return [{ reason: string; }]
81
+ # @since 3.16.0
82
+ #
83
+ # @return [{ reason:string } | nil]
84
84
  def disabled
85
85
  attributes.fetch(:disabled)
86
86
  end
@@ -88,7 +88,7 @@ module LanguageServer
88
88
  #
89
89
  # The workspace edit this code action performs.
90
90
  #
91
- # @return [WorkspaceEdit]
91
+ # @return [WorkspaceEdit | nil]
92
92
  def edit
93
93
  attributes.fetch(:edit)
94
94
  end
@@ -98,7 +98,7 @@ module LanguageServer
98
98
  # provides an edit and a command, first the edit is
99
99
  # executed and then the command.
100
100
  #
101
- # @return [Command]
101
+ # @return [Command | nil]
102
102
  def command
103
103
  attributes.fetch(:command)
104
104
  end
@@ -107,7 +107,9 @@ module LanguageServer
107
107
  # A data entry field that is preserved on a code action between
108
108
  # a `textDocument/codeAction` and a `codeAction/resolve` request.
109
109
  #
110
- # @return [any]
110
+ # @since 3.16.0
111
+ #
112
+ # @return [LSPAny | nil]
111
113
  def data
112
114
  attributes.fetch(:data)
113
115
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # The Client Capabilities of a [CodeActionRequest](#CodeActionRequest).
6
+ #
4
7
  class CodeActionClientCapabilities
5
8
  def initialize(dynamic_registration: nil, code_action_literal_support: nil, is_preferred_support: nil, disabled_support: nil, data_support: nil, resolve_support: nil, honors_change_annotations: nil)
6
9
  @attributes = {}
@@ -19,16 +22,19 @@ module LanguageServer
19
22
  #
20
23
  # Whether code action supports dynamic registration.
21
24
  #
22
- # @return [boolean]
25
+ # @return [boolean | nil]
23
26
  def dynamic_registration
24
27
  attributes.fetch(:dynamicRegistration)
25
28
  end
26
29
 
27
30
  #
28
- # The client supports code action literals as a valid
29
- # response of the `textDocument/codeAction` request.
31
+ # The client support code action literals of type `CodeAction` as a valid
32
+ # response of the `textDocument/codeAction` request. If the property is not
33
+ # set the request can only return `Command` literals.
30
34
  #
31
- # @return [{ codeActionKind: { valueSet: string[]; }; }]
35
+ # @since 3.8.0
36
+ #
37
+ # @return [{ codeActionKind:{ valueSet:CodeActionKind[] } } | nil]
32
38
  def code_action_literal_support
33
39
  attributes.fetch(:codeActionLiteralSupport)
34
40
  end
@@ -36,7 +42,9 @@ module LanguageServer
36
42
  #
37
43
  # Whether code action supports the `isPreferred` property.
38
44
  #
39
- # @return [boolean]
45
+ # @since 3.15.0
46
+ #
47
+ # @return [boolean | nil]
40
48
  def is_preferred_support
41
49
  attributes.fetch(:isPreferredSupport)
42
50
  end
@@ -44,7 +52,9 @@ module LanguageServer
44
52
  #
45
53
  # Whether code action supports the `disabled` property.
46
54
  #
47
- # @return [boolean]
55
+ # @since 3.16.0
56
+ #
57
+ # @return [boolean | nil]
48
58
  def disabled_support
49
59
  attributes.fetch(:disabledSupport)
50
60
  end
@@ -54,7 +64,9 @@ module LanguageServer
54
64
  # preserved between a `textDocument/codeAction` and a
55
65
  # `codeAction/resolve` request.
56
66
  #
57
- # @return [boolean]
67
+ # @since 3.16.0
68
+ #
69
+ # @return [boolean | nil]
58
70
  def data_support
59
71
  attributes.fetch(:dataSupport)
60
72
  end
@@ -63,7 +75,9 @@ module LanguageServer
63
75
  # Whether the client supports resolving additional code action
64
76
  # properties via a separate `codeAction/resolve` request.
65
77
  #
66
- # @return [{ properties: string[]; }]
78
+ # @since 3.16.0
79
+ #
80
+ # @return [{ properties:string[] } | nil]
67
81
  def resolve_support
68
82
  attributes.fetch(:resolveSupport)
69
83
  end
@@ -75,7 +89,9 @@ module LanguageServer
75
89
  # the workspace edit in the user interface and asking
76
90
  # for confirmation.
77
91
  #
78
- # @return [boolean]
92
+ # @since 3.16.0
93
+ #
94
+ # @return [boolean | nil]
79
95
  def honors_change_annotations
80
96
  attributes.fetch(:honorsChangeAnnotations)
81
97
  end
@@ -3,24 +3,24 @@ module LanguageServer
3
3
  module Interface
4
4
  #
5
5
  # Contains additional diagnostic information about the context in which
6
- # a code action is run.
6
+ # a [code action](#CodeActionProvider.provideCodeActions) is run.
7
7
  #
8
8
  class CodeActionContext
9
- def initialize(diagnostics:, only: nil)
9
+ def initialize(diagnostics:, only: nil, trigger_kind: nil)
10
10
  @attributes = {}
11
11
 
12
12
  @attributes[:diagnostics] = diagnostics
13
13
  @attributes[:only] = only if only
14
+ @attributes[:triggerKind] = trigger_kind if trigger_kind
14
15
 
15
16
  @attributes.freeze
16
17
  end
17
18
 
18
19
  #
19
- # An array of diagnostics known on the client side overlapping the range
20
- # provided to the `textDocument/codeAction` request. They are provided so
21
- # that the server knows which errors are currently presented to the user
22
- # for the given range. There is no guarantee that these accurately reflect
23
- # the error state of the resource. The primary parameter
20
+ # An array of diagnostics known on the client side overlapping the range provided to the
21
+ # `textDocument/codeAction` request. They are provided so that the server knows which
22
+ # errors are currently presented to the user for the given range. There is no guarantee
23
+ # that these accurately reflect the error state of the resource. The primary parameter
24
24
  # to compute code actions is the provided range.
25
25
  #
26
26
  # @return [Diagnostic[]]
@@ -31,14 +31,24 @@ module LanguageServer
31
31
  #
32
32
  # Requested kind of actions to return.
33
33
  #
34
- # Actions not of this kind are filtered out by the client before being
35
- # shown. So servers can omit computing them.
34
+ # Actions not of this kind are filtered out by the client before being shown. So servers
35
+ # can omit computing them.
36
36
  #
37
- # @return [string[]]
37
+ # @return [CodeActionKind[] | nil]
38
38
  def only
39
39
  attributes.fetch(:only)
40
40
  end
41
41
 
42
+ #
43
+ # The reason why code actions were requested.
44
+ #
45
+ # @since 3.17.0
46
+ #
47
+ # @return [CodeActionTriggerKind | nil]
48
+ def trigger_kind
49
+ attributes.fetch(:triggerKind)
50
+ end
51
+
42
52
  attr_reader :attributes
43
53
 
44
54
  def to_hash
@@ -1,29 +1,27 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Provider options for a [CodeActionRequest](#CodeActionRequest).
6
+ #
4
7
  class CodeActionOptions
5
- def initialize(work_done_progress: nil, code_action_kinds: nil, resolve_provider: nil)
8
+ def initialize(code_action_kinds: nil, resolve_provider: nil, work_done_progress: nil)
6
9
  @attributes = {}
7
10
 
8
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
11
  @attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
10
12
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
13
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
11
14
 
12
15
  @attributes.freeze
13
16
  end
14
17
 
15
- # @return [boolean]
16
- def work_done_progress
17
- attributes.fetch(:workDoneProgress)
18
- end
19
-
20
18
  #
21
19
  # CodeActionKinds that this server may return.
22
20
  #
23
- # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
24
- # or the server may list out every specific kind they provide.
21
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
22
+ # may list out every specific kind they provide.
25
23
  #
26
- # @return [string[]]
24
+ # @return [CodeActionKind[] | nil]
27
25
  def code_action_kinds
28
26
  attributes.fetch(:codeActionKinds)
29
27
  end
@@ -32,11 +30,18 @@ module LanguageServer
32
30
  # The server provides support to resolve additional
33
31
  # information for a code action.
34
32
  #
35
- # @return [boolean]
33
+ # @since 3.16.0
34
+ #
35
+ # @return [boolean | nil]
36
36
  def resolve_provider
37
37
  attributes.fetch(:resolveProvider)
38
38
  end
39
39
 
40
+ # @return [boolean | nil]
41
+ def work_done_progress
42
+ attributes.fetch(:workDoneProgress)
43
+ end
44
+
40
45
  attr_reader :attributes
41
46
 
42
47
  def to_hash
@@ -2,38 +2,21 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Params for the CodeActionRequest
5
+ # The parameters of a [CodeActionRequest](#CodeActionRequest).
6
6
  #
7
7
  class CodeActionParams
8
- def initialize(work_done_token: nil, partial_result_token: nil, text_document:, range:, context:)
8
+ def initialize(text_document:, range:, context:, work_done_token: nil, partial_result_token: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:workDoneToken] = work_done_token if work_done_token
12
- @attributes[:partialResultToken] = partial_result_token if partial_result_token
13
11
  @attributes[:textDocument] = text_document
14
12
  @attributes[:range] = range
15
13
  @attributes[:context] = context
14
+ @attributes[:workDoneToken] = work_done_token if work_done_token
15
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
16
16
 
17
17
  @attributes.freeze
18
18
  end
19
19
 
20
- #
21
- # An optional token that a server can use to report work done progress.
22
- #
23
- # @return [ProgressToken]
24
- def work_done_token
25
- attributes.fetch(:workDoneToken)
26
- end
27
-
28
- #
29
- # An optional token that a server can use to report partial results (e.g.
30
- # streaming) to the client.
31
- #
32
- # @return [ProgressToken]
33
- def partial_result_token
34
- attributes.fetch(:partialResultToken)
35
- end
36
-
37
20
  #
38
21
  # The document in which the command was invoked.
39
22
  #
@@ -58,6 +41,23 @@ module LanguageServer
58
41
  attributes.fetch(:context)
59
42
  end
60
43
 
44
+ #
45
+ # An optional token that a server can use to report work done progress.
46
+ #
47
+ # @return [ProgressToken | nil]
48
+ def work_done_token
49
+ attributes.fetch(:workDoneToken)
50
+ end
51
+
52
+ #
53
+ # An optional token that a server can use to report partial results (e.g. streaming) to
54
+ # the client.
55
+ #
56
+ # @return [ProgressToken | nil]
57
+ def partial_result_token
58
+ attributes.fetch(:partialResultToken)
59
+ end
60
+
61
61
  attr_reader :attributes
62
62
 
63
63
  def to_hash
@@ -1,39 +1,37 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Registration options for a [CodeActionRequest](#CodeActionRequest).
6
+ #
4
7
  class CodeActionRegistrationOptions
5
- def initialize(document_selector:, work_done_progress: nil, code_action_kinds: nil, resolve_provider: nil)
8
+ def initialize(document_selector:, code_action_kinds: nil, resolve_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[:codeActionKinds] = code_action_kinds if code_action_kinds
11
13
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
14
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
12
15
 
13
16
  @attributes.freeze
14
17
  end
15
18
 
16
19
  #
17
- # A document selector to identify the scope of the registration. If set to
18
- # null the document selector provided on the client side will be used.
20
+ # A document selector to identify the scope of the registration. If set to null
21
+ # the document selector provided on the client side will be used.
19
22
  #
20
- # @return [DocumentSelector]
23
+ # @return [DocumentSelector | null]
21
24
  def document_selector
22
25
  attributes.fetch(:documentSelector)
23
26
  end
24
27
 
25
- # @return [boolean]
26
- def work_done_progress
27
- attributes.fetch(:workDoneProgress)
28
- end
29
-
30
28
  #
31
29
  # CodeActionKinds that this server may return.
32
30
  #
33
- # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
34
- # or the server may list out every specific kind they provide.
31
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
32
+ # may list out every specific kind they provide.
35
33
  #
36
- # @return [string[]]
34
+ # @return [CodeActionKind[] | nil]
37
35
  def code_action_kinds
38
36
  attributes.fetch(:codeActionKinds)
39
37
  end
@@ -42,11 +40,18 @@ module LanguageServer
42
40
  # The server provides support to resolve additional
43
41
  # information for a code action.
44
42
  #
45
- # @return [boolean]
43
+ # @since 3.16.0
44
+ #
45
+ # @return [boolean | nil]
46
46
  def resolve_provider
47
47
  attributes.fetch(:resolveProvider)
48
48
  end
49
49
 
50
+ # @return [boolean | nil]
51
+ def work_done_progress
52
+ attributes.fetch(:workDoneProgress)
53
+ end
54
+
50
55
  attr_reader :attributes
51
56
 
52
57
  def to_hash
@@ -4,6 +4,8 @@ module LanguageServer
4
4
  #
5
5
  # Structure to capture a description for an error code.
6
6
  #
7
+ # @since 3.16.0
8
+ #
7
9
  class CodeDescription
8
10
  def initialize(href:)
9
11
  @attributes = {}
@@ -16,7 +18,7 @@ module LanguageServer
16
18
  #
17
19
  # An URI to open with more information about the diagnostic error.
18
20
  #
19
- # @return [string]
21
+ # @return [URI]
20
22
  def href
21
23
  attributes.fetch(:href)
22
24
  end
@@ -2,12 +2,11 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # A code lens represents a command that should be shown along with
5
+ # A code lens represents a [command](#Command) that should be shown along with
6
6
  # source text, like the number of references, a way to run tests, etc.
7
7
  #
8
- # A code lens is _unresolved_ when no command is associated to it. For
9
- # performance reasons the creation of a code lens and resolving should be done
10
- # in two stages.
8
+ # A code lens is _unresolved_ when no command is associated to it. For performance
9
+ # reasons the creation of a code lens and resolving should be done in two stages.
11
10
  #
12
11
  class CodeLens
13
12
  def initialize(range:, command: nil, data: nil)
@@ -21,8 +20,7 @@ module LanguageServer
21
20
  end
22
21
 
23
22
  #
24
- # The range in which this code lens is valid. Should only span a single
25
- # line.
23
+ # The range in which this code lens is valid. Should only span a single line.
26
24
  #
27
25
  # @return [Range]
28
26
  def range
@@ -32,16 +30,17 @@ module LanguageServer
32
30
  #
33
31
  # The command this code lens represents.
34
32
  #
35
- # @return [Command]
33
+ # @return [Command | nil]
36
34
  def command
37
35
  attributes.fetch(:command)
38
36
  end
39
37
 
40
38
  #
41
39
  # A data entry field that is preserved on a code lens item between
42
- # a code lens and a code lens resolve request.
40
+ # a [CodeLensRequest](#CodeLensRequest) and a [CodeLensResolveRequest]
41
+ # (#CodeLensResolveRequest)
43
42
  #
44
- # @return [any]
43
+ # @return [LSPAny | nil]
45
44
  def data
46
45
  attributes.fetch(:data)
47
46
  end