language_server-protocol 3.17.0.6 → 3.18.0.0.pre.1

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 (516) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant/apply_kind.rb +26 -0
  3. data/lib/language_server/protocol/constant/code_action_kind.rb +42 -29
  4. data/lib/language_server/protocol/constant/code_action_tag.rb +17 -0
  5. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +2 -0
  6. data/lib/language_server/protocol/constant/completion_item_tag.rb +4 -2
  7. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -3
  8. data/lib/language_server/protocol/constant/diagnostic_severity.rb +3 -0
  9. data/lib/language_server/protocol/constant/diagnostic_tag.rb +4 -2
  10. data/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +4 -2
  11. data/lib/language_server/protocol/constant/error_codes.rb +8 -26
  12. data/lib/language_server/protocol/constant/failure_handling_kind.rb +9 -10
  13. data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
  14. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +4 -2
  15. data/lib/language_server/protocol/constant/folding_range_kind.rb +4 -5
  16. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +2 -0
  17. data/lib/language_server/protocol/constant/inline_completion_trigger_kind.rb +21 -0
  18. data/lib/language_server/protocol/constant/insert_text_format.rb +2 -0
  19. data/lib/language_server/protocol/constant/insert_text_mode.rb +2 -0
  20. data/lib/language_server/protocol/constant/language_kind.rb +83 -0
  21. data/lib/language_server/protocol/constant/lsp_error_codes.rb +1 -1
  22. data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
  23. data/lib/language_server/protocol/constant/message_type.rb +9 -0
  24. data/lib/language_server/protocol/constant/moniker_kind.rb +5 -3
  25. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +2 -0
  26. data/lib/language_server/protocol/constant/position_encoding_kind.rb +7 -7
  27. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +1 -1
  28. data/lib/language_server/protocol/constant/resource_operation_kind.rb +3 -6
  29. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +17 -10
  30. data/lib/language_server/protocol/constant/semantic_token_types.rb +39 -25
  31. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +3 -2
  32. data/lib/language_server/protocol/constant/symbol_tag.rb +2 -0
  33. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  34. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +3 -3
  35. data/lib/language_server/protocol/constant/token_format.rb +1 -1
  36. data/lib/language_server/protocol/constant/{trace_values.rb → trace_value.rb} +1 -1
  37. data/lib/language_server/protocol/constant/uniqueness_level.rb +7 -5
  38. data/lib/language_server/protocol/constant.rb +10 -4
  39. data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +13 -2
  40. data/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +2 -2
  41. data/lib/language_server/protocol/interface/base_symbol_information.rb +2 -2
  42. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +1 -1
  43. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +2 -2
  44. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +3 -3
  45. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +1 -1
  46. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +2 -2
  47. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +1 -1
  48. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +2 -2
  49. data/lib/language_server/protocol/interface/change_annotation.rb +2 -2
  50. data/lib/language_server/protocol/interface/change_annotations_support_options.rb +38 -0
  51. data/lib/language_server/protocol/interface/client_capabilities.rb +6 -6
  52. data/lib/language_server/protocol/interface/client_code_action_kind_options.rb +39 -0
  53. data/lib/language_server/protocol/interface/client_code_action_literal_options.rb +37 -0
  54. data/lib/language_server/protocol/interface/client_code_action_resolve_options.rb +36 -0
  55. data/lib/language_server/protocol/interface/client_code_lens_resolve_options.rb +36 -0
  56. data/lib/language_server/protocol/interface/client_completion_item_insert_text_mode_options.rb +33 -0
  57. data/lib/language_server/protocol/interface/client_completion_item_options.rb +142 -0
  58. data/lib/language_server/protocol/interface/client_completion_item_options_kind.rb +43 -0
  59. data/lib/language_server/protocol/interface/client_completion_item_resolve_options.rb +36 -0
  60. data/lib/language_server/protocol/interface/client_diagnostics_tag_options.rb +36 -0
  61. data/lib/language_server/protocol/interface/client_folding_range_kind_options.rb +39 -0
  62. data/lib/language_server/protocol/interface/client_folding_range_options.rb +39 -0
  63. data/lib/language_server/protocol/interface/client_info.rb +48 -0
  64. data/lib/language_server/protocol/interface/client_inlay_hint_resolve_options.rb +36 -0
  65. data/lib/language_server/protocol/interface/client_semantic_tokens_request_full_delta.rb +37 -0
  66. data/lib/language_server/protocol/interface/client_semantic_tokens_request_options.rb +47 -0
  67. data/lib/language_server/protocol/interface/client_show_message_action_item_options.rb +38 -0
  68. data/lib/language_server/protocol/interface/client_signature_information_options.rb +71 -0
  69. data/lib/language_server/protocol/interface/client_signature_parameter_information_options.rb +39 -0
  70. data/lib/language_server/protocol/interface/client_symbol_kind_options.rb +43 -0
  71. data/lib/language_server/protocol/interface/client_symbol_resolve_options.rb +37 -0
  72. data/lib/language_server/protocol/interface/client_symbol_tag_options.rb +36 -0
  73. data/lib/language_server/protocol/interface/code_action.rb +20 -9
  74. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +34 -10
  75. data/lib/language_server/protocol/interface/code_action_context.rb +2 -2
  76. data/lib/language_server/protocol/interface/code_action_disabled.rb +40 -0
  77. data/lib/language_server/protocol/interface/code_action_kind_documentation.rb +53 -0
  78. data/lib/language_server/protocol/interface/code_action_options.rb +26 -4
  79. data/lib/language_server/protocol/interface/code_action_params.rb +2 -2
  80. data/lib/language_server/protocol/interface/code_action_registration_options.rb +26 -4
  81. data/lib/language_server/protocol/interface/code_action_tag_options.rb +36 -0
  82. data/lib/language_server/protocol/interface/code_lens.rb +3 -4
  83. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +14 -2
  84. data/lib/language_server/protocol/interface/code_lens_options.rb +2 -2
  85. data/lib/language_server/protocol/interface/code_lens_params.rb +2 -2
  86. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +2 -2
  87. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +1 -1
  88. data/lib/language_server/protocol/interface/color_presentation.rb +2 -2
  89. data/lib/language_server/protocol/interface/color_presentation_params.rb +2 -2
  90. data/lib/language_server/protocol/interface/command.rb +13 -2
  91. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +12 -9
  92. data/lib/language_server/protocol/interface/completion_context.rb +1 -1
  93. data/lib/language_server/protocol/interface/completion_item.rb +18 -18
  94. data/lib/language_server/protocol/interface/completion_item_apply_kinds.rb +96 -0
  95. data/lib/language_server/protocol/interface/completion_item_defaults.rb +96 -0
  96. data/lib/language_server/protocol/interface/completion_item_label_details.rb +2 -2
  97. data/lib/language_server/protocol/interface/completion_item_tag_options.rb +36 -0
  98. data/lib/language_server/protocol/interface/completion_list.rb +31 -4
  99. data/lib/language_server/protocol/interface/completion_list_capabilities.rb +65 -0
  100. data/lib/language_server/protocol/interface/completion_options.rb +6 -6
  101. data/lib/language_server/protocol/interface/completion_params.rb +3 -3
  102. data/lib/language_server/protocol/interface/completion_registration_options.rb +6 -6
  103. data/lib/language_server/protocol/interface/configuration_item.rb +3 -3
  104. data/lib/language_server/protocol/interface/create_file.rb +2 -2
  105. data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
  106. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +2 -2
  107. data/lib/language_server/protocol/interface/declaration_options.rb +1 -1
  108. data/lib/language_server/protocol/interface/declaration_params.rb +2 -2
  109. data/lib/language_server/protocol/interface/declaration_registration_options.rb +2 -2
  110. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +2 -2
  111. data/lib/language_server/protocol/interface/definition_options.rb +1 -1
  112. data/lib/language_server/protocol/interface/definition_params.rb +2 -2
  113. data/lib/language_server/protocol/interface/definition_registration_options.rb +1 -1
  114. data/lib/language_server/protocol/interface/delete_file.rb +2 -2
  115. data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
  116. data/lib/language_server/protocol/interface/diagnostic.rb +15 -11
  117. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +59 -3
  118. data/lib/language_server/protocol/interface/diagnostic_options.rb +2 -2
  119. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +3 -3
  120. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +1 -1
  121. data/lib/language_server/protocol/interface/diagnostics_capabilities.rb +72 -0
  122. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +1 -1
  123. data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +1 -1
  124. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +2 -2
  125. data/lib/language_server/protocol/interface/did_save_text_document_params.rb +1 -1
  126. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +1 -1
  127. data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
  128. data/lib/language_server/protocol/interface/document_color_params.rb +2 -2
  129. data/lib/language_server/protocol/interface/document_color_registration_options.rb +2 -2
  130. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +4 -4
  131. data/lib/language_server/protocol/interface/document_diagnostic_report.rb +3 -3
  132. data/lib/language_server/protocol/interface/document_diagnostic_report_progress.rb +97 -0
  133. data/lib/language_server/protocol/interface/document_filter.rb +11 -7
  134. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +1 -1
  135. data/lib/language_server/protocol/interface/document_formatting_options.rb +1 -1
  136. data/lib/language_server/protocol/interface/document_formatting_params.rb +1 -1
  137. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +1 -1
  138. data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
  139. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +1 -1
  140. data/lib/language_server/protocol/interface/document_highlight_options.rb +1 -1
  141. data/lib/language_server/protocol/interface/document_highlight_params.rb +2 -2
  142. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +1 -1
  143. data/lib/language_server/protocol/interface/document_link.rb +4 -4
  144. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +2 -2
  145. data/lib/language_server/protocol/interface/document_link_options.rb +2 -2
  146. data/lib/language_server/protocol/interface/document_link_params.rb +2 -2
  147. data/lib/language_server/protocol/interface/document_link_registration_options.rb +2 -2
  148. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +1 -1
  149. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +1 -1
  150. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +1 -1
  151. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +13 -2
  152. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +13 -2
  153. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +1 -1
  154. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +13 -2
  155. data/lib/language_server/protocol/interface/document_ranges_formatting_params.rb +65 -0
  156. data/lib/language_server/protocol/interface/document_symbol.rb +4 -4
  157. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +7 -7
  158. data/lib/language_server/protocol/interface/document_symbol_options.rb +2 -2
  159. data/lib/language_server/protocol/interface/document_symbol_params.rb +2 -2
  160. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +2 -2
  161. data/lib/language_server/protocol/interface/edit_range_with_insert_replace.rb +41 -0
  162. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +1 -1
  163. data/lib/language_server/protocol/interface/execute_command_options.rb +1 -1
  164. data/lib/language_server/protocol/interface/execute_command_params.rb +2 -2
  165. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +1 -1
  166. data/lib/language_server/protocol/interface/execution_summary.rb +1 -1
  167. data/lib/language_server/protocol/interface/file_create.rb +2 -2
  168. data/lib/language_server/protocol/interface/file_delete.rb +2 -2
  169. data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +7 -7
  170. data/lib/language_server/protocol/interface/file_operation_filter.rb +1 -1
  171. data/lib/language_server/protocol/interface/file_operation_options.rb +6 -6
  172. data/lib/language_server/protocol/interface/file_operation_pattern.rb +3 -3
  173. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +1 -1
  174. data/lib/language_server/protocol/interface/file_rename.rb +4 -4
  175. data/lib/language_server/protocol/interface/file_system_watcher.rb +1 -1
  176. data/lib/language_server/protocol/interface/folding_range.rb +5 -5
  177. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +7 -7
  178. data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
  179. data/lib/language_server/protocol/interface/folding_range_params.rb +2 -2
  180. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +2 -2
  181. data/lib/language_server/protocol/interface/folding_range_workspace_client_capabilities.rb +46 -0
  182. data/lib/language_server/protocol/interface/formatting_options.rb +3 -3
  183. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +1 -1
  184. data/lib/language_server/protocol/interface/general_client_capabilities.rb +5 -5
  185. data/lib/language_server/protocol/interface/hover.rb +1 -1
  186. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +2 -2
  187. data/lib/language_server/protocol/interface/hover_options.rb +1 -1
  188. data/lib/language_server/protocol/interface/hover_params.rb +1 -1
  189. data/lib/language_server/protocol/interface/hover_registration_options.rb +1 -1
  190. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +2 -2
  191. data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
  192. data/lib/language_server/protocol/interface/implementation_params.rb +2 -2
  193. data/lib/language_server/protocol/interface/implementation_registration_options.rb +2 -2
  194. data/lib/language_server/protocol/interface/initialize_params.rb +9 -9
  195. data/lib/language_server/protocol/interface/initialize_result.rb +2 -2
  196. data/lib/language_server/protocol/interface/inlay_hint.rb +9 -6
  197. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +3 -3
  198. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +3 -3
  199. data/lib/language_server/protocol/interface/inlay_hint_options.rb +2 -2
  200. data/lib/language_server/protocol/interface/inlay_hint_params.rb +1 -1
  201. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +3 -3
  202. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +1 -1
  203. data/lib/language_server/protocol/interface/inline_completion_client_capabilities.rb +38 -0
  204. data/lib/language_server/protocol/interface/inline_completion_context.rb +47 -0
  205. data/lib/language_server/protocol/interface/inline_completion_item.rb +65 -0
  206. data/lib/language_server/protocol/interface/inline_completion_list.rb +38 -0
  207. data/lib/language_server/protocol/interface/inline_completion_options.rb +35 -0
  208. data/lib/language_server/protocol/interface/inline_completion_params.rb +66 -0
  209. data/lib/language_server/protocol/interface/inline_completion_registration_options.rb +55 -0
  210. data/lib/language_server/protocol/interface/inline_value.rb +11 -7
  211. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +1 -1
  212. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +12 -6
  213. data/lib/language_server/protocol/interface/inline_value_options.rb +1 -1
  214. data/lib/language_server/protocol/interface/inline_value_params.rb +3 -3
  215. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +2 -2
  216. data/lib/language_server/protocol/interface/inline_value_text.rb +1 -1
  217. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +11 -5
  218. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +1 -1
  219. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +1 -1
  220. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
  221. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
  222. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +2 -2
  223. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +1 -1
  224. data/lib/language_server/protocol/interface/location_link.rb +1 -1
  225. data/lib/language_server/protocol/interface/location_uri_only.rb +35 -0
  226. data/lib/language_server/protocol/interface/log_trace_params.rb +1 -1
  227. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +2 -2
  228. data/lib/language_server/protocol/interface/marked_string_with_language.rb +40 -0
  229. data/lib/language_server/protocol/interface/moniker.rb +1 -1
  230. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +1 -1
  231. data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
  232. data/lib/language_server/protocol/interface/moniker_params.rb +2 -2
  233. data/lib/language_server/protocol/interface/moniker_registration_options.rb +1 -1
  234. data/lib/language_server/protocol/interface/notebook_cell.rb +2 -2
  235. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +1 -1
  236. data/lib/language_server/protocol/interface/{hover_result.rb → notebook_cell_language.rb} +8 -5
  237. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +1 -1
  238. data/lib/language_server/protocol/interface/notebook_document.rb +1 -1
  239. data/lib/language_server/protocol/interface/notebook_document_cell_change_structure.rb +56 -0
  240. data/lib/language_server/protocol/interface/notebook_document_cell_changes.rb +58 -0
  241. data/lib/language_server/protocol/interface/notebook_document_cell_content_changes.rb +41 -0
  242. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +3 -3
  243. data/lib/language_server/protocol/interface/notebook_document_filter.rb +4 -4
  244. data/lib/language_server/protocol/interface/notebook_document_filter_notebook_type.rb +56 -0
  245. data/lib/language_server/protocol/interface/notebook_document_filter_pattern.rb +56 -0
  246. data/lib/language_server/protocol/interface/notebook_document_filter_scheme.rb +56 -0
  247. data/lib/language_server/protocol/interface/notebook_document_filter_with_cells.rb +47 -0
  248. data/lib/language_server/protocol/interface/notebook_document_filter_with_notebook.rb +47 -0
  249. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +2 -2
  250. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +2 -2
  251. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +3 -3
  252. data/lib/language_server/protocol/interface/notification_message.rb +1 -1
  253. data/lib/language_server/protocol/interface/parameter_information.rb +5 -1
  254. data/lib/language_server/protocol/interface/partial_result_params.rb +1 -1
  255. data/lib/language_server/protocol/interface/position.rb +2 -8
  256. data/lib/language_server/protocol/interface/prepare_rename_default_behavior.rb +33 -0
  257. data/lib/language_server/protocol/interface/prepare_rename_params.rb +1 -1
  258. data/lib/language_server/protocol/interface/prepare_rename_placeholder.rb +39 -0
  259. data/lib/language_server/protocol/interface/prepare_rename_result.rb +5 -5
  260. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +18 -18
  261. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +1 -1
  262. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +1 -1
  263. data/lib/language_server/protocol/interface/reference_options.rb +1 -1
  264. data/lib/language_server/protocol/interface/reference_params.rb +2 -2
  265. data/lib/language_server/protocol/interface/reference_registration_options.rb +1 -1
  266. data/lib/language_server/protocol/interface/registration.rb +1 -1
  267. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +2 -2
  268. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +2 -2
  269. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +1 -1
  270. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +4 -4
  271. data/lib/language_server/protocol/interface/rename_file.rb +2 -2
  272. data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
  273. data/lib/language_server/protocol/interface/rename_options.rb +2 -2
  274. data/lib/language_server/protocol/interface/rename_params.rb +15 -15
  275. data/lib/language_server/protocol/interface/rename_registration_options.rb +2 -2
  276. data/lib/language_server/protocol/interface/request_message.rb +1 -1
  277. data/lib/language_server/protocol/interface/resource_operation.rb +1 -1
  278. data/lib/language_server/protocol/interface/response_error.rb +1 -1
  279. data/lib/language_server/protocol/interface/response_message.rb +3 -3
  280. data/lib/language_server/protocol/interface/save_options.rb +1 -1
  281. data/lib/language_server/protocol/interface/selected_completion_info.rb +47 -0
  282. data/lib/language_server/protocol/interface/selection_range.rb +1 -1
  283. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +1 -1
  284. data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
  285. data/lib/language_server/protocol/interface/selection_range_params.rb +2 -2
  286. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +2 -2
  287. data/lib/language_server/protocol/interface/semantic_tokens.rb +1 -1
  288. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +6 -6
  289. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +1 -1
  290. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +2 -2
  291. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +1 -1
  292. data/lib/language_server/protocol/interface/semantic_tokens_full_delta.rb +38 -0
  293. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +4 -4
  294. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +2 -2
  295. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +2 -2
  296. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +5 -5
  297. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +1 -1
  298. data/lib/language_server/protocol/interface/server_capabilities.rb +48 -37
  299. data/lib/language_server/protocol/interface/server_completion_item_options.rb +40 -0
  300. data/lib/language_server/protocol/interface/server_info.rb +48 -0
  301. data/lib/language_server/protocol/interface/set_trace_params.rb +1 -1
  302. data/lib/language_server/protocol/interface/show_document_params.rb +6 -6
  303. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +2 -2
  304. data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
  305. data/lib/language_server/protocol/interface/signature_help.rb +20 -8
  306. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +4 -4
  307. data/lib/language_server/protocol/interface/signature_help_context.rb +2 -2
  308. data/lib/language_server/protocol/interface/signature_help_options.rb +3 -3
  309. data/lib/language_server/protocol/interface/signature_help_params.rb +2 -2
  310. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +3 -3
  311. data/lib/language_server/protocol/interface/signature_information.rb +10 -4
  312. data/lib/language_server/protocol/interface/snippet_text_edit.rb +56 -0
  313. data/lib/language_server/protocol/interface/stale_request_support_options.rb +47 -0
  314. data/lib/language_server/protocol/interface/static_registration_options.rb +1 -1
  315. data/lib/language_server/protocol/interface/string_value.rb +53 -0
  316. data/lib/language_server/protocol/interface/symbol_information.rb +3 -3
  317. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +53 -31
  318. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
  319. data/lib/language_server/protocol/interface/text_document_content_change_partial.rb +56 -0
  320. data/lib/language_server/protocol/interface/text_document_content_change_whole_document.rb +36 -0
  321. data/lib/language_server/protocol/interface/text_document_content_client_capabilities.rb +38 -0
  322. data/lib/language_server/protocol/interface/text_document_content_options.rb +38 -0
  323. data/lib/language_server/protocol/interface/text_document_content_params.rb +38 -0
  324. data/lib/language_server/protocol/interface/text_document_content_refresh_params.rb +38 -0
  325. data/lib/language_server/protocol/interface/text_document_content_registration_options.rb +48 -0
  326. data/lib/language_server/protocol/interface/text_document_content_result.rb +41 -0
  327. data/lib/language_server/protocol/interface/text_document_edit.rb +4 -1
  328. data/lib/language_server/protocol/interface/text_document_filter.rb +10 -6
  329. data/lib/language_server/protocol/interface/text_document_filter_client_capabilities.rb +35 -0
  330. data/lib/language_server/protocol/interface/text_document_filter_language.rb +60 -0
  331. data/lib/language_server/protocol/interface/text_document_filter_pattern.rb +60 -0
  332. data/lib/language_server/protocol/interface/text_document_filter_scheme.rb +60 -0
  333. data/lib/language_server/protocol/interface/text_document_item.rb +1 -1
  334. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +1 -1
  335. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
  336. data/lib/language_server/protocol/interface/text_document_sync_options.rb +5 -5
  337. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +2 -2
  338. data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
  339. data/lib/language_server/protocol/interface/type_definition_params.rb +2 -2
  340. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +2 -2
  341. data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +1 -1
  342. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +3 -3
  343. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +1 -1
  344. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +1 -1
  345. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +2 -2
  346. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +2 -2
  347. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +2 -2
  348. data/lib/language_server/protocol/interface/window_client_capabilities.rb +3 -3
  349. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
  350. data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
  351. data/lib/language_server/protocol/interface/work_done_progress_options.rb +1 -1
  352. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  353. data/lib/language_server/protocol/interface/work_done_progress_report.rb +3 -3
  354. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +37 -15
  355. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +3 -3
  356. data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +2 -2
  357. data/lib/language_server/protocol/interface/workspace_edit.rb +3 -3
  358. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +29 -7
  359. data/lib/language_server/protocol/interface/workspace_edit_metadata.rb +38 -0
  360. data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +1 -1
  361. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +2 -2
  362. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +1 -1
  363. data/lib/language_server/protocol/interface/workspace_options.rb +62 -0
  364. data/lib/language_server/protocol/interface/workspace_symbol.rb +4 -4
  365. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +7 -7
  366. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +2 -2
  367. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +8 -2
  368. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +2 -2
  369. data/lib/language_server/protocol/interface.rb +150 -2
  370. data/lib/language_server/protocol/transport/io/writer.rb +2 -0
  371. data/lib/language_server/protocol/version.rb +1 -1
  372. data/sig/language_server/protocol/constant/apply_kind.rbs +26 -0
  373. data/sig/language_server/protocol/constant/code_action_kind.rbs +42 -29
  374. data/sig/language_server/protocol/constant/code_action_tag.rbs +17 -0
  375. data/sig/language_server/protocol/constant/code_action_trigger_kind.rbs +2 -0
  376. data/sig/language_server/protocol/constant/completion_item_tag.rbs +4 -2
  377. data/sig/language_server/protocol/constant/completion_trigger_kind.rbs +2 -3
  378. data/sig/language_server/protocol/constant/diagnostic_severity.rbs +3 -0
  379. data/sig/language_server/protocol/constant/diagnostic_tag.rbs +4 -2
  380. data/sig/language_server/protocol/constant/document_diagnostic_report_kind.rbs +4 -2
  381. data/sig/language_server/protocol/constant/error_codes.rbs +8 -26
  382. data/sig/language_server/protocol/constant/failure_handling_kind.rbs +9 -10
  383. data/sig/language_server/protocol/constant/file_change_type.rbs +1 -1
  384. data/sig/language_server/protocol/constant/file_operation_pattern_kind.rbs +4 -2
  385. data/sig/language_server/protocol/constant/folding_range_kind.rbs +4 -5
  386. data/sig/language_server/protocol/constant/inlay_hint_kind.rbs +2 -0
  387. data/sig/language_server/protocol/constant/inline_completion_trigger_kind.rbs +21 -0
  388. data/sig/language_server/protocol/constant/insert_text_format.rbs +2 -0
  389. data/sig/language_server/protocol/constant/insert_text_mode.rbs +2 -0
  390. data/sig/language_server/protocol/constant/language_kind.rbs +83 -0
  391. data/sig/language_server/protocol/constant/lsp_error_codes.rbs +1 -1
  392. data/sig/language_server/protocol/constant/markup_kind.rbs +2 -2
  393. data/sig/language_server/protocol/constant/message_type.rbs +9 -0
  394. data/sig/language_server/protocol/constant/moniker_kind.rbs +5 -3
  395. data/sig/language_server/protocol/constant/notebook_cell_kind.rbs +2 -0
  396. data/sig/language_server/protocol/constant/position_encoding_kind.rbs +7 -7
  397. data/sig/language_server/protocol/constant/prepare_support_default_behavior.rbs +1 -1
  398. data/sig/language_server/protocol/constant/resource_operation_kind.rbs +3 -6
  399. data/sig/language_server/protocol/constant/semantic_token_modifiers.rbs +17 -10
  400. data/sig/language_server/protocol/constant/semantic_token_types.rbs +39 -25
  401. data/sig/language_server/protocol/constant/signature_help_trigger_kind.rbs +3 -2
  402. data/sig/language_server/protocol/constant/symbol_tag.rbs +2 -0
  403. data/sig/language_server/protocol/constant/text_document_save_reason.rbs +2 -2
  404. data/sig/language_server/protocol/constant/text_document_sync_kind.rbs +3 -3
  405. data/sig/language_server/protocol/constant/token_format.rbs +1 -1
  406. data/sig/language_server/protocol/constant/{trace_values.rbs → trace_value.rbs} +1 -1
  407. data/sig/language_server/protocol/constant/uniqueness_level.rbs +7 -5
  408. data/sig/language_server/protocol/interface/apply_workspace_edit_params.rbs +4 -1
  409. data/sig/language_server/protocol/interface/change_annotations_support_options.rbs +22 -0
  410. data/sig/language_server/protocol/interface/client_code_action_kind_options.rbs +22 -0
  411. data/sig/language_server/protocol/interface/client_code_action_literal_options.rbs +22 -0
  412. data/sig/language_server/protocol/interface/client_code_action_resolve_options.rbs +22 -0
  413. data/sig/language_server/protocol/interface/client_code_lens_resolve_options.rbs +22 -0
  414. data/sig/language_server/protocol/interface/client_completion_item_insert_text_mode_options.rbs +22 -0
  415. data/sig/language_server/protocol/interface/client_completion_item_options.rbs +49 -0
  416. data/sig/language_server/protocol/interface/client_completion_item_options_kind.rbs +22 -0
  417. data/sig/language_server/protocol/interface/client_completion_item_resolve_options.rbs +22 -0
  418. data/sig/language_server/protocol/interface/client_diagnostics_tag_options.rbs +22 -0
  419. data/sig/language_server/protocol/interface/client_folding_range_kind_options.rbs +22 -0
  420. data/sig/language_server/protocol/interface/client_folding_range_options.rbs +22 -0
  421. data/sig/language_server/protocol/interface/client_info.rbs +28 -0
  422. data/sig/language_server/protocol/interface/client_inlay_hint_resolve_options.rbs +22 -0
  423. data/sig/language_server/protocol/interface/client_semantic_tokens_request_full_delta.rbs +22 -0
  424. data/sig/language_server/protocol/interface/client_semantic_tokens_request_options.rbs +25 -0
  425. data/sig/language_server/protocol/interface/client_show_message_action_item_options.rbs +22 -0
  426. data/sig/language_server/protocol/interface/client_signature_information_options.rbs +31 -0
  427. data/sig/language_server/protocol/interface/client_signature_parameter_information_options.rbs +22 -0
  428. data/sig/language_server/protocol/interface/client_symbol_kind_options.rbs +22 -0
  429. data/sig/language_server/protocol/interface/client_symbol_resolve_options.rbs +22 -0
  430. data/sig/language_server/protocol/interface/client_symbol_tag_options.rbs +22 -0
  431. data/sig/language_server/protocol/interface/code_action.rbs +4 -1
  432. data/sig/language_server/protocol/interface/code_action_client_capabilities.rbs +7 -1
  433. data/sig/language_server/protocol/interface/code_action_disabled.rbs +24 -0
  434. data/sig/language_server/protocol/interface/code_action_kind_documentation.rbs +27 -0
  435. data/sig/language_server/protocol/interface/code_action_options.rbs +4 -1
  436. data/sig/language_server/protocol/interface/code_action_registration_options.rbs +4 -1
  437. data/sig/language_server/protocol/interface/code_action_tag_options.rbs +22 -0
  438. data/sig/language_server/protocol/interface/code_lens_client_capabilities.rbs +4 -1
  439. data/sig/language_server/protocol/interface/command.rbs +4 -1
  440. data/sig/language_server/protocol/interface/completion_item_apply_kinds.rbs +41 -0
  441. data/sig/language_server/protocol/interface/completion_item_defaults.rbs +48 -0
  442. data/sig/language_server/protocol/interface/completion_item_tag_options.rbs +22 -0
  443. data/sig/language_server/protocol/interface/completion_list.rbs +4 -1
  444. data/sig/language_server/protocol/interface/completion_list_capabilities.rbs +28 -0
  445. data/sig/language_server/protocol/interface/diagnostic.rbs +2 -2
  446. data/sig/language_server/protocol/interface/diagnostic_client_capabilities.rbs +16 -1
  447. data/sig/language_server/protocol/interface/diagnostics_capabilities.rbs +31 -0
  448. data/sig/language_server/protocol/interface/document_diagnostic_report_progress.rbs +45 -0
  449. data/sig/language_server/protocol/interface/document_filter.rbs +3 -3
  450. data/sig/language_server/protocol/interface/document_range_formatting_client_capabilities.rbs +4 -1
  451. data/sig/language_server/protocol/interface/document_range_formatting_options.rbs +4 -1
  452. data/sig/language_server/protocol/interface/document_range_formatting_registration_options.rbs +4 -1
  453. data/sig/language_server/protocol/interface/document_ranges_formatting_params.rbs +33 -0
  454. data/sig/language_server/protocol/interface/edit_range_with_insert_replace.rbs +27 -0
  455. data/sig/language_server/protocol/interface/folding_range_workspace_client_capabilities.rbs +24 -0
  456. data/sig/language_server/protocol/interface/inline_completion_client_capabilities.rbs +24 -0
  457. data/sig/language_server/protocol/interface/inline_completion_context.rbs +27 -0
  458. data/sig/language_server/protocol/interface/inline_completion_item.rbs +33 -0
  459. data/sig/language_server/protocol/interface/inline_completion_list.rbs +24 -0
  460. data/sig/language_server/protocol/interface/inline_completion_options.rbs +24 -0
  461. data/sig/language_server/protocol/interface/inline_completion_params.rbs +33 -0
  462. data/sig/language_server/protocol/interface/inline_completion_registration_options.rbs +30 -0
  463. data/sig/language_server/protocol/interface/inline_value_evaluatable_expression.rbs +7 -3
  464. data/sig/language_server/protocol/interface/inline_value_text.rbs +1 -1
  465. data/sig/language_server/protocol/interface/inline_value_variable_lookup.rbs +7 -3
  466. data/sig/language_server/protocol/interface/location_uri_only.rbs +24 -0
  467. data/sig/language_server/protocol/interface/marked_string_with_language.rbs +26 -0
  468. data/sig/language_server/protocol/interface/{hover_result.rbs → notebook_cell_language.rbs} +6 -3
  469. data/sig/language_server/protocol/interface/notebook_document_cell_change_structure.rbs +30 -0
  470. data/sig/language_server/protocol/interface/notebook_document_cell_changes.rbs +30 -0
  471. data/sig/language_server/protocol/interface/notebook_document_cell_content_changes.rbs +27 -0
  472. data/sig/language_server/protocol/interface/notebook_document_filter.rbs +2 -2
  473. data/sig/language_server/protocol/interface/notebook_document_filter_notebook_type.rbs +30 -0
  474. data/sig/language_server/protocol/interface/notebook_document_filter_pattern.rbs +30 -0
  475. data/sig/language_server/protocol/interface/notebook_document_filter_scheme.rbs +30 -0
  476. data/sig/language_server/protocol/interface/notebook_document_filter_with_cells.rbs +25 -0
  477. data/sig/language_server/protocol/interface/notebook_document_filter_with_notebook.rbs +25 -0
  478. data/sig/language_server/protocol/interface/position.rbs +2 -2
  479. data/sig/language_server/protocol/interface/prepare_rename_default_behavior.rbs +22 -0
  480. data/sig/language_server/protocol/interface/prepare_rename_placeholder.rbs +25 -0
  481. data/sig/language_server/protocol/interface/publish_diagnostics_client_capabilities.rbs +4 -4
  482. data/sig/language_server/protocol/interface/regular_expressions_client_capabilities.rbs +2 -2
  483. data/sig/language_server/protocol/interface/rename_params.rbs +4 -4
  484. data/sig/language_server/protocol/interface/selected_completion_info.rbs +27 -0
  485. data/sig/language_server/protocol/interface/semantic_tokens_full_delta.rbs +24 -0
  486. data/sig/language_server/protocol/interface/server_capabilities.rbs +4 -1
  487. data/sig/language_server/protocol/interface/server_completion_item_options.rbs +22 -0
  488. data/sig/language_server/protocol/interface/server_info.rbs +28 -0
  489. data/sig/language_server/protocol/interface/show_document_params.rbs +1 -1
  490. data/sig/language_server/protocol/interface/signature_help.rbs +1 -1
  491. data/sig/language_server/protocol/interface/signature_information.rbs +1 -1
  492. data/sig/language_server/protocol/interface/snippet_text_edit.rbs +30 -0
  493. data/sig/language_server/protocol/interface/stale_request_support_options.rbs +25 -0
  494. data/sig/language_server/protocol/interface/string_value.rbs +33 -0
  495. data/sig/language_server/protocol/interface/text_document_client_capabilities.rbs +7 -1
  496. data/sig/language_server/protocol/interface/text_document_content_change_partial.rbs +28 -0
  497. data/sig/language_server/protocol/interface/text_document_content_change_whole_document.rbs +22 -0
  498. data/sig/language_server/protocol/interface/text_document_content_client_capabilities.rbs +24 -0
  499. data/sig/language_server/protocol/interface/text_document_content_options.rbs +24 -0
  500. data/sig/language_server/protocol/interface/text_document_content_params.rbs +24 -0
  501. data/sig/language_server/protocol/interface/text_document_content_refresh_params.rbs +24 -0
  502. data/sig/language_server/protocol/interface/text_document_content_registration_options.rbs +27 -0
  503. data/sig/language_server/protocol/interface/text_document_content_result.rbs +24 -0
  504. data/sig/language_server/protocol/interface/text_document_filter.rbs +3 -3
  505. data/sig/language_server/protocol/interface/text_document_filter_client_capabilities.rbs +19 -0
  506. data/sig/language_server/protocol/interface/text_document_filter_language.rbs +30 -0
  507. data/sig/language_server/protocol/interface/text_document_filter_pattern.rbs +30 -0
  508. data/sig/language_server/protocol/interface/text_document_filter_scheme.rbs +30 -0
  509. data/sig/language_server/protocol/interface/text_document_item.rbs +2 -2
  510. data/sig/language_server/protocol/interface/workspace_client_capabilities.rbs +7 -1
  511. data/sig/language_server/protocol/interface/workspace_edit_client_capabilities.rbs +7 -1
  512. data/sig/language_server/protocol/interface/workspace_edit_metadata.rbs +24 -0
  513. data/sig/language_server/protocol/interface/workspace_options.rbs +30 -0
  514. metadata +162 -8
  515. data/lib/language_server/protocol/constant/initialize_error_codes.rb +0 -18
  516. data/sig/language_server/protocol/constant/initialize_error_codes.rbs +0 -18
