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
@@ -0,0 +1,50 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Notebook specific client capabilities.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class NotebookDocumentSyncClientCapabilities
10
+ def initialize(dynamic_registration: nil, execution_summary_support: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
14
+ @attributes[:executionSummarySupport] = execution_summary_support if execution_summary_support
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # Whether implementation supports dynamic registration. If this is
21
+ # set to `true` the client supports the new
22
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
23
+ # return value for the corresponding server capability as well.
24
+ #
25
+ # @return [boolean | nil]
26
+ def dynamic_registration
27
+ attributes.fetch(:dynamicRegistration)
28
+ end
29
+
30
+ #
31
+ # The client supports sending execution summary data per cell.
32
+ #
33
+ # @return [boolean | nil]
34
+ def execution_summary_support
35
+ attributes.fetch(:executionSummarySupport)
36
+ end
37
+
38
+ attr_reader :attributes
39
+
40
+ def to_hash
41
+ attributes
42
+ end
43
+
44
+ def to_json(*args)
45
+ to_hash.to_json(*args)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,58 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Options specific to a notebook plus its cells
6
+ # to be synced to the server.
7
+ #
8
+ # If a selector provides a notebook document
9
+ # filter but no cell selector all cells of a
10
+ # matching notebook document will be synced.
11
+ #
12
+ # If a selector provides no notebook document
13
+ # filter but only a cell selector all notebook
14
+ # document that contain at least one matching
15
+ # cell will be synced.
16
+ #
17
+ # @since 3.17.0
18
+ #
19
+ class NotebookDocumentSyncOptions
20
+ def initialize(notebook_selector:, save: nil)
21
+ @attributes = {}
22
+
23
+ @attributes[:notebookSelector] = notebook_selector
24
+ @attributes[:save] = save if save
25
+
26
+ @attributes.freeze
27
+ end
28
+
29
+ #
30
+ # The notebooks to be synced
31
+ #
32
+ # @return [{ notebook:string | NotebookDocumentFilter, cells:{ language:string }[] } | { notebook:string | NotebookDocumentFilter, cells:{ language:string }[] }[]]
33
+ def notebook_selector
34
+ attributes.fetch(:notebookSelector)
35
+ end
36
+
37
+ #
38
+ # Whether save notification should be forwarded to
39
+ # the server. Will only be honored if mode === `notebook`.
40
+ #
41
+ # @return [boolean | nil]
42
+ def save
43
+ attributes.fetch(:save)
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,58 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Registration options specific to a notebook.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class NotebookDocumentSyncRegistrationOptions
10
+ def initialize(notebook_selector:, save: nil, id: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:notebookSelector] = notebook_selector
14
+ @attributes[:save] = save if save
15
+ @attributes[:id] = id if id
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The notebooks to be synced
22
+ #
23
+ # @return [{ notebook:string | NotebookDocumentFilter, cells:{ language:string }[] } | { notebook:string | NotebookDocumentFilter, cells:{ language:string }[] }[]]
24
+ def notebook_selector
25
+ attributes.fetch(:notebookSelector)
26
+ end
27
+
28
+ #
29
+ # Whether save notification should be forwarded to
30
+ # the server. Will only be honored if mode === `notebook`.
31
+ #
32
+ # @return [boolean | nil]
33
+ def save
34
+ attributes.fetch(:save)
35
+ end
36
+
37
+ #
38
+ # The id used to register the request. The id can be used to deregister
39
+ # the request again. See also Registration#id.
40
+ #
41
+ # @return [string | nil]
42
+ def id
43
+ attributes.fetch(:id)
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
@@ -1,38 +1,37 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # A text document identifier to optionally denote a specific version of a text document.
6
+ #
4
7
  class OptionalVersionedTextDocumentIdentifier
5
- def initialize(uri:, version:)
8
+ def initialize(version:, uri:)
6
9
  @attributes = {}
7
10
 
8
- @attributes[:uri] = uri
9
11
  @attributes[:version] = version
12
+ @attributes[:uri] = uri
10
13
 
11
14
  @attributes.freeze
12
15
  end
13
16
 
14
17
  #
15
- # The text document's URI.
18
+ # The version number of this document. If a versioned text document identifier
19
+ # is sent from the server to the client and the file is not open in the editor
20
+ # (the server has not received an open notification before) the server can send
21
+ # `null` to indicate that the version is unknown and the content on disk is the
22
+ # truth (as specified with document content ownership).
16
23
  #
17
- # @return [string]
18
- def uri
19
- attributes.fetch(:uri)
24
+ # @return [integer | null]
25
+ def version
26
+ attributes.fetch(:version)
20
27
  end
21
28
 
22
29
  #
23
- # The version number of this document. If an optional versioned text document
24
- # identifier is sent from the server to the client and the file is not
25
- # open in the editor (the server has not received an open notification
26
- # before) the server can send `null` to indicate that the version is
27
- # known and the content on disk is the master (as specified with document
28
- # content ownership).
30
+ # The text document's uri.
29
31
  #
30
- # The version number of a document will increase after each change,
31
- # including undo/redo. The number doesn't need to be consecutive.
32
- #
33
- # @return [number]
34
- def version
35
- attributes.fetch(:version)
32
+ # @return [DocumentUri]
33
+ def uri
34
+ attributes.fetch(:uri)
36
35
  end
37
36
 
38
37
  attr_reader :attributes
@@ -18,16 +18,14 @@ module LanguageServer
18
18
  #
19
19
  # The label of this parameter information.
20
20
  #
21
- # Either a string or an inclusive start and exclusive end offsets within
22
- # its containing signature label. (see SignatureInformation.label). The
23
- # offsets are based on a UTF-16 string representation as `Position` and
24
- # `Range` does.
21
+ # Either a string or an inclusive start and exclusive end offsets within its containing
22
+ # signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
23
+ # string representation as `Position` and `Range` does.
25
24
  #
26
- # *Note*: a label of type string should be a substring of its containing
27
- # signature label. Its intended use case is to highlight the parameter
28
- # label part in the `SignatureInformation.label`.
25
+ # *Note*: a label of type string should be a substring of its containing signature label.
26
+ # Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
29
27
  #
30
- # @return [string | [number, number]]
28
+ # @return [string | uinteger, uinteger]
31
29
  def label
32
30
  attributes.fetch(:label)
33
31
  end
@@ -36,7 +34,7 @@ module LanguageServer
36
34
  # The human-readable doc-comment of this parameter. Will be shown
37
35
  # in the UI but can be omitted.
38
36
  #
39
- # @return [string | MarkupContent]
37
+ # @return [string | MarkupContent | nil]
40
38
  def documentation
41
39
  attributes.fetch(:documentation)
42
40
  end
@@ -11,10 +11,10 @@ module LanguageServer
11
11
  end
12
12
 
13
13
  #
14
- # An optional token that a server can use to report partial results (e.g.
15
- # streaming) to the client.
14
+ # An optional token that a server can use to report partial results (e.g. streaming) to
15
+ # the client.
16
16
  #
17
- # @return [ProgressToken]
17
+ # @return [ProgressToken | nil]
18
18
  def partial_result_token
19
19
  attributes.fetch(:partialResultToken)
20
20
  end
@@ -1,6 +1,35 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Position in a text document expressed as zero-based line and character
6
+ # offset. Prior to 3.17 the offsets were always based on a UTF-16 string
7
+ # representation. So a string of the form `a𐐀b` the character offset of the
8
+ # character `a` is 0, the character offset of `𐐀` is 1 and the character
9
+ # offset of b is 3 since `𐐀` is represented using two code units in UTF-16.
10
+ # Since 3.17 clients and servers can agree on a different string encoding
11
+ # representation (e.g. UTF-8). The client announces it's supported encoding
12
+ # via the client capability [`general.positionEncodings`](#clientCapabilities).
13
+ # The value is an array of position encodings the client supports, with
14
+ # decreasing preference (e.g. the encoding at index `0` is the most preferred
15
+ # one). To stay backwards compatible the only mandatory encoding is UTF-16
16
+ # represented via the string `utf-16`. The server can pick one of the
17
+ # encodings offered by the client and signals that encoding back to the
18
+ # client via the initialize result's property
19
+ # [`capabilities.positionEncoding`](#serverCapabilities). If the string value
20
+ # `utf-16` is missing from the client's capability `general.positionEncodings`
21
+ # servers can safely assume that the client supports UTF-16. If the server
22
+ # omits the position encoding in its initialize result the encoding defaults
23
+ # to the string value `utf-16`. Implementation considerations: since the
24
+ # conversion from one encoding into another requires the content of the
25
+ # file / line the conversion is best done where the file is read which is
26
+ # usually on the server side.
27
+ #
28
+ # Positions are line end character agnostic. So you can not specify a position
29
+ # that denotes `\r|\n` or `\n|` where `|` represents the character offset.
30
+ #
31
+ # @since 3.17.0 - support for negotiated position encoding.
32
+ #
4
33
  class Position
5
34
  def initialize(line:, character:)
6
35
  @attributes = {}
@@ -14,20 +43,24 @@ module LanguageServer
14
43
  #
15
44
  # Line position in a document (zero-based).
16
45
  #
17
- # @return [number]
46
+ # If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
47
+ # If a line number is negative, it defaults to 0.
48
+ #
49
+ # @return [uinteger]
18
50
  def line
19
51
  attributes.fetch(:line)
20
52
  end
21
53
 
22
54
  #
23
- # Character offset on a line in a document (zero-based). Assuming that
24
- # the line is represented as a string, the `character` value represents
25
- # the gap between the `character` and `character + 1`.
55
+ # Character offset on a line in a document (zero-based).
56
+ #
57
+ # The meaning of this offset is determined by the negotiated
58
+ # `PositionEncodingKind`.
26
59
  #
27
- # If the character value is greater than the line length it defaults back
28
- # to the line length.
60
+ # If the character value is greater than the line length it defaults back to the
61
+ # line length.
29
62
  #
30
- # @return [number]
63
+ # @return [uinteger]
31
64
  def character
32
65
  attributes.fetch(:character)
33
66
  end
@@ -2,11 +2,12 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class PrepareRenameParams
5
- def initialize(text_document:, position:)
5
+ def initialize(text_document:, position:, work_done_token: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:textDocument] = text_document
9
9
  @attributes[:position] = position
10
+ @attributes[:workDoneToken] = work_done_token if work_done_token
10
11
 
11
12
  @attributes.freeze
12
13
  end
@@ -27,6 +28,14 @@ module LanguageServer
27
28
  attributes.fetch(:position)
28
29
  end
29
30
 
31
+ #
32
+ # An optional token that a server can use to report work done progress.
33
+ #
34
+ # @return [ProgressToken | nil]
35
+ def work_done_token
36
+ attributes.fetch(:workDoneToken)
37
+ end
38
+
30
39
  attr_reader :attributes
31
40
 
32
41
  def to_hash
@@ -0,0 +1,60 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class PrepareRenameResult
5
+ def initialize(start:, end:, range:, placeholder:, default_behavior:)
6
+ @attributes = {}
7
+
8
+ @attributes[:start] = start
9
+ @attributes[:end] = binding.local_variable_get(:end)
10
+ @attributes[:range] = range
11
+ @attributes[:placeholder] = placeholder
12
+ @attributes[:defaultBehavior] = default_behavior
13
+
14
+ @attributes.freeze
15
+ end
16
+
17
+ #
18
+ # The range's start position.
19
+ #
20
+ # @return [Position]
21
+ def start
22
+ attributes.fetch(:start)
23
+ end
24
+
25
+ #
26
+ # The range's end position.
27
+ #
28
+ # @return [Position]
29
+ def end
30
+ attributes.fetch(:end)
31
+ end
32
+
33
+ # @return [Range]
34
+ def range
35
+ attributes.fetch(:range)
36
+ end
37
+
38
+ # @return [string]
39
+ def placeholder
40
+ attributes.fetch(:placeholder)
41
+ end
42
+
43
+ # @return [boolean]
44
+ def default_behavior
45
+ attributes.fetch(:defaultBehavior)
46
+ end
47
+
48
+ attr_reader :attributes
49
+
50
+ def to_hash
51
+ attributes
52
+ end
53
+
54
+ def to_json(*args)
55
+ to_hash.to_json(*args)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,48 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A previous result id in a workspace pull request.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class PreviousResultId
10
+ def initialize(uri:, value:)
11
+ @attributes = {}
12
+
13
+ @attributes[:uri] = uri
14
+ @attributes[:value] = value
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # The URI for which the client knows a
21
+ # result id.
22
+ #
23
+ # @return [DocumentUri]
24
+ def uri
25
+ attributes.fetch(:uri)
26
+ end
27
+
28
+ #
29
+ # The value of the previous result id.
30
+ #
31
+ # @return [string]
32
+ def value
33
+ attributes.fetch(:value)
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
@@ -22,7 +22,7 @@ module LanguageServer
22
22
  #
23
23
  # The progress data.
24
24
  #
25
- # @return [T]
25
+ # @return [LSPAny]
26
26
  def value
27
27
  attributes.fetch(:value)
28
28
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # The publish diagnostic client capabilities.
6
+ #
4
7
  class PublishDiagnosticsClientCapabilities
5
8
  def initialize(related_information: nil, tag_support: nil, version_support: nil, code_description_support: nil, data_support: nil)
6
9
  @attributes = {}
@@ -17,7 +20,7 @@ module LanguageServer
17
20
  #
18
21
  # Whether the clients accepts diagnostics with related information.
19
22
  #
20
- # @return [boolean]
23
+ # @return [boolean | nil]
21
24
  def related_information
22
25
  attributes.fetch(:relatedInformation)
23
26
  end
@@ -26,7 +29,9 @@ module LanguageServer
26
29
  # Client supports the tag property to provide meta data about a diagnostic.
27
30
  # Clients supporting tags have to handle unknown tags gracefully.
28
31
  #
29
- # @return [{ valueSet: DiagnosticTag[]; }]
32
+ # @since 3.15.0
33
+ #
34
+ # @return [{ valueSet:DiagnosticTag[] } | nil]
30
35
  def tag_support
31
36
  attributes.fetch(:tagSupport)
32
37
  end
@@ -35,7 +40,9 @@ module LanguageServer
35
40
  # Whether the client interprets the version property of the
36
41
  # `textDocument/publishDiagnostics` notification's parameter.
37
42
  #
38
- # @return [boolean]
43
+ # @since 3.15.0
44
+ #
45
+ # @return [boolean | nil]
39
46
  def version_support
40
47
  attributes.fetch(:versionSupport)
41
48
  end
@@ -43,7 +50,9 @@ module LanguageServer
43
50
  #
44
51
  # Client supports a codeDescription property
45
52
  #
46
- # @return [boolean]
53
+ # @since 3.16.0
54
+ #
55
+ # @return [boolean | nil]
47
56
  def code_description_support
48
57
  attributes.fetch(:codeDescriptionSupport)
49
58
  end
@@ -53,7 +62,9 @@ module LanguageServer
53
62
  # preserved between a `textDocument/publishDiagnostics` and
54
63
  # `textDocument/codeAction` request.
55
64
  #
56
- # @return [boolean]
65
+ # @since 3.16.0
66
+ #
67
+ # @return [boolean | nil]
57
68
  def data_support
58
69
  attributes.fetch(:dataSupport)
59
70
  end
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # The publish diagnostic notification's parameters.
6
+ #
4
7
  class PublishDiagnosticsParams
5
8
  def initialize(uri:, version: nil, diagnostics:)
6
9
  @attributes = {}
@@ -15,16 +18,17 @@ module LanguageServer
15
18
  #
16
19
  # The URI for which diagnostic information is reported.
17
20
  #
18
- # @return [string]
21
+ # @return [DocumentUri]
19
22
  def uri
20
23
  attributes.fetch(:uri)
21
24
  end
22
25
 
23
26
  #
24
- # Optional the version number of the document the diagnostics are published
25
- # for.
27
+ # Optional the version number of the document the diagnostics are published for.
26
28
  #
27
- # @return [number]
29
+ # @since 3.15.0
30
+ #
31
+ # @return [integer | nil]
28
32
  def version
29
33
  attributes.fetch(:version)
30
34
  end
@@ -1,6 +1,19 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # A range in a text document expressed as (zero-based) start and end positions.
6
+ #
7
+ # If you want to specify a range that contains a line including the line ending
8
+ # character(s) then use an end position denoting the start of the next line.
9
+ # For example:
10
+ # ```ts
11
+ # {
12
+ # start: { line: 5, character: 23 }
13
+ # end : { line 6, character : 0 }
14
+ # }
15
+ # ```
16
+ #
4
17
  class Range
5
18
  def initialize(start:, end:)
6
19
  @attributes = {}
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Client Capabilities for a [ReferencesRequest](#ReferencesRequest).
6
+ #
4
7
  class ReferenceClientCapabilities
5
8
  def initialize(dynamic_registration: nil)
6
9
  @attributes = {}
@@ -13,7 +16,7 @@ module LanguageServer
13
16
  #
14
17
  # Whether references supports dynamic registration.
15
18
  #
16
- # @return [boolean]
19
+ # @return [boolean | nil]
17
20
  def dynamic_registration
18
21
  attributes.fetch(:dynamicRegistration)
19
22
  end
@@ -1,6 +1,10 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Value-object that contains additional information when
6
+ # requesting references.
7
+ #
4
8
  class ReferenceContext
5
9
  def initialize(include_declaration:)
6
10
  @attributes = {}
@@ -1,6 +1,9 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Reference options.
6
+ #
4
7
  class ReferenceOptions
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