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,42 +1,45 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Parameters for a [FoldingRangeRequest](#FoldingRangeRequest).
6
+ #
4
7
  class FoldingRangeParams
5
- def initialize(work_done_token: nil, partial_result_token: nil, text_document:)
8
+ def initialize(text_document:, work_done_token: nil, partial_result_token: nil)
6
9
  @attributes = {}
7
10
 
11
+ @attributes[:textDocument] = text_document
8
12
  @attributes[:workDoneToken] = work_done_token if work_done_token
9
13
  @attributes[:partialResultToken] = partial_result_token if partial_result_token
10
- @attributes[:textDocument] = text_document
11
14
 
12
15
  @attributes.freeze
13
16
  end
14
17
 
18
+ #
19
+ # The text document.
20
+ #
21
+ # @return [TextDocumentIdentifier]
22
+ def text_document
23
+ attributes.fetch(:textDocument)
24
+ end
25
+
15
26
  #
16
27
  # An optional token that a server can use to report work done progress.
17
28
  #
18
- # @return [ProgressToken]
29
+ # @return [ProgressToken | nil]
19
30
  def work_done_token
20
31
  attributes.fetch(:workDoneToken)
21
32
  end
22
33
 
23
34
  #
24
- # An optional token that a server can use to report partial results (e.g.
25
- # streaming) to the client.
35
+ # An optional token that a server can use to report partial results (e.g. streaming) to
36
+ # the client.
26
37
  #
27
- # @return [ProgressToken]
38
+ # @return [ProgressToken | nil]
28
39
  def partial_result_token
29
40
  attributes.fetch(:partialResultToken)
30
41
  end
31
42
 
32
- #
33
- # The text document.
34
- #
35
- # @return [TextDocumentIdentifier]
36
- def text_document
37
- attributes.fetch(:textDocument)
38
- end
39
-
40
43
  attr_reader :attributes
41
44
 
42
45
  def to_hash
@@ -13,15 +13,15 @@ module LanguageServer
13
13
  end
14
14
 
15
15
  #
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.
16
+ # A document selector to identify the scope of the registration. If set to null
17
+ # the document selector provided on the client side will be used.
18
18
  #
19
- # @return [DocumentSelector]
19
+ # @return [DocumentSelector | null]
20
20
  def document_selector
21
21
  attributes.fetch(:documentSelector)
22
22
  end
23
23
 
24
- # @return [boolean]
24
+ # @return [boolean | nil]
25
25
  def work_done_progress
26
26
  attributes.fetch(:workDoneProgress)
27
27
  end
@@ -30,7 +30,7 @@ module LanguageServer
30
30
  # The id used to register the request. The id can be used to deregister
31
31
  # the request again. See also Registration#id.
32
32
  #
33
- # @return [string]
33
+ # @return [string | nil]
34
34
  def id
35
35
  attributes.fetch(:id)
36
36
  end
@@ -20,7 +20,7 @@ module LanguageServer
20
20
  #
21
21
  # Size of a tab in spaces.
22
22
  #
23
- # @return [number]
23
+ # @return [uinteger]
24
24
  def tab_size
25
25
  attributes.fetch(:tabSize)
26
26
  end
@@ -36,7 +36,9 @@ module LanguageServer
36
36
  #
37
37
  # Trim trailing whitespace on a line.
38
38
  #
39
- # @return [boolean]
39
+ # @since 3.15.0
40
+ #
41
+ # @return [boolean | nil]
40
42
  def trim_trailing_whitespace
41
43
  attributes.fetch(:trimTrailingWhitespace)
42
44
  end
@@ -44,7 +46,9 @@ module LanguageServer
44
46
  #
45
47
  # Insert a newline character at the end of the file if one does not exist.
46
48
  #
47
- # @return [boolean]
49
+ # @since 3.15.0
50
+ #
51
+ # @return [boolean | nil]
48
52
  def insert_final_newline
49
53
  attributes.fetch(:insertFinalNewline)
50
54
  end
@@ -52,7 +56,9 @@ module LanguageServer
52
56
  #
53
57
  # Trim all newlines after the final newline at the end of the file.
54
58
  #
55
- # @return [boolean]
59
+ # @since 3.15.0
60
+ #
61
+ # @return [boolean | nil]
56
62
  def trim_final_newlines
57
63
  attributes.fetch(:trimFinalNewlines)
58
64
  end
@@ -0,0 +1,58 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A diagnostic report with a full set of problems.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class FullDocumentDiagnosticReport
10
+ def initialize(kind:, result_id: nil, items:)
11
+ @attributes = {}
12
+
13
+ @attributes[:kind] = kind
14
+ @attributes[:resultId] = result_id if result_id
15
+ @attributes[:items] = items
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # A full document diagnostic report.
22
+ #
23
+ # @return ["full"]
24
+ def kind
25
+ attributes.fetch(:kind)
26
+ end
27
+
28
+ #
29
+ # An optional result id. If provided it will
30
+ # be sent on the next diagnostic request for the
31
+ # same document.
32
+ #
33
+ # @return [string | nil]
34
+ def result_id
35
+ attributes.fetch(:resultId)
36
+ end
37
+
38
+ #
39
+ # The actual items.
40
+ #
41
+ # @return [Diagnostic[]]
42
+ def items
43
+ attributes.fetch(:items)
44
+ end
45
+
46
+ attr_reader :attributes
47
+
48
+ def to_hash
49
+ attributes
50
+ end
51
+
52
+ def to_json(*args)
53
+ to_hash.to_json(*args)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,91 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # General client capabilities.
6
+ #
7
+ # @since 3.16.0
8
+ #
9
+ class GeneralClientCapabilities
10
+ def initialize(stale_request_support: nil, regular_expressions: nil, markdown: nil, position_encodings: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:staleRequestSupport] = stale_request_support if stale_request_support
14
+ @attributes[:regularExpressions] = regular_expressions if regular_expressions
15
+ @attributes[:markdown] = markdown if markdown
16
+ @attributes[:positionEncodings] = position_encodings if position_encodings
17
+
18
+ @attributes.freeze
19
+ end
20
+
21
+ #
22
+ # Client capability that signals how the client
23
+ # handles stale requests (e.g. a request
24
+ # for which the client will not process the response
25
+ # anymore since the information is outdated).
26
+ #
27
+ # @since 3.17.0
28
+ #
29
+ # @return [{ cancel:boolean, retryOnContentModified:string[] } | nil]
30
+ def stale_request_support
31
+ attributes.fetch(:staleRequestSupport)
32
+ end
33
+
34
+ #
35
+ # Client capabilities specific to regular expressions.
36
+ #
37
+ # @since 3.16.0
38
+ #
39
+ # @return [RegularExpressionsClientCapabilities | nil]
40
+ def regular_expressions
41
+ attributes.fetch(:regularExpressions)
42
+ end
43
+
44
+ #
45
+ # Client capabilities specific to the client's markdown parser.
46
+ #
47
+ # @since 3.16.0
48
+ #
49
+ # @return [MarkdownClientCapabilities | nil]
50
+ def markdown
51
+ attributes.fetch(:markdown)
52
+ end
53
+
54
+ #
55
+ # The position encodings supported by the client. Client and server
56
+ # have to agree on the same position encoding to ensure that offsets
57
+ # (e.g. character position in a line) are interpreted the same on both
58
+ # sides.
59
+ #
60
+ # To keep the protocol backwards compatible the following applies: if
61
+ # the value 'utf-16' is missing from the array of position encodings
62
+ # servers can assume that the client supports UTF-16. UTF-16 is
63
+ # therefore a mandatory encoding.
64
+ #
65
+ # If omitted it defaults to ['utf-16'].
66
+ #
67
+ # Implementation considerations: since the conversion from one encoding
68
+ # into another requires the content of the file / line the conversion
69
+ # is best done where the file is read which is usually on the server
70
+ # side.
71
+ #
72
+ # @since 3.17.0
73
+ #
74
+ # @return [PositionEncodingKind[] | nil]
75
+ def position_encodings
76
+ attributes.fetch(:positionEncodings)
77
+ end
78
+
79
+ attr_reader :attributes
80
+
81
+ def to_hash
82
+ attributes
83
+ end
84
+
85
+ def to_json(*args)
86
+ to_hash.to_json(*args)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,48 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # The glob pattern. Either a string pattern or a relative pattern.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class GlobPattern
10
+ def initialize(base_uri:, pattern:)
11
+ @attributes = {}
12
+
13
+ @attributes[:baseUri] = base_uri
14
+ @attributes[:pattern] = pattern
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # A workspace folder or a base URI to which this pattern will be matched
21
+ # against relatively.
22
+ #
23
+ # @return [WorkspaceFolder | URI]
24
+ def base_uri
25
+ attributes.fetch(:baseUri)
26
+ end
27
+
28
+ #
29
+ # The actual glob pattern;
30
+ #
31
+ # @return [Pattern]
32
+ def pattern
33
+ attributes.fetch(:pattern)
34
+ end
35
+
36
+ attr_reader :attributes
37
+
38
+ def to_hash
39
+ attributes
40
+ end
41
+
42
+ def to_json(*args)
43
+ to_hash.to_json(*args)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -23,10 +23,10 @@ module LanguageServer
23
23
  end
24
24
 
25
25
  #
26
- # An optional range is a range inside a text document
27
- # that is used to visualize a hover, e.g. by changing the background color.
26
+ # An optional range inside the text document that is used to
27
+ # visualize the hover, e.g. by changing the background color.
28
28
  #
29
- # @return [Range]
29
+ # @return [Range | nil]
30
30
  def range
31
31
  attributes.fetch(:range)
32
32
  end
@@ -14,17 +14,16 @@ module LanguageServer
14
14
  #
15
15
  # Whether hover supports dynamic registration.
16
16
  #
17
- # @return [boolean]
17
+ # @return [boolean | nil]
18
18
  def dynamic_registration
19
19
  attributes.fetch(:dynamicRegistration)
20
20
  end
21
21
 
22
22
  #
23
- # Client supports the following content formats if the content
24
- # property refers to a `literal of type MarkupContent`.
25
- # The order describes the preferred format of the client.
23
+ # Client supports the following content formats for the content
24
+ # property. The order describes the preferred format of the client.
26
25
  #
27
- # @return [MarkupKind[]]
26
+ # @return [MarkupKind[] | nil]
28
27
  def content_format
29
28
  attributes.fetch(:contentFormat)
30
29
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Hover options.
6
+ #
4
7
  class HoverOptions
5
8
  def initialize(work_done_progress: nil)
6
9
  @attributes = {}
@@ -10,7 +13,7 @@ module LanguageServer
10
13
  @attributes.freeze
11
14
  end
12
15
 
13
- # @return [boolean]
16
+ # @return [boolean | nil]
14
17
  def work_done_progress
15
18
  attributes.fetch(:workDoneProgress)
16
19
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Parameters for a [HoverRequest](#HoverRequest).
6
+ #
4
7
  class HoverParams
5
8
  def initialize(text_document:, position:, work_done_token: nil)
6
9
  @attributes = {}
@@ -31,7 +34,7 @@ module LanguageServer
31
34
  #
32
35
  # An optional token that a server can use to report work done progress.
33
36
  #
34
- # @return [ProgressToken]
37
+ # @return [ProgressToken | nil]
35
38
  def work_done_token
36
39
  attributes.fetch(:workDoneToken)
37
40
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Registration options for a [HoverRequest](#HoverRequest).
6
+ #
4
7
  class HoverRegistrationOptions
5
8
  def initialize(document_selector:, work_done_progress: nil)
6
9
  @attributes = {}
@@ -12,15 +15,15 @@ module LanguageServer
12
15
  end
13
16
 
14
17
  #
15
- # A document selector to identify the scope of the registration. If set to
16
- # null the document selector provided on the client side will be used.
18
+ # A document selector to identify the scope of the registration. If set to null
19
+ # the document selector provided on the client side will be used.
17
20
  #
18
- # @return [DocumentSelector]
21
+ # @return [DocumentSelector | null]
19
22
  def document_selector
20
23
  attributes.fetch(:documentSelector)
21
24
  end
22
25
 
23
- # @return [boolean]
26
+ # @return [boolean | nil]
24
27
  def work_done_progress
25
28
  attributes.fetch(:workDoneProgress)
26
29
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # @since 3.6.0
6
+ #
4
7
  class ImplementationClientCapabilities
5
8
  def initialize(dynamic_registration: nil, link_support: nil)
6
9
  @attributes = {}
@@ -12,11 +15,11 @@ module LanguageServer
12
15
  end
13
16
 
14
17
  #
15
- # Whether implementation supports dynamic registration. If this is set to
16
- # `true` the client supports the new `ImplementationRegistrationOptions`
17
- # return value for the corresponding server capability as well.
18
+ # Whether implementation supports dynamic registration. If this is set to `true`
19
+ # the client supports the new `ImplementationRegistrationOptions` return value
20
+ # for the corresponding server capability as well.
18
21
  #
19
- # @return [boolean]
22
+ # @return [boolean | nil]
20
23
  def dynamic_registration
21
24
  attributes.fetch(:dynamicRegistration)
22
25
  end
@@ -24,7 +27,9 @@ module LanguageServer
24
27
  #
25
28
  # The client supports additional metadata in the form of definition links.
26
29
  #
27
- # @return [boolean]
30
+ # @since 3.14.0
31
+ #
32
+ # @return [boolean | nil]
28
33
  def link_support
29
34
  attributes.fetch(:linkSupport)
30
35
  end
@@ -10,7 +10,7 @@ module LanguageServer
10
10
  @attributes.freeze
11
11
  end
12
12
 
13
- # @return [boolean]
13
+ # @return [boolean | nil]
14
14
  def work_done_progress
15
15
  attributes.fetch(:workDoneProgress)
16
16
  end
@@ -32,16 +32,16 @@ module LanguageServer
32
32
  #
33
33
  # An optional token that a server can use to report work done progress.
34
34
  #
35
- # @return [ProgressToken]
35
+ # @return [ProgressToken | nil]
36
36
  def work_done_token
37
37
  attributes.fetch(:workDoneToken)
38
38
  end
39
39
 
40
40
  #
41
- # An optional token that a server can use to report partial results (e.g.
42
- # streaming) to the client.
41
+ # An optional token that a server can use to report partial results (e.g. streaming) to
42
+ # the client.
43
43
  #
44
- # @return [ProgressToken]
44
+ # @return [ProgressToken | nil]
45
45
  def partial_result_token
46
46
  attributes.fetch(:partialResultToken)
47
47
  end
@@ -13,15 +13,15 @@ module LanguageServer
13
13
  end
14
14
 
15
15
  #
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.
16
+ # A document selector to identify the scope of the registration. If set to null
17
+ # the document selector provided on the client side will be used.
18
18
  #
19
- # @return [DocumentSelector]
19
+ # @return [DocumentSelector | null]
20
20
  def document_selector
21
21
  attributes.fetch(:documentSelector)
22
22
  end
23
23
 
24
- # @return [boolean]
24
+ # @return [boolean | nil]
25
25
  def work_done_progress
26
26
  attributes.fetch(:workDoneProgress)
27
27
  end
@@ -30,7 +30,7 @@ module LanguageServer
30
30
  # The id used to register the request. The id can be used to deregister
31
31
  # the request again. See also Registration#id.
32
32
  #
33
- # @return [string]
33
+ # @return [string | nil]
34
34
  def id
35
35
  attributes.fetch(:id)
36
36
  end
@@ -2,7 +2,8 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Known error codes for an `InitializeError`;
5
+ # The data type of the ResponseError if the
6
+ # initialize request fails.
6
7
  #
7
8
  class InitializeError
8
9
  def initialize(retry:)