@@ -9,8 +9,8 @@ module LanguageServer
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:documentSelector] = document_selector
12
- @attributes[:resolveProvider] = resolve_provider if resolve_provider
13
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
12
+ @attributes[:resolveProvider] = resolve_provider unless resolve_provider.nil?
13
+ @attributes[:workDoneProgress] = work_done_progress unless work_done_progress.nil?
14
14
 
15
15
  @attributes.freeze
16
16
  end
@@ -8,7 +8,7 @@ module LanguageServer
8
8
  def initialize(refresh_support: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:refreshSupport] = refresh_support if refresh_support
11
+ @attributes[:refreshSupport] = refresh_support unless refresh_support.nil?
12
12
 
13
13
  @attributes.freeze
14
14
  end
@@ -6,8 +6,8 @@ module LanguageServer
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:label] = label
9
- @attributes[:textEdit] = text_edit if text_edit
10
- @attributes[:additionalTextEdits] = additional_text_edits if additional_text_edits
9
+ @attributes[:textEdit] = text_edit unless text_edit.nil?
10
+ @attributes[:additionalTextEdits] = additional_text_edits unless additional_text_edits.nil?
11
11
 
12
12
  @attributes.freeze
13
13
  end
@@ -11,8 +11,8 @@ module LanguageServer
11
11
  @attributes[:textDocument] = text_document
