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,34 +1,32 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # @since 3.16.0
6
+ #
4
7
  class SemanticTokensRegistrationOptions
5
- def initialize(document_selector:, work_done_progress: nil, legend:, range: nil, full: nil, id: nil)
8
+ def initialize(document_selector:, legend:, range: nil, full: nil, work_done_progress: nil, id: 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[:legend] = legend
11
13
  @attributes[:range] = range if range
12
14
  @attributes[:full] = full if full
15
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
13
16
  @attributes[:id] = id if id
14
17
 
15
18
  @attributes.freeze
16
19
  end
17
20
 
18
21
  #
19
- # A document selector to identify the scope of the registration. If set to
20
- # null the document selector provided on the client side will be used.
22
+ # A document selector to identify the scope of the registration. If set to null
23
+ # the document selector provided on the client side will be used.
21
24
  #
22
- # @return [DocumentSelector]
25
+ # @return [DocumentSelector | null]
23
26
  def document_selector
24
27
  attributes.fetch(:documentSelector)
25
28
  end
26
29
 
27
- # @return [boolean]
28
- def work_done_progress
29
- attributes.fetch(:workDoneProgress)
30
- end
31
-
32
30
  #
33
31
  # The legend used by the server
34
32
  #
@@ -41,7 +39,7 @@ module LanguageServer
41
39
  # Server supports providing semantic tokens for a specific range
42
40
  # of a document.
43
41
  #
44
- # @return [boolean | {}]
42
+ # @return [boolean | { } | nil]
45
43
  def range
46
44
  attributes.fetch(:range)
47
45
  end
@@ -49,16 +47,21 @@ module LanguageServer
49
47
  #
50
48
  # Server supports providing semantic tokens for a full document.
51
49
  #
52
- # @return [boolean | { delta?: boolean; }]
50
+ # @return [boolean | { delta:boolean } | nil]
53
51
  def full
54
52
  attributes.fetch(:full)
55
53
  end
56
54
 
55
+ # @return [boolean | nil]
56
+ def work_done_progress
57
+ attributes.fetch(:workDoneProgress)
58
+ end
59
+
57
60
  #
58
61
  # The id used to register the request. The id can be used to deregister
59
62
  # the request again. See also Registration#id.
60
63
  #
61
- # @return [string]
64
+ # @return [string | nil]
62
65
  def id
63
66
  attributes.fetch(:id)
64
67
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # @since 3.16.0
6
+ #
4
7
  class SemanticTokensWorkspaceClientCapabilities
5
8
  def initialize(refresh_support: nil)
6
9
  @attributes = {}
@@ -16,10 +19,10 @@ module LanguageServer
16
19
  #
17
20
  # Note that this event is global and will force the client to refresh all
18
21
  # semantic tokens currently shown. It should be used with absolute care
19
- # and is useful for situation where a server for example detect a project
22
+ # and is useful for situation where a server for example detects a project
20
23
  # wide change that requires such a calculation.
21
24
  #
22
- # @return [boolean]
25
+ # @return [boolean | nil]
23
26
  def refresh_support
24
27
  attributes.fetch(:refreshSupport)
25
28
  end
@@ -1,11 +1,17 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Defines the capabilities provided by a language
6
+ # server.
7
+ #
4
8
  class ServerCapabilities
5
- def initialize(text_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, execute_command_provider: nil, selection_range_provider: nil, linked_editing_range_provider: nil, call_hierarchy_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, workspace_symbol_provider: nil, workspace: nil, experimental: nil)
9
+ def initialize(position_encoding: nil, text_document_sync: nil, notebook_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, workspace_symbol_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, selection_range_provider: nil, execute_command_provider: nil, call_hierarchy_provider: nil, linked_editing_range_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, type_hierarchy_provider: nil, inline_value_provider: nil, inlay_hint_provider: nil, diagnostic_provider: nil, workspace: nil, experimental: nil)
6
10
  @attributes = {}
7
11
 
12
+ @attributes[:positionEncoding] = position_encoding if position_encoding
8
13
  @attributes[:textDocumentSync] = text_document_sync if text_document_sync
14
+ @attributes[:notebookDocumentSync] = notebook_document_sync if notebook_document_sync
9
15
  @attributes[:completionProvider] = completion_provider if completion_provider
10
16
  @attributes[:hoverProvider] = hover_provider if hover_provider
11
17
  @attributes[:signatureHelpProvider] = signature_help_provider if signature_help_provider
@@ -20,39 +26,68 @@ module LanguageServer
20
26
  @attributes[:codeLensProvider] = code_lens_provider if code_lens_provider
21
27
  @attributes[:documentLinkProvider] = document_link_provider if document_link_provider
22
28
  @attributes[:colorProvider] = color_provider if color_provider
29
+ @attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
23
30
  @attributes[:documentFormattingProvider] = document_formatting_provider if document_formatting_provider
24
31
  @attributes[:documentRangeFormattingProvider] = document_range_formatting_provider if document_range_formatting_provider
25
32
  @attributes[:documentOnTypeFormattingProvider] = document_on_type_formatting_provider if document_on_type_formatting_provider
26
33
  @attributes[:renameProvider] = rename_provider if rename_provider
27
34
  @attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
28
- @attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
29
35
  @attributes[:selectionRangeProvider] = selection_range_provider if selection_range_provider
30
- @attributes[:linkedEditingRangeProvider] = linked_editing_range_provider if linked_editing_range_provider
36
+ @attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
31
37
  @attributes[:callHierarchyProvider] = call_hierarchy_provider if call_hierarchy_provider
38
+ @attributes[:linkedEditingRangeProvider] = linked_editing_range_provider if linked_editing_range_provider
32
39
  @attributes[:semanticTokensProvider] = semantic_tokens_provider if semantic_tokens_provider
33
40
  @attributes[:monikerProvider] = moniker_provider if moniker_provider
34
- @attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
41
+ @attributes[:typeHierarchyProvider] = type_hierarchy_provider if type_hierarchy_provider
42
+ @attributes[:inlineValueProvider] = inline_value_provider if inline_value_provider
43
+ @attributes[:inlayHintProvider] = inlay_hint_provider if inlay_hint_provider
44
+ @attributes[:diagnosticProvider] = diagnostic_provider if diagnostic_provider
35
45
  @attributes[:workspace] = workspace if workspace
36
46
  @attributes[:experimental] = experimental if experimental
37
47
 
38
48
  @attributes.freeze
39
49
  end
40
50
 
51
+ #
52
+ # The position encoding the server picked from the encodings offered
53
+ # by the client via the client capability `general.positionEncodings`.
54
+ #
55
+ # If the client didn't provide any position encodings the only valid
56
+ # value that a server can return is 'utf-16'.
57
+ #
58
+ # If omitted it defaults to 'utf-16'.
59
+ #
60
+ # @since 3.17.0
61
+ #
62
+ # @return [PositionEncodingKind | nil]
63
+ def position_encoding
64
+ attributes.fetch(:positionEncoding)
65
+ end
66
+
41
67
  #
42
68
  # Defines how text documents are synced. Is either a detailed structure
43
69
  # defining each notification or for backwards compatibility the
44
- # TextDocumentSyncKind number. If omitted it defaults to
45
- # `TextDocumentSyncKind.None`.
70
+ # TextDocumentSyncKind number.
46
71
  #
47
- # @return [TextDocumentSyncOptions | TextDocumentSyncKind]
72
+ # @return [TextDocumentSyncOptions | TextDocumentSyncKind | nil]
48
73
  def text_document_sync
49
74
  attributes.fetch(:textDocumentSync)
50
75
  end
51
76
 
77
+ #
78
+ # Defines how notebook documents are synced.
79
+ #
80
+ # @since 3.17.0
81
+ #
82
+ # @return [NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions | nil]
83
+ def notebook_document_sync
84
+ attributes.fetch(:notebookDocumentSync)
85
+ end
86
+
52
87
  #
53
88
  # The server provides completion support.
54
89
  #
55
- # @return [CompletionOptions]
90
+ # @return [CompletionOptions | nil]
56
91
  def completion_provider
57
92
  attributes.fetch(:completionProvider)
58
93
  end
@@ -60,7 +95,7 @@ module LanguageServer
60
95
  #
61
96
  # The server provides hover support.
62
97
  #
63
- # @return [boolean | HoverOptions]
98
+ # @return [boolean | HoverOptions | nil]
64
99
  def hover_provider
65
100
  attributes.fetch(:hoverProvider)
66
101
  end
@@ -68,15 +103,15 @@ module LanguageServer
68
103
  #
69
104
  # The server provides signature help support.
70
105
  #
71
- # @return [SignatureHelpOptions]
106
+ # @return [SignatureHelpOptions | nil]
72
107
  def signature_help_provider
73
108
  attributes.fetch(:signatureHelpProvider)
74
109
  end
75
110
 
76
111
  #
77
- # The server provides go to declaration support.
112
+ # The server provides Goto Declaration support.
78
113
  #
79
- # @return [boolean | DeclarationOptions | DeclarationRegistrationOptions]
114
+ # @return [boolean | DeclarationOptions | DeclarationRegistrationOptions | nil]
80
115
  def declaration_provider
81
116
  attributes.fetch(:declarationProvider)
82
117
  end
@@ -84,23 +119,23 @@ module LanguageServer
84
119
  #
85
120
  # The server provides goto definition support.
86
121
  #
87
- # @return [boolean | DefinitionOptions]
122
+ # @return [boolean | DefinitionOptions | nil]
88
123
  def definition_provider
89
124
  attributes.fetch(:definitionProvider)
90
125
  end
91
126
 
92
127
  #
93
- # The server provides goto type definition support.
128
+ # The server provides Goto Type Definition support.
94
129
  #
95
- # @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]
130
+ # @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions | nil]
96
131
  def type_definition_provider
97
132
  attributes.fetch(:typeDefinitionProvider)
98
133
  end
99
134
 
100
135
  #
101
- # The server provides goto implementation support.
136
+ # The server provides Goto Implementation support.
102
137
  #
103
- # @return [boolean | ImplementationOptions | ImplementationRegistrationOptions]
138
+ # @return [boolean | ImplementationOptions | ImplementationRegistrationOptions | nil]
104
139
  def implementation_provider
105
140
  attributes.fetch(:implementationProvider)
106
141
  end
@@ -108,7 +143,7 @@ module LanguageServer
108
143
  #
109
144
  # The server provides find references support.
110
145
  #
111
- # @return [boolean | ReferenceOptions]
146
+ # @return [boolean | ReferenceOptions | nil]
112
147
  def references_provider
113
148
  attributes.fetch(:referencesProvider)
114
149
  end
@@ -116,7 +151,7 @@ module LanguageServer
116
151
  #
117
152
  # The server provides document highlight support.
118
153
  #
119
- # @return [boolean | DocumentHighlightOptions]
154
+ # @return [boolean | DocumentHighlightOptions | nil]
120
155
  def document_highlight_provider
121
156
  attributes.fetch(:documentHighlightProvider)
122
157
  end
@@ -124,17 +159,17 @@ module LanguageServer
124
159
  #
125
160
  # The server provides document symbol support.
126
161
  #
127
- # @return [boolean | DocumentSymbolOptions]
162
+ # @return [boolean | DocumentSymbolOptions | nil]
128
163
  def document_symbol_provider
129
164
  attributes.fetch(:documentSymbolProvider)
130
165
  end
131
166
 
132
167
  #
133
- # The server provides code actions. The `CodeActionOptions` return type is
134
- # only valid if the client signals code action literal support via the
135
- # property `textDocument.codeAction.codeActionLiteralSupport`.
168
+ # The server provides code actions. CodeActionOptions may only be
169
+ # specified if the client states that it supports
170
+ # `codeActionLiteralSupport` in its initial `initialize` request.
136
171
  #
137
- # @return [boolean | CodeActionOptions]
172
+ # @return [boolean | CodeActionOptions | nil]
138
173
  def code_action_provider
139
174
  attributes.fetch(:codeActionProvider)
140
175
  end
@@ -142,7 +177,7 @@ module LanguageServer
142
177
  #
143
178
  # The server provides code lens.
144
179
  #
145
- # @return [CodeLensOptions]
180
+ # @return [CodeLensOptions | nil]
146
181
  def code_lens_provider
147
182
  attributes.fetch(:codeLensProvider)
148
183
  end
@@ -150,7 +185,7 @@ module LanguageServer
150
185
  #
151
186
  # The server provides document link support.
152
187
  #
153
- # @return [DocumentLinkOptions]
188
+ # @return [DocumentLinkOptions | nil]
154
189
  def document_link_provider
155
190
  attributes.fetch(:documentLinkProvider)
156
191
  end
@@ -158,15 +193,23 @@ module LanguageServer
158
193
  #
159
194
  # The server provides color provider support.
160
195
  #
161
- # @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]
196
+ # @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions | nil]
162
197
  def color_provider
163
198
  attributes.fetch(:colorProvider)
164
199
  end
165
200
 
201
+ #
202
+ # The server provides workspace symbol support.
203
+ #
204
+ # @return [boolean | WorkspaceSymbolOptions | nil]
205
+ def workspace_symbol_provider
206
+ attributes.fetch(:workspaceSymbolProvider)
207
+ end
208
+
166
209
  #
167
210
  # The server provides document formatting.
168
211
  #
169
- # @return [boolean | DocumentFormattingOptions]
212
+ # @return [boolean | DocumentFormattingOptions | nil]
170
213
  def document_formatting_provider
171
214
  attributes.fetch(:documentFormattingProvider)
172
215
  end
@@ -174,7 +217,7 @@ module LanguageServer
174
217
  #
175
218
  # The server provides document range formatting.
176
219
  #
177
- # @return [boolean | DocumentRangeFormattingOptions]
220
+ # @return [boolean | DocumentRangeFormattingOptions | nil]
178
221
  def document_range_formatting_provider
179
222
  attributes.fetch(:documentRangeFormattingProvider)
180
223
  end
@@ -182,7 +225,7 @@ module LanguageServer
182
225
  #
183
226
  # The server provides document formatting on typing.
184
227
  #
185
- # @return [DocumentOnTypeFormattingOptions]
228
+ # @return [DocumentOnTypeFormattingOptions | nil]
186
229
  def document_on_type_formatting_provider
187
230
  attributes.fetch(:documentOnTypeFormattingProvider)
188
231
  end
@@ -192,7 +235,7 @@ module LanguageServer
192
235
  # specified if the client states that it supports
193
236
  # `prepareSupport` in its initial `initialize` request.
194
237
  #
195
- # @return [boolean | RenameOptions]
238
+ # @return [boolean | RenameOptions | nil]
196
239
  def rename_provider
197
240
  attributes.fetch(:renameProvider)
198
241
  end
@@ -200,71 +243,111 @@ module LanguageServer
200
243
  #
201
244
  # The server provides folding provider support.
202
245
  #
203
- # @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]
246
+ # @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions | nil]
204
247
  def folding_range_provider
205
248
  attributes.fetch(:foldingRangeProvider)
206
249
  end
207
250
 
208
- #
209
- # The server provides execute command support.
210
- #
211
- # @return [ExecuteCommandOptions]
212
- def execute_command_provider
213
- attributes.fetch(:executeCommandProvider)
214
- end
215
-
216
251
  #
217
252
  # The server provides selection range support.
218
253
  #
219
- # @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]
254
+ # @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions | nil]
220
255
  def selection_range_provider
221
256
  attributes.fetch(:selectionRangeProvider)
222
257
  end
223
258
 
224
259
  #
225
- # The server provides linked editing range support.
260
+ # The server provides execute command support.
226
261
  #
227
- # @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions]
228
- def linked_editing_range_provider
229
- attributes.fetch(:linkedEditingRangeProvider)
262
+ # @return [ExecuteCommandOptions | nil]
263
+ def execute_command_provider
264
+ attributes.fetch(:executeCommandProvider)
230
265
  end
231
266
 
232
267
  #
233
268
  # The server provides call hierarchy support.
234
269
  #
235
- # @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions]
270
+ # @since 3.16.0
271
+ #
272
+ # @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions | nil]
236
273
  def call_hierarchy_provider
237
274
  attributes.fetch(:callHierarchyProvider)
238
275
  end
239
276
 
277
+ #
278
+ # The server provides linked editing range support.
279
+ #
280
+ # @since 3.16.0
281
+ #
282
+ # @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions | nil]
283
+ def linked_editing_range_provider
284
+ attributes.fetch(:linkedEditingRangeProvider)
285
+ end
286
+
240
287
  #
241
288
  # The server provides semantic tokens support.
242
289
  #
243
- # @return [SemanticTokensOptions | SemanticTokensRegistrationOptions]
290
+ # @since 3.16.0
291
+ #
292
+ # @return [SemanticTokensOptions | SemanticTokensRegistrationOptions | nil]
244
293
  def semantic_tokens_provider
245
294
  attributes.fetch(:semanticTokensProvider)
246
295
  end
247
296
 
248
297
  #
249
- # Whether server provides moniker support.
298
+ # The server provides moniker support.
299
+ #
300
+ # @since 3.16.0
250
301
  #
251
- # @return [boolean | MonikerOptions | MonikerRegistrationOptions]
302
+ # @return [boolean | MonikerOptions | MonikerRegistrationOptions | nil]
252
303
  def moniker_provider
253
304
  attributes.fetch(:monikerProvider)
254
305
  end
255
306
 
256
307
  #
257
- # The server provides workspace symbol support.
308
+ # The server provides type hierarchy support.
258
309
  #
259
- # @return [boolean | WorkspaceSymbolOptions]
260
- def workspace_symbol_provider
261
- attributes.fetch(:workspaceSymbolProvider)
310
+ # @since 3.17.0
311
+ #
312
+ # @return [boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions | nil]
313
+ def type_hierarchy_provider
314
+ attributes.fetch(:typeHierarchyProvider)
315
+ end
316
+
317
+ #
318
+ # The server provides inline values.
319
+ #
320
+ # @since 3.17.0
321
+ #
322
+ # @return [boolean | InlineValueOptions | InlineValueRegistrationOptions | nil]
323
+ def inline_value_provider
324
+ attributes.fetch(:inlineValueProvider)
325
+ end
326
+
327
+ #
328
+ # The server provides inlay hints.
329
+ #
330
+ # @since 3.17.0
331
+ #
332
+ # @return [boolean | InlayHintOptions | InlayHintRegistrationOptions | nil]
333
+ def inlay_hint_provider
334
+ attributes.fetch(:inlayHintProvider)
335
+ end
336
+
337
+ #
338
+ # The server has support for pull model diagnostics.
339
+ #
340
+ # @since 3.17.0
341
+ #
342
+ # @return [DiagnosticOptions | DiagnosticRegistrationOptions | nil]
343
+ def diagnostic_provider
344
+ attributes.fetch(:diagnosticProvider)
262
345
  end
263
346
 
264
347
  #
265
- # Workspace specific server capabilities
348
+ # Workspace specific server capabilities.
266
349
  #
267
- # @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; ... 4 more ...; willDelete?: FileOperationRegistrationOptions; }; }]
350
+ # @return [{ workspaceFolders:WorkspaceFoldersServerCapabilities, fileOperations:FileOperationOptions } | nil]
268
351
  def workspace
269
352
  attributes.fetch(:workspace)
270
353
  end
@@ -272,7 +355,7 @@ module LanguageServer
272
355
  #
273
356
  # Experimental server capabilities.
274
357
  #
275
- # @return [any]
358
+ # @return [T | nil]
276
359
  def experimental
277
360
  attributes.fetch(:experimental)
278
361
  end
@@ -10,10 +10,7 @@ module LanguageServer
10
10
  @attributes.freeze
11
11
  end
12
12
 
13
- #
14
- # The new value that should be assigned to the trace setting.
15
- #
16
- # @return [TraceValue]
13
+ # @return [TraceValues]
17
14
  def value
18
15
  attributes.fetch(:value)
19
16
  end
@@ -2,7 +2,9 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Client capabilities for the show document request.
5
+ # Client capabilities for the showDocument request.
6
+ #
7
+ # @since 3.16.0
6
8
  #
7
9
  class ShowDocumentClientCapabilities
8
10
  def initialize(support:)
@@ -14,7 +16,7 @@ module LanguageServer
14
16
  end
15
17
 
16
18
  #
17
- # The client has support for the show document
19
+ # The client has support for the showDocument
18
20
  # request.
19
21
  #
20
22
  # @return [boolean]
@@ -4,6 +4,8 @@ module LanguageServer
4
4
  #
5
5
  # Params to show a document.
6
6
  #
7
+ # @since 3.16.0
8
+ #
7
9
  class ShowDocumentParams
8
10
  def initialize(uri:, external: nil, take_focus: nil, selection: nil)
9
11
  @attributes = {}
@@ -19,7 +21,7 @@ module LanguageServer
19
21
  #
20
22
  # The document uri to show.
21
23
  #
22
- # @return [string]
24
+ # @return [URI]
23
25
  def uri
24
26
  attributes.fetch(:uri)
25
27
  end
@@ -29,7 +31,7 @@ module LanguageServer
29
31
  # To show for example `https://code.visualstudio.com/`
30
32
  # in the default WEB browser set `external` to `true`.
31
33
  #
32
- # @return [boolean]
34
+ # @return [boolean | nil]
33
35
  def external
34
36
  attributes.fetch(:external)
35
37
  end
@@ -40,7 +42,7 @@ module LanguageServer
40
42
  # Clients might ignore this property if an external
41
43
  # program is started.
42
44
  #
43
- # @return [boolean]
45
+ # @return [boolean | nil]
44
46
  def take_focus
45
47
  attributes.fetch(:takeFocus)
46
48
  end
@@ -51,7 +53,7 @@ module LanguageServer
51
53
  # external program is started or the file is not a text
52
54
  # file.
53
55
  #
54
- # @return [Range]
56
+ # @return [Range | nil]
55
57
  def selection
56
58
  attributes.fetch(:selection)
57
59
  end
@@ -2,7 +2,9 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # The result of an show document request.
5
+ # The result of a showDocument request.
6
+ #
7
+ # @since 3.16.0
6
8
  #
7
9
  class ShowDocumentResult
8
10
  def initialize(success:)
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # The parameters of a notification message.
6
+ #
4
7
  class ShowMessageParams
5
8
  def initialize(type:, message:)
6
9
  @attributes = {}
@@ -12,7 +15,7 @@ module LanguageServer
12
15
  end
13
16
 
14
17
  #
15
- # The message type. See {@link MessageType}.
18
+ # The message type. See {@link MessageType}
16
19
  #
17
20
  # @return [MessageType]
18
21
  def type
@@ -16,7 +16,7 @@ module LanguageServer
16
16
  #
17
17
  # Capabilities specific to the `MessageActionItem` type.
18
18
  #
19
- # @return [{ additionalPropertiesSupport?: boolean; }]
19
+ # @return [{ additionalPropertiesSupport:boolean } | nil]
20
20
  def message_action_item
21
21
  attributes.fetch(:messageActionItem)
22
22
  end
@@ -21,7 +21,7 @@ module LanguageServer
21
21
  end
22
22
 
23
23
  #
24
- # The actual message
24
+ # The actual message.
25
25
  #
26
26
  # @return [string]
27
27
  def message
@@ -31,7 +31,7 @@ module LanguageServer
31
31
  #
32
32
  # The message action items to present.
33
33
  #
34
- # @return [MessageActionItem[]]
34
+ # @return [MessageActionItem[] | nil]
35
35
  def actions
36
36
  attributes.fetch(:actions)
37
37
  end
@@ -18,8 +18,7 @@ module LanguageServer
18
18
  end
19
19
 
20
20
  #
21
- # One or more signatures. If no signatures are available the signature help
22
- # request should return `null`.
21
+ # One or more signatures.
23
22
  #
24
23
  # @return [SignatureInformation[]]
25
24
  def signatures
@@ -37,7 +36,7 @@ module LanguageServer
37
36
  # In future version of the protocol this property might become
38
37
  # mandatory to better express this.
39
38
  #
40
- # @return [number]
39
+ # @return [uinteger | nil]
41
40
  def active_signature
42
41
  attributes.fetch(:activeSignature)
43
42
  end
@@ -51,7 +50,7 @@ module LanguageServer
51
50
  # mandatory to better express the active parameter if the
52
51
  # active signature does have any.
53
52
  #
54
- # @return [number]
53
+ # @return [uinteger | nil]
55
54
  def active_parameter
56
55
  attributes.fetch(:activeParameter)
57
56
  end