12
12
  @attributes[:color] = color
13
13
  @attributes[:range] = range
14
- @attributes[:workDoneToken] = work_done_token if work_done_token
15
- @attributes[:partialResultToken] = partial_result_token if partial_result_token
14
+ @attributes[:workDoneToken] = work_done_token unless work_done_token.nil?
15
+ @attributes[:partialResultToken] = partial_result_token unless partial_result_token.nil?
16
16
 
17
17
  @attributes.freeze
18
18
  end
@@ -8,12 +8,13 @@ module LanguageServer
8
8
  # function when invoked.
9
9
  #
10
10
  class Command
11
- def initialize(title:, command:, arguments: nil)
11
+ def initialize(title:, tooltip: nil, command:, arguments: nil)
12
12
  @attributes = {}
13
13
 
14
14
  @attributes[:title] = title
15
+ @attributes[:tooltip] = tooltip unless tooltip.nil?
15
16
  @attributes[:command] = command
16
- @attributes[:arguments] = arguments if arguments
17
+ @attributes[:arguments] = arguments unless arguments.nil?
17
18
 
18
19
  @attributes.freeze
19
20
  end
@@ -26,6 +27,16 @@ module LanguageServer
26
27
  attributes.fetch(:title)
27
28
  end
28
29
 
30
+ #
31
+ # An optional tooltip.
32
+ #
33
+ # @since 3.18.0
34
+ #
35
+ # @return [string]
36
+ def tooltip
37
+ attributes.fetch(:tooltip)
38
+ end
39
+
29
40
  #
30
41
  # The identifier of the actual command handler.
31
42
  #
@@ -8,12 +8,12 @@ module LanguageServer
8
8
  def initialize(dynamic_registration: nil, completion_item: nil, completion_item_kind: nil, insert_text_mode: nil, context_support: nil, completion_list: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
12
- @attributes[:completionItem] = completion_item if completion_item
13
- @attributes[:completionItemKind] = completion_item_kind if completion_item_kind
14
- @attributes[:insertTextMode] = insert_text_mode if insert_text_mode
15
- @attributes[:contextSupport] = context_support if context_support
16
- @attributes[:completionList] = completion_list if completion_list
11
+ @attributes[:dynamicRegistration] = dynamic_registration unless dynamic_registration.nil?
12
+ @attributes[:completionItem] = completion_item unless completion_item.nil?
13
+ @attributes[:completionItemKind] = completion_item_kind unless completion_item_kind.nil?
14
+ @attributes[:insertTextMode] = insert_text_mode unless insert_text_mode.nil?
15
+ @attributes[:contextSupport] = context_support unless context_support.nil?
16
+ @attributes[:completionList] = completion_list unless completion_list.nil?
17
17
 
18
18
  @attributes.freeze
19
19
  end
@@ -30,12 +30,15 @@ module LanguageServer
30
30
  # The client supports the following `CompletionItem` specific
31
31
  # capabilities.
32
32
  #
33
- # @return [{ snippetSupport?: boolean; commitCharactersSupport?: boolean; documentationFormat?: MarkupKind[]; deprecatedSupport?: boolean; preselectSupport?: boolean; tagSupport?: { valueSet: CompletionItemTag[]; }; insertReplaceSupport?: boolean; resolveSupport?: { properties: string[]; }; insertTextModeSupport?: { valueSet: InsertTextMode[]; }; labelDetailsSupport?: boolean; }]
33
+ # @return [ClientCompletionItemOptions]
34
34
  def completion_item
35
35
  attributes.fetch(:completionItem)
36
36
  end
37
37
 
38
- # @return [{ valueSet?: CompletionItemKind[]; }]
38
+ #
39
+ # The client supports the following completion item kinds.
40
+ #
41
+ # @return [ClientCompletionItemOptionsKind]
39
42
  def completion_item_kind
40
43
  attributes.fetch(:completionItemKind)
41
44
  end
@@ -67,7 +70,7 @@ module LanguageServer
67
70
  #
68
71
  # @since 3.17.0
69
72
  #
70
- # @return [{ itemDefaults?: string[]; }]
73
+ # @return [CompletionListCapabilities]
71
74
  def completion_list
72
75
  attributes.fetch(:completionList)
73
76
  end
@@ -9,7 +9,7 @@ module LanguageServer
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:triggerKind] = trigger_kind
12
- @attributes[:triggerCharacter] = trigger_character if trigger_character
12
+ @attributes[:triggerCharacter] = trigger_character unless trigger_character.nil?
13
13
 
14
14
  @attributes.freeze
15
15
  end
@@ -10,24 +10,24 @@ module LanguageServer
10
10
  @attributes = {}
11
11
 
12
12
  @attributes[:label] = label
13
- @attributes[:labelDetails] = label_details if label_details
14
- @attributes[:kind] = kind if kind
15
- @attributes[:tags] = tags if tags
16
- @attributes[:detail] = detail if detail
17
- @attributes[:documentation] = documentation if documentation
18
- @attributes[:deprecated] = deprecated if deprecated
19
- @attributes[:preselect] = preselect if preselect
20
- @attributes[:sortText] = sort_text if sort_text
21
- @attributes[:filterText] = filter_text if filter_text
22
- @attributes[:insertText] = insert_text if insert_text
23
- @attributes[:insertTextFormat] = insert_text_format if insert_text_format
24
- @attributes[:insertTextMode] = insert_text_mode if insert_text_mode
25
- @attributes[:textEdit] = text_edit if text_edit
26
- @attributes[:textEditText] = text_edit_text if text_edit_text
27
- @attributes[:additionalTextEdits] = additional_text_edits if additional_text_edits
28
- @attributes[:commitCharacters] = commit_characters if commit_characters
29
- @attributes[:command] = command if command
30
- @attributes[:data] = data if data
13
+ @attributes[:labelDetails] = label_details unless label_details.nil?
14
+ @attributes[:kind] = kind unless kind.nil?
15
+ @attributes[:tags] = tags unless tags.nil?
16
+ @attributes[:detail] = detail unless detail.nil?
17
+ @attributes[:documentation] = documentation unless documentation.nil?
18
+ @attributes[:deprecated] = deprecated unless deprecated.nil?
19
+ @attributes[:preselect] = preselect unless preselect.nil?
20
+ @attributes[:sortText] = sort_text unless sort_text.nil?
21
+ @attributes[:filterText] = filter_text unless filter_text.nil?
22
+ @attributes[:insertText] = insert_text unless insert_text.nil?
23
+ @attributes[:insertTextFormat] = insert_text_format unless insert_text_format.nil?
24
+ @attributes[:insertTextMode] = insert_text_mode unless insert_text_mode.nil?
25
+ @attributes[:textEdit] = text_edit unless text_edit.nil?
26
+ @attributes[:textEditText] = text_edit_text unless text_edit_text.nil?
27
+ @attributes[:additionalTextEdits] = additional_text_edits unless additional_text_edits.nil?
28
+ @attributes[:commitCharacters] = commit_characters unless commit_characters.nil?
29
+ @attributes[:command] = command unless command.nil?
30
+ @attributes[:data] = data unless data.nil?
31
31
 
32
32
  @attributes.freeze
33
33
  end
@@ -0,0 +1,96 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Specifies how fields from a completion item should be combined with those
6
+ # from `completionList.itemDefaults`.
7
+ #
8
+ # If unspecified, all fields will be treated as ApplyKind.Replace.
9
+ #
10
+ # If a field's value is ApplyKind.Replace, the value from a completion item (if
11
+ # provided and not `null`) will always be used instead of the value from
12
+ # `completionItem.itemDefaults`.
13
+ #
14
+ # If a field's value is ApplyKind.Merge, the values will be merged using the rules
15
+ # defined against each field below.
16
+ #
17
+ # Servers are only allowed to return `applyKind` if the client
18
+ # signals support for this via the `completionList.applyKindSupport`
19
+ # capability.
20
+ #
21
+ # @since 3.18.0
22
+ #
23
+ class CompletionItemApplyKinds
24
+ def initialize(commit_characters: nil, data: nil)
25
+ @attributes = {}
26
+
27
+ @attributes[:commitCharacters] = commit_characters unless commit_characters.nil?
28
+ @attributes[:data] = data unless data.nil?
29
+
30
+ @attributes.freeze
31
+ end
32
+
33
+ #
34
+ # Specifies whether commitCharacters on a completion will replace or be
35
+ # merged with those in `completionList.itemDefaults.commitCharacters`.
36
+ #
37
+ # If ApplyKind.Replace, the commit characters from the completion item will
38
+ # always be used unless not provided, in which case those from
39
+ # `completionList.itemDefaults.commitCharacters` will be used. An
40
+ # empty list can be used if a completion item does not have any commit
41
+ # characters and also should not use those from
42
+ # `completionList.itemDefaults.commitCharacters`.
43
+ #
44
+ # If ApplyKind.Merge the commitCharacters for the completion will be the
45
+ # union of all values in both `completionList.itemDefaults.commitCharacters`
46
+ # and the completion's own `commitCharacters`.
47
+ #
48
+ # @since 3.18.0
49
+ #
50
+ # @return [ApplyKind]
51
+ def commit_characters
52
+ attributes.fetch(:commitCharacters)
53
+ end
54
+
55
+ #
56
+ # Specifies whether the `data` field on a completion will replace or
57
+ # be merged with data from `completionList.itemDefaults.data`.
58
+ #
59
+ # If ApplyKind.Replace, the data from the completion item will be used if
60
+ # provided (and not `null`), otherwise
61
+ # `completionList.itemDefaults.data` will be used. An empty object can
62
+ # be used if a completion item does not have any data but also should
63
+ # not use the value from `completionList.itemDefaults.data`.
64
+ #
65
+ # If ApplyKind.Merge, a shallow merge will be performed between
66
+ # `completionList.itemDefaults.data` and the completion's own data
67
+ # using the following rules:
68
+ #
69
+ # - If a completion's `data` field is not provided (or `null`), the
70
+ # entire `data` field from `completionList.itemDefaults.data` will be
71
+ # used as-is.
72
+ # - If a completion's `data` field is provided, each field will
73
+ # overwrite the field of the same name in
74
+ # `completionList.itemDefaults.data` but no merging of nested fields
75
+ # within that value will occur.
76
+ #
77
+ # @since 3.18.0
78
+ #
79
+ # @return [ApplyKind]
80
+ def data
81
+ attributes.fetch(:data)
82
+ end
83
+
84
+ attr_reader :attributes
85
+
86
+ def to_hash
87
+ attributes
88
+ end
89
+
90
+ def to_json(*args)
91
+ to_hash.to_json(*args)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,96 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # In many cases the items of an actual completion result share the same
6
+ # value for properties like `commitCharacters` or the range of a text
7
+ # edit. A completion list can therefore define item defaults which will
8
+ # be used if a completion item itself doesn't specify the value.
9
+ #
10
+ # If a completion list specifies a default value and a completion item
11
+ # also specifies a corresponding value, the rules for combining these are
12
+ # defined by `applyKinds` (if the client supports it), defaulting to
13
+ # ApplyKind.Replace.
14
+ #
15
+ # Servers are only allowed to return default values if the client
16
+ # signals support for this via the `completionList.itemDefaults`
17
+ # capability.
18
+ #
19
+ # @since 3.17.0
20
+ #
21
+ class CompletionItemDefaults
22
+ def initialize(commit_characters: nil, edit_range: nil, insert_text_format: nil, insert_text_mode: nil, data: nil)
23
+ @attributes = {}
24
+
25
+ @attributes[:commitCharacters] = commit_characters unless commit_characters.nil?
26
+ @attributes[:editRange] = edit_range unless edit_range.nil?
27
+ @attributes[:insertTextFormat] = insert_text_format unless insert_text_format.nil?
28
+ @attributes[:insertTextMode] = insert_text_mode unless insert_text_mode.nil?
29
+ @attributes[:data] = data unless data.nil?
30
+
31
+ @attributes.freeze
32
+ end
33
+
34
+ #
35
+ # A default commit character set.
36
+ #
37
+ # @since 3.17.0
38
+ #
39
+ # @return [string[]]
40
+ def commit_characters
41
+ attributes.fetch(:commitCharacters)
42
+ end
43
+
44
+ #
45
+ # A default edit range.
46
+ #
47
+ # @since 3.17.0
48
+ #
49
+ # @return [Range | EditRangeWithInsertReplace]
50
+ def edit_range
51
+ attributes.fetch(:editRange)
52
+ end
53
+
54
+ #
55
+ # A default insert text format.
56
+ #
57
+ # @since 3.17.0
58
+ #
59
+ # @return [InsertTextFormat]
60
+ def insert_text_format
61
+ attributes.fetch(:insertTextFormat)
62
+ end
63
+
64
+ #
65
+ # A default insert text mode.
66
+ #
67
+ # @since 3.17.0
68
+ #
69
+ # @return [InsertTextMode]
70
+ def insert_text_mode
71
+ attributes.fetch(:insertTextMode)
72
+ end
73
+
74
+ #
75
+ # A default data value.
76
+ #
77
+ # @since 3.17.0
78
+ #
79
+ # @return [LSPAny]
80
+ def data
81
+ attributes.fetch(:data)
82
+ end
83
+
84
+ attr_reader :attributes
85
+
86
+ def to_hash
87
+ attributes
88
+ end
89
+
90
+ def to_json(*args)
91
+ to_hash.to_json(*args)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -10,8 +10,8 @@ module LanguageServer
10
10
  def initialize(detail: nil, description: nil)
11
11
  @attributes = {}
12
12
 
13
- @attributes[:detail] = detail if detail
14
- @attributes[:description] = description if description
13
+ @attributes[:detail] = detail unless detail.nil?
14
+ @attributes[:description] = description unless description.nil?
15
15
 
16
16
  @attributes.freeze
17
17
  end
@@ -0,0 +1,36 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # @since 3.18.0
6
+ #
7
+ class CompletionItemTagOptions
8
+ def initialize(value_set:)
9
+ @attributes = {}
10
+
11
+ @attributes[:valueSet] = value_set
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # The tags supported by the client.
18
+ #
19
+ # @return [CompletionItemTag[]]
20
+ def value_set
21
+ attributes.fetch(:valueSet)
22
+ end
23
+
24
+ attr_reader :attributes
25
+
26
+ def to_hash
27
+ attributes
28
+ end
29
+
30
+ def to_json(*args)
31
+ to_hash.to_json(*args)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -6,11 +6,12 @@ module LanguageServer
6
6
  # in the editor.
7
7
  #
8
8
  class CompletionList
9
- def initialize(is_incomplete:, item_defaults: nil, items:)
9
+ def initialize(is_incomplete:, item_defaults: nil, apply_kind: nil, items:)
10
10
  @attributes = {}
11
11
 
12
12
  @attributes[:isIncomplete] = is_incomplete
13
- @attributes[:itemDefaults] = item_defaults if item_defaults
13
+ @attributes[:itemDefaults] = item_defaults unless item_defaults.nil?
14
+ @attributes[:applyKind] = apply_kind unless apply_kind.nil?
14
15
  @attributes[:items] = items
15
16
 
16
17
  @attributes.freeze
@@ -34,7 +35,9 @@ module LanguageServer
34
35
  # be used if a completion item itself doesn't specify the value.
35
36
  #
36
37
  # If a completion list specifies a default value and a completion item
37
- # also specifies a corresponding value the one from the item is used.
38
+ # also specifies a corresponding value, the rules for combining these are
39
+ # defined by `applyKinds` (if the client supports it), defaulting to
40
+ # ApplyKind.Replace.
38
41
  #
39
42
  # Servers are only allowed to return default values if the client
40
43
  # signals support for this via the `completionList.itemDefaults`
@@ -42,11 +45,35 @@ module LanguageServer
42
45
  #
43
46
  # @since 3.17.0
44
47
  #
45
- # @return [{ commitCharacters?: string[]; editRange?: Range | { insert: Range; replace: Range; }; insertTextFormat?: InsertTextFormat; insertTextMode?: InsertTextMode; data?: LSPAny; }]
48
+ # @return [CompletionItemDefaults]
46
49
  def item_defaults
47
50
  attributes.fetch(:itemDefaults)
48
51
  end
49
52
 
53
+ #
54
+ # Specifies how fields from a completion item should be combined with those
55
+ # from `completionList.itemDefaults`.
56
+ #
57
+ # If unspecified, all fields will be treated as ApplyKind.Replace.
58
+ #
59
+ # If a field's value is ApplyKind.Replace, the value from a completion item
60
+ # (if provided and not `null`) will always be used instead of the value
61
+ # from `completionItem.itemDefaults`.
62
+ #
63
+ # If a field's value is ApplyKind.Merge, the values will be merged using
64
+ # the rules defined against each field below.
65
+ #
66
+ # Servers are only allowed to return `applyKind` if the client
67
+ # signals support for this via the `completionList.applyKindSupport`
68
+ # capability.
69
+ #
70
+ # @since 3.18.0
71
+ #
72
+ # @return [CompletionItemApplyKinds]
73
+ def apply_kind
74
+ attributes.fetch(:applyKind)
75
+ end
76
+
50
77
  #
51
78
  # The completion items.
52
79
  #
@@ -0,0 +1,65 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # The client supports the following `CompletionList` specific
6
+ # capabilities.
7
+ #
8
+ # @since 3.17.0
9
+ #
10
+ class CompletionListCapabilities
11
+ def initialize(item_defaults: nil, apply_kind_support: nil)
12
+ @attributes = {}
13
+
14
+ @attributes[:itemDefaults] = item_defaults unless item_defaults.nil?
15
+ @attributes[:applyKindSupport] = apply_kind_support unless apply_kind_support.nil?
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The client supports the following itemDefaults on
22
+ # a completion list.
23
+ #
24
+ # The value lists the supported property names of the
25
+ # `CompletionList.itemDefaults` object. If omitted
26
+ # no properties are supported.
27
+ #
28
+ # @since 3.17.0
29
+ #
30
+ # @return [string[]]
31
+ def item_defaults
32
+ attributes.fetch(:itemDefaults)
33
+ end
34
+
35
+ #
36
+ # Specifies whether the client supports `CompletionList.applyKind` to
37
+ # indicate how supported values from `completionList.itemDefaults`
38
+ # and `completion` will be combined.
39
+ #
40
+ # If a client supports `applyKind` it must support it for all fields
41
+ # that it supports that are listed in `CompletionList.applyKind`. This
42
+ # means when clients add support for new/future fields in completion
43
+ # items the MUST also support merge for them if those fields are
44
+ # defined in `CompletionList.applyKind`.
45
+ #
46
+ # @since 3.18.0
47
+ #
48
+ # @return [boolean]
49
+ def apply_kind_support
50
+ attributes.fetch(:applyKindSupport)
51
+ end
52
+
53
+ attr_reader :attributes
54
+
55
+ def to_hash
56
+ attributes
57
+ end
58
+
59
+ def to_json(*args)
60
+ to_hash.to_json(*args)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -8,11 +8,11 @@ module LanguageServer
8
8
  def initialize(trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil, completion_item: nil, work_done_progress: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:triggerCharacters] = trigger_characters if trigger_characters
12
- @attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
13
- @attributes[:resolveProvider] = resolve_provider if resolve_provider
14
- @attributes[:completionItem] = completion_item if completion_item
15
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
11
+ @attributes[:triggerCharacters] = trigger_characters unless trigger_characters.nil?
12
+ @attributes[:allCommitCharacters] = all_commit_characters unless all_commit_characters.nil?
13
+ @attributes[:resolveProvider] = resolve_provider unless resolve_provider.nil?
14
+ @attributes[:completionItem] = completion_item unless completion_item.nil?
15
+ @attributes[:workDoneProgress] = work_done_progress unless work_done_progress.nil?
16
16
 
17
17
  @attributes.freeze
18
18
  end
@@ -62,7 +62,7 @@ module LanguageServer
62
62
  #
63
63
  # @since 3.17.0
64
64
  #
65
- # @return [{ labelDetailsSupport?: boolean; }]
65
+ # @return [ServerCompletionItemOptions]
66
66
  def completion_item
67
67
  attributes.fetch(:completionItem)
68
68
  end
@@ -8,11 +8,11 @@ module LanguageServer
8
8
  def initialize(context: nil, text_document:, position:, work_done_token: nil, partial_result_token: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:context] = context if context
11
+ @attributes[:context] = context unless context.nil?
12
12
  @attributes[:textDocument] = text_document
13
13
  @attributes[:position] = position
14
- @attributes[:workDoneToken] = work_done_token if work_done_token
15
- @attributes[:partialResultToken] = partial_result_token if partial_result_token
14
+ @attributes[:workDoneToken] = work_done_token unless work_done_token.nil?
15
+ @attributes[:partialResultToken] = partial_result_token unless partial_result_token.nil?
16
16
 
17
17
  @attributes.freeze
18
18
  end
@@ -9,11 +9,11 @@ module LanguageServer
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:documentSelector] = document_selector
12
- @attributes[:triggerCharacters] = trigger_characters if trigger_characters
13
- @attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
14
- @attributes[:resolveProvider] = resolve_provider if resolve_provider
15
- @attributes[:completionItem] = completion_item if completion_item
16
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
12
+ @attributes[:triggerCharacters] = trigger_characters unless trigger_characters.nil?
13
+ @attributes[:allCommitCharacters] = all_commit_characters unless all_commit_characters.nil?
14
+ @attributes[:resolveProvider] = resolve_provider unless resolve_provider.nil?
15
+ @attributes[:completionItem] = completion_item unless completion_item.nil?
16
+ @attributes[:workDoneProgress] = work_done_progress unless work_done_progress.nil?
17
17
 
18
18
  @attributes.freeze
19
19
  end
@@ -72,7 +72,7 @@ module LanguageServer
72
72
  #
73
73
  # @since 3.17.0
74
74
  #
75
- # @return [{ labelDetailsSupport?: boolean; }]
75
+ # @return [ServerCompletionItemOptions]
76
76
  def completion_item
77
77
  attributes.fetch(:completionItem)
78
78
  end
@@ -5,8 +5,8 @@ module LanguageServer
5
5
  def initialize(scope_uri: nil, section: nil)
6
6
  @attributes = {}
7
7
 
8
- @attributes[:scopeUri] = scope_uri if scope_uri
9
- @attributes[:section] = section if section
8
+ @attributes[:scopeUri] = scope_uri unless scope_uri.nil?
9
+ @attributes[:section] = section unless section.nil?
10
10
 
11
11
  @attributes.freeze
12
12
  end
@@ -14,7 +14,7 @@ module LanguageServer
14
14
  #
15
15
  # The scope to get the configuration section for.
16
16
  #
17
- # @return [string]
17
+ # @return [URI]
18
18
  def scope_uri
19
19
  attributes.fetch(:scopeUri)
20
20
  end
@@ -10,8 +10,8 @@ module LanguageServer
10
10
 
11
11
  @attributes[:kind] = kind
12
12
  @attributes[:uri] = uri
13
- @attributes[:options] = options if options
14
- @attributes[:annotationId] = annotation_id if annotation_id
13
+ @attributes[:options] = options unless options.nil?
14
+ @attributes[:annotationId] = annotation_id unless annotation_id.nil?
15
15
 
16
16
  @attributes.freeze
17
17
  end
@@ -8,8 +8,8 @@ module LanguageServer
8
8
  def initialize(overwrite: nil, ignore_if_exists: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:overwrite] = overwrite if overwrite
12
- @attributes[:ignoreIfExists] = ignore_if_exists if ignore_if_exists
11
+ @attributes[:overwrite] = overwrite unless overwrite.nil?
12
+ @attributes[:ignoreIfExists] = ignore_if_exists unless ignore_if_exists.nil?
13
13
 
14
14
  @attributes.freeze
15
15
  end