language_server-protocol 3.16.0.1 → 3.17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant/code_action_kind.rb +25 -24
  3. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +24 -0
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +4 -2
  5. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -3
  6. data/lib/language_server/protocol/constant/diagnostic_severity.rb +3 -0
  7. data/lib/language_server/protocol/constant/diagnostic_tag.rb +4 -2
  8. data/lib/language_server/protocol/constant/error_codes.rb +19 -14
  9. data/lib/language_server/protocol/constant/failure_handling_kind.rb +9 -10
  10. data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
  11. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +4 -2
  12. data/lib/language_server/protocol/constant/folding_range_kind.rb +23 -0
  13. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +21 -0
  14. data/lib/language_server/protocol/constant/insert_text_format.rb +2 -0
  15. data/lib/language_server/protocol/constant/insert_text_mode.rb +2 -0
  16. data/lib/language_server/protocol/constant/lsp_error_codes.rb +55 -0
  17. data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
  18. data/lib/language_server/protocol/constant/message_type.rb +3 -0
  19. data/lib/language_server/protocol/constant/moniker_kind.rb +26 -0
  20. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +21 -0
  21. data/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
  22. data/lib/language_server/protocol/constant/resource_operation_kind.rb +3 -6
  23. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +25 -0
  24. data/lib/language_server/protocol/constant/semantic_token_types.rb +45 -0
  25. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +3 -2
  26. data/lib/language_server/protocol/constant/symbol_tag.rb +2 -0
  27. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  28. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +3 -3
  29. data/lib/language_server/protocol/constant/token_format.rb +1 -1
  30. data/lib/language_server/protocol/constant/trace_values.rb +20 -0
  31. data/lib/language_server/protocol/constant/uniqueness_level.rb +33 -0
  32. data/lib/language_server/protocol/constant.rb +22 -4
  33. data/lib/language_server/protocol/interface/annotated_text_edit.rb +12 -10
  34. data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +4 -1
  35. data/lib/language_server/protocol/interface/{apply_workspace_edit_response.rb → apply_workspace_edit_result.rb} +11 -7
  36. data/lib/language_server/protocol/interface/base_symbol_information.rb +68 -0
  37. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +7 -5
  38. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +5 -0
  39. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +16 -11
  40. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +14 -10
  41. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +6 -1
  42. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +8 -2
  43. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +16 -11
  44. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +6 -1
  45. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +10 -5
  46. data/lib/language_server/protocol/interface/cancel_params.rb +1 -1
  47. data/lib/language_server/protocol/interface/change_annotation.rb +4 -2
  48. data/lib/language_server/protocol/interface/client_capabilities.rb +22 -6
  49. data/lib/language_server/protocol/interface/code_action.rb +28 -26
  50. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +25 -9
  51. data/lib/language_server/protocol/interface/code_action_context.rb +20 -10
  52. data/lib/language_server/protocol/interface/code_action_options.rb +16 -11
  53. data/lib/language_server/protocol/interface/code_action_params.rb +21 -21
  54. data/lib/language_server/protocol/interface/code_action_registration_options.rb +19 -14
  55. data/lib/language_server/protocol/interface/code_description.rb +3 -1
  56. data/lib/language_server/protocol/interface/code_lens.rb +8 -9
  57. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +4 -1
  58. data/lib/language_server/protocol/interface/code_lens_options.rb +11 -8
  59. data/lib/language_server/protocol/interface/code_lens_params.rb +17 -14
  60. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +14 -11
  61. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +4 -1
  62. data/lib/language_server/protocol/interface/color.rb +4 -4
  63. data/lib/language_server/protocol/interface/color_information.rb +3 -0
  64. data/lib/language_server/protocol/interface/color_presentation.rb +8 -9
  65. data/lib/language_server/protocol/interface/color_presentation_params.rb +24 -21
  66. data/lib/language_server/protocol/interface/command.rb +7 -1
  67. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +33 -5
  68. data/lib/language_server/protocol/interface/completion_context.rb +4 -6
  69. data/lib/language_server/protocol/interface/completion_item.rb +92 -49
  70. data/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
  71. data/lib/language_server/protocol/interface/completion_list.rb +28 -5
  72. data/lib/language_server/protocol/interface/completion_options.rb +36 -25
  73. data/lib/language_server/protocol/interface/completion_params.rb +18 -16
  74. data/lib/language_server/protocol/interface/completion_registration_options.rb +42 -28
  75. data/lib/language_server/protocol/interface/configuration_item.rb +2 -2
  76. data/lib/language_server/protocol/interface/configuration_params.rb +3 -0
  77. data/lib/language_server/protocol/interface/create_file.rb +7 -5
  78. data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
  79. data/lib/language_server/protocol/interface/create_files_params.rb +4 -2
  80. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +8 -5
  81. data/lib/language_server/protocol/interface/declaration_options.rb +1 -1
  82. data/lib/language_server/protocol/interface/declaration_params.rb +4 -4
  83. data/lib/language_server/protocol/interface/declaration_registration_options.rb +5 -5
  84. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +7 -2
  85. data/lib/language_server/protocol/interface/definition_options.rb +4 -1
  86. data/lib/language_server/protocol/interface/definition_params.rb +7 -4
  87. data/lib/language_server/protocol/interface/definition_registration_options.rb +7 -4
  88. data/lib/language_server/protocol/interface/delete_file.rb +6 -4
  89. data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
  90. data/lib/language_server/protocol/interface/delete_files_params.rb +4 -2
  91. data/lib/language_server/protocol/interface/diagnostic.rb +25 -14
  92. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
  93. data/lib/language_server/protocol/interface/diagnostic_options.rb +66 -0
  94. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +86 -0
  95. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
  96. data/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +35 -0
  97. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +44 -0
  98. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +1 -1
  99. data/lib/language_server/protocol/interface/did_change_configuration_params.rb +4 -1
  100. data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +30 -0
  101. data/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +62 -0
  102. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +12 -11
  103. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +17 -5
  104. data/lib/language_server/protocol/interface/did_change_watched_files_params.rb +3 -0
  105. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  106. data/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +3 -0
  107. data/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +48 -0
  108. data/lib/language_server/protocol/interface/did_close_text_document_params.rb +3 -0
  109. data/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +48 -0
  110. data/lib/language_server/protocol/interface/did_open_text_document_params.rb +3 -0
  111. data/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +38 -0
  112. data/lib/language_server/protocol/interface/did_save_text_document_params.rb +4 -1
  113. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +4 -2
  114. data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
  115. data/lib/language_server/protocol/interface/document_color_params.rb +17 -14
  116. data/lib/language_server/protocol/interface/document_color_registration_options.rb +11 -11
  117. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +75 -0
  118. data/lib/language_server/protocol/interface/document_diagnostic_report.rb +77 -0
  119. data/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +35 -0
  120. data/lib/language_server/protocol/interface/document_filter.rb +25 -19
  121. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +4 -1
  122. data/lib/language_server/protocol/interface/document_formatting_options.rb +4 -1
  123. data/lib/language_server/protocol/interface/document_formatting_params.rb +13 -10
  124. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +7 -4
  125. data/lib/language_server/protocol/interface/document_highlight.rb +2 -2
  126. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +4 -1
  127. data/lib/language_server/protocol/interface/document_highlight_options.rb +4 -1
  128. data/lib/language_server/protocol/interface/document_highlight_params.rb +7 -4
  129. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +7 -4
  130. data/lib/language_server/protocol/interface/document_link.rb +10 -9
  131. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +7 -2
  132. data/lib/language_server/protocol/interface/document_link_options.rb +11 -8
  133. data/lib/language_server/protocol/interface/document_link_params.rb +17 -14
  134. data/lib/language_server/protocol/interface/document_link_registration_options.rb +14 -11
  135. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +4 -1
  136. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +5 -2
  137. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +12 -4
  138. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +8 -5
  139. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +5 -2
  140. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +4 -1
  141. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +13 -10
  142. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +7 -4
  143. data/lib/language_server/protocol/interface/document_symbol.rb +18 -16
  144. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +12 -5
  145. data/lib/language_server/protocol/interface/document_symbol_options.rb +13 -8
  146. data/lib/language_server/protocol/interface/document_symbol_params.rb +17 -14
  147. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +16 -11
  148. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +4 -1
  149. data/lib/language_server/protocol/interface/execute_command_options.rb +10 -7
  150. data/lib/language_server/protocol/interface/execute_command_params.rb +14 -11
  151. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +8 -8
  152. data/lib/language_server/protocol/interface/execution_summary.rb +45 -0
  153. data/lib/language_server/protocol/interface/file_create.rb +2 -0
  154. data/lib/language_server/protocol/interface/file_delete.rb +2 -0
  155. data/lib/language_server/protocol/interface/file_event.rb +3 -3
  156. data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +95 -0
  157. data/lib/language_server/protocol/interface/file_operation_filter.rb +5 -3
  158. data/lib/language_server/protocol/interface/file_operation_options.rb +83 -0
  159. data/lib/language_server/protocol/interface/file_operation_pattern.rb +8 -10
  160. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +3 -1
  161. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +2 -0
  162. data/lib/language_server/protocol/interface/file_rename.rb +2 -0
  163. data/lib/language_server/protocol/interface/file_system_watcher.rb +4 -14
  164. data/lib/language_server/protocol/interface/folding_range.rb +30 -23
  165. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +26 -4
  166. data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
  167. data/lib/language_server/protocol/interface/folding_range_params.rb +17 -14
  168. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +5 -5
  169. data/lib/language_server/protocol/interface/formatting_options.rb +10 -4
  170. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +58 -0
  171. data/lib/language_server/protocol/interface/general_client_capabilities.rb +91 -0
  172. data/lib/language_server/protocol/interface/glob_pattern.rb +48 -0
  173. data/lib/language_server/protocol/interface/hover.rb +3 -3
  174. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +4 -5
  175. data/lib/language_server/protocol/interface/hover_options.rb +4 -1
  176. data/lib/language_server/protocol/interface/hover_params.rb +4 -1
  177. data/lib/language_server/protocol/interface/hover_registration_options.rb +7 -4
  178. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +10 -5
  179. data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
  180. data/lib/language_server/protocol/interface/implementation_params.rb +4 -4
  181. data/lib/language_server/protocol/interface/implementation_registration_options.rb +5 -5
  182. data/lib/language_server/protocol/interface/initialize_error.rb +2 -1
  183. data/lib/language_server/protocol/interface/initialize_params.rb +41 -29
  184. data/lib/language_server/protocol/interface/initialize_result.rb +6 -1
  185. data/lib/language_server/protocol/interface/inlay_hint.rb +118 -0
  186. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +48 -0
  187. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +81 -0
  188. data/lib/language_server/protocol/interface/inlay_hint_options.rb +45 -0
  189. data/lib/language_server/protocol/interface/inlay_hint_params.rb +56 -0
  190. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +65 -0
  191. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +44 -0
  192. data/lib/language_server/protocol/interface/inline_value.rb +78 -0
  193. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +38 -0
  194. data/lib/language_server/protocol/interface/inline_value_context.rb +46 -0
  195. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +50 -0
  196. data/lib/language_server/protocol/interface/inline_value_options.rb +35 -0
  197. data/lib/language_server/protocol/interface/inline_value_params.rb +66 -0
  198. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +55 -0
  199. data/lib/language_server/protocol/interface/inline_value_text.rb +47 -0
  200. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +59 -0
  201. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +44 -0
  202. data/lib/language_server/protocol/interface/insert_replace_edit.rb +2 -0
  203. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +8 -4
  204. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
  205. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
  206. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +5 -5
  207. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +7 -2
  208. data/lib/language_server/protocol/interface/location.rb +5 -1
  209. data/lib/language_server/protocol/interface/location_link.rb +13 -11
  210. data/lib/language_server/protocol/interface/log_message_params.rb +4 -1
  211. data/lib/language_server/protocol/interface/log_trace_params.rb +1 -8
  212. data/lib/language_server/protocol/interface/{message.rb → lsp_object.rb} +6 -8
  213. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +16 -2
  214. data/lib/language_server/protocol/interface/markup_content.rb +16 -18
  215. data/lib/language_server/protocol/interface/moniker.rb +3 -1
  216. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +9 -5
  217. data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
  218. data/lib/language_server/protocol/interface/moniker_params.rb +4 -4
  219. data/lib/language_server/protocol/interface/moniker_registration_options.rb +4 -4
  220. data/lib/language_server/protocol/interface/notebook_cell.rb +73 -0
  221. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +57 -0
  222. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +54 -0
  223. data/lib/language_server/protocol/interface/notebook_document.rb +78 -0
  224. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +49 -0
  225. data/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +40 -0
  226. data/lib/language_server/protocol/interface/notebook_document_filter.rb +58 -0
  227. data/lib/language_server/protocol/interface/notebook_document_identifier.rb +38 -0
  228. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +50 -0
  229. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +58 -0
  230. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +58 -0
  231. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +17 -18
  232. data/lib/language_server/protocol/interface/parameter_information.rb +7 -9
  233. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  234. data/lib/language_server/protocol/interface/position.rb +40 -7
  235. data/lib/language_server/protocol/interface/prepare_rename_params.rb +10 -1
  236. data/lib/language_server/protocol/interface/prepare_rename_result.rb +60 -0
  237. data/lib/language_server/protocol/interface/previous_result_id.rb +48 -0
  238. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  239. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +16 -5
  240. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +8 -4
  241. data/lib/language_server/protocol/interface/range.rb +13 -0
  242. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +4 -1
  243. data/lib/language_server/protocol/interface/reference_context.rb +4 -0
  244. data/lib/language_server/protocol/interface/reference_options.rb +4 -1
  245. data/lib/language_server/protocol/interface/reference_params.rb +14 -11
  246. data/lib/language_server/protocol/interface/reference_registration_options.rb +7 -4
  247. data/lib/language_server/protocol/interface/registration.rb +2 -2
  248. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +3 -1
  249. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +73 -0
  250. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +66 -0
  251. data/lib/language_server/protocol/interface/relative_pattern.rb +50 -0
  252. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +12 -7
  253. data/lib/language_server/protocol/interface/rename_file.rb +7 -5
  254. data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
  255. data/lib/language_server/protocol/interface/rename_files_params.rb +6 -4
  256. data/lib/language_server/protocol/interface/rename_options.rb +13 -8
  257. data/lib/language_server/protocol/interface/rename_params.rb +15 -12
  258. data/lib/language_server/protocol/interface/rename_registration_options.rb +16 -11
  259. data/lib/language_server/protocol/interface/resource_operation.rb +47 -0
  260. data/lib/language_server/protocol/interface/save_options.rb +4 -1
  261. data/lib/language_server/protocol/interface/selection_range.rb +6 -3
  262. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -5
  263. data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
  264. data/lib/language_server/protocol/interface/selection_range_params.rb +23 -20
  265. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +5 -5
  266. data/lib/language_server/protocol/interface/semantic_tokens.rb +5 -2
  267. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +45 -11
  268. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +5 -3
  269. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +24 -21
  270. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +3 -0
  271. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +6 -3
  272. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +3 -0
  273. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +12 -9
  274. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +17 -14
  275. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +4 -1
  276. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +23 -20
  277. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +16 -13
  278. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +5 -2
  279. data/lib/language_server/protocol/interface/server_capabilities.rb +139 -56
  280. data/lib/language_server/protocol/interface/set_trace_params.rb +1 -4
  281. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +4 -2
  282. data/lib/language_server/protocol/interface/show_document_params.rb +6 -4
  283. data/lib/language_server/protocol/interface/show_document_result.rb +3 -1
  284. data/lib/language_server/protocol/interface/show_message_params.rb +4 -1
  285. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +1 -1
  286. data/lib/language_server/protocol/interface/show_message_request_params.rb +2 -2
  287. data/lib/language_server/protocol/interface/signature_help.rb +3 -4
  288. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +8 -3
  289. data/lib/language_server/protocol/interface/signature_help_context.rb +10 -11
  290. data/lib/language_server/protocol/interface/signature_help_options.rb +17 -14
  291. data/lib/language_server/protocol/interface/signature_help_params.rb +17 -13
  292. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +20 -17
  293. data/lib/language_server/protocol/interface/signature_information.rb +5 -3
  294. data/lib/language_server/protocol/interface/static_registration_options.rb +3 -2
  295. data/lib/language_server/protocol/interface/symbol_information.rb +34 -30
  296. data/lib/language_server/protocol/interface/t.rb +24 -0
  297. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +12 -13
  298. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +108 -43
  299. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +8 -10
  300. data/lib/language_server/protocol/interface/text_document_edit.rb +10 -1
  301. data/lib/language_server/protocol/interface/text_document_filter.rb +69 -0
  302. data/lib/language_server/protocol/interface/text_document_identifier.rb +5 -2
  303. data/lib/language_server/protocol/interface/text_document_item.rb +7 -3
  304. data/lib/language_server/protocol/interface/text_document_position_params.rb +4 -0
  305. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  306. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +7 -4
  307. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
  308. data/lib/language_server/protocol/interface/text_document_sync_options.rb +15 -17
  309. data/lib/language_server/protocol/interface/text_edit.rb +3 -0
  310. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +10 -5
  311. data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
  312. data/lib/language_server/protocol/interface/type_definition_params.rb +4 -4
  313. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +5 -5
  314. data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +38 -0
  315. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +105 -0
  316. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +35 -0
  317. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +56 -0
  318. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +55 -0
  319. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +54 -0
  320. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +54 -0
  321. data/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +52 -0
  322. data/lib/language_server/protocol/interface/unregistration.rb +2 -2
  323. data/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +47 -0
  324. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +13 -13
  325. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  326. data/lib/language_server/protocol/interface/window_client_capabilities.rb +63 -0
  327. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +6 -6
  328. data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
  329. data/lib/language_server/protocol/interface/work_done_progress_options.rb +1 -1
  330. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  331. data/lib/language_server/protocol/interface/work_done_progress_report.rb +6 -7
  332. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +176 -0
  333. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +67 -0
  334. data/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +35 -0
  335. data/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +35 -0
  336. data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +77 -0
  337. data/lib/language_server/protocol/interface/workspace_edit.rb +28 -17
  338. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +15 -6
  339. data/lib/language_server/protocol/interface/workspace_folder.rb +4 -1
  340. data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +39 -0
  341. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +3 -3
  342. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +77 -0
  343. data/lib/language_server/protocol/interface/workspace_symbol.rb +95 -0
  344. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +23 -6
  345. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +17 -2
  346. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +16 -16
  347. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +17 -2
  348. data/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +70 -0
  349. data/lib/language_server/protocol/interface.rb +156 -14
  350. data/lib/language_server/protocol/transport/io/reader.rb +8 -24
  351. data/lib/language_server/protocol/transport/io/writer.rb +1 -0
  352. data/lib/language_server/protocol/version.rb +1 -1
  353. metadata +92 -24
  354. data/lib/language_server/protocol/constant/initialize_error.rb +0 -16
  355. data/lib/language_server/protocol/interface/notification_message.rb +0 -48
  356. data/lib/language_server/protocol/interface/request_message.rb +0 -57
  357. data/lib/language_server/protocol/interface/response_error.rb +0 -52
  358. data/lib/language_server/protocol/interface/response_message.rb +0 -58
@@ -1,20 +1,18 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class Message
5
- def initialize(jsonrpc:)
4
+ #
5
+ # LSP object definition.
6
+ # @since 3.17.0
7
+ #
8
+ class LSPObject
9
+ def initialize()
6
10
  @attributes = {}
7
11
 
8
- @attributes[:jsonrpc] = jsonrpc
9
12
 
10
13
  @attributes.freeze
11
14
  end
12
15
 
13
- # @return [string]
14
- def jsonrpc
15
- attributes.fetch(:jsonrpc)
16
- end
17
-
18
16
  attr_reader :attributes
19
17
 
20
18
  def to_hash
@@ -4,12 +4,15 @@ module LanguageServer
4
4
  #
5
5
  # Client capabilities specific to the used markdown parser.
6
6
  #
7
+ # @since 3.16.0
8
+ #
7
9
  class MarkdownClientCapabilities
8
- def initialize(parser:, version: nil)
10
+ def initialize(parser:, version: nil, allowed_tags: nil)
9
11
  @attributes = {}
10
12
 
11
13
  @attributes[:parser] = parser
12
14
  @attributes[:version] = version if version
15
+ @attributes[:allowedTags] = allowed_tags if allowed_tags
13
16
 
14
17
  @attributes.freeze
15
18
  end
@@ -25,11 +28,22 @@ module LanguageServer
25
28
  #
26
29
  # The version of the parser.
27
30
  #
28
- # @return [string]
31
+ # @return [string | nil]
29
32
  def version
30
33
  attributes.fetch(:version)
31
34
  end
32
35
 
36
+ #
37
+ # A list of HTML tags that the client allows / supports in
38
+ # Markdown.
39
+ #
40
+ # @since 3.17.0
41
+ #
42
+ # @return [string[] | nil]
43
+ def allowed_tags
44
+ attributes.fetch(:allowedTags)
45
+ end
46
+
33
47
  attr_reader :attributes
34
48
 
35
49
  def to_hash
@@ -2,30 +2,28 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # A `MarkupContent` literal represents a string value which content is
6
- # interpreted base on its kind flag. Currently the protocol supports
7
- # `plaintext` and `markdown` as markup kinds.
5
+ # A `MarkupContent` literal represents a string value which content is interpreted base on its
6
+ # kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds.
8
7
  #
9
- # If the kind is `markdown` then the value can contain fenced code blocks like
10
- # in GitHub issues.
8
+ # If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues.
9
+ # See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
11
10
  #
12
- # Here is an example how such a string can be constructed using
13
- # JavaScript / TypeScript:
14
- # ```typescript
11
+ # Here is an example how such a string can be constructed using JavaScript / TypeScript:
12
+ # ```ts
15
13
  # let markdown: MarkdownContent = {
16
- # kind: MarkupKind.Markdown,
17
- # value: [
18
- # '# Header',
19
- # 'Some text',
20
- # '```typescript',
21
- # 'someCode();',
22
- # '```'
23
- # ].join('\n')
14
+ # kind: MarkupKind.Markdown,
15
+ # value: [
16
+ # '# Header',
17
+ # 'Some text',
18
+ # '```typescript',
19
+ # 'someCode();',
20
+ # '```'
21
+ # ].join('\n')
24
22
  # };
25
23
  # ```
26
24
  #
27
- # *Please Note* that clients might sanitize the return markdown. A client could
28
- # decide to remove HTML from the markdown to avoid script execution.
25
+ # *Please Note* that clients might sanitize the return markdown. A client could decide to
26
+ # remove HTML from the markdown to avoid script execution.
29
27
  #
30
28
  class MarkupContent
31
29
  def initialize(kind:, value:)
@@ -4,6 +4,8 @@ module LanguageServer
4
4
  #
5
5
  # Moniker definition to match LSIF 0.5 moniker definition.
6
6
  #
7
+ # @since 3.16.0
8
+ #
7
9
  class Moniker
8
10
  def initialize(scheme:, identifier:, unique:, kind: nil)
9
11
  @attributes = {}
@@ -44,7 +46,7 @@ module LanguageServer
44
46
  #
45
47
  # The moniker kind if known.
46
48
  #
47
- # @return [MonikerKind]
49
+ # @return [MonikerKind | nil]
48
50
  def kind
49
51
  attributes.fetch(:kind)
50
52
  end
@@ -1,6 +1,11 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
+ #
5
+ # Client capabilities specific to the moniker request.
6
+ #
7
+ # @since 3.16.0
8
+ #
4
9
  class MonikerClientCapabilities
5
10
  def initialize(dynamic_registration: nil)
6
11
  @attributes = {}
@@ -11,12 +16,11 @@ module LanguageServer
11
16
  end
12
17
 
13
18
  #
14
- # Whether implementation supports dynamic registration. If this is set to
15
- # `true` the client supports the new `(TextDocumentRegistrationOptions &
16
- # StaticRegistrationOptions)` return value for the corresponding server
17
- # capability as well.
19
+ # Whether moniker supports dynamic registration. If this is set to `true`
20
+ # the client supports the new `MonikerRegistrationOptions` return value
21
+ # for the corresponding server capability as well.
18
22
  #
19
- # @return [boolean]
23
+ # @return [boolean | nil]
20
24
  def dynamic_registration
21
25
  attributes.fetch(:dynamicRegistration)
22
26
  end
@@ -10,7 +10,7 @@ module LanguageServer
10
10
  @attributes.freeze
11
11
  end
12
12
 
13
- # @return [boolean]
13
+ # @return [boolean | nil]
14
14
  def work_done_progress
15
15
  attributes.fetch(:workDoneProgress)
16
16
  end
@@ -32,16 +32,16 @@ module LanguageServer
32
32
  #
33
33
  # An optional token that a server can use to report work done progress.
34
34
  #
35
- # @return [ProgressToken]
35
+ # @return [ProgressToken | nil]
36
36
  def work_done_token
37
37
  attributes.fetch(:workDoneToken)
38
38
  end
39
39
 
40
40
  #
41
- # An optional token that a server can use to report partial results (e.g.
42
- # streaming) to the client.
41
+ # An optional token that a server can use to report partial results (e.g. streaming) to
42
+ # the client.
43
43
  #
44
- # @return [ProgressToken]
44
+ # @return [ProgressToken | nil]
45
45
  def partial_result_token
46
46
  attributes.fetch(:partialResultToken)
47
47
  end
@@ -12,15 +12,15 @@ module LanguageServer
12
12
  end
13
13
 
14
14
  #
15
- # A document selector to identify the scope of the registration. If set to
16
- # null the document selector provided on the client side will be used.
15
+ # A document selector to identify the scope of the registration. If set to null
16
+ # the document selector provided on the client side will be used.
17
17
  #
18
- # @return [DocumentSelector]
18
+ # @return [DocumentSelector | null]
19
19
  def document_selector
20
20
  attributes.fetch(:documentSelector)
21
21
  end
22
22
 
23
- # @return [boolean]
23
+ # @return [boolean | nil]
24
24
  def work_done_progress
25
25
  attributes.fetch(:workDoneProgress)
26
26
  end
@@ -0,0 +1,73 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A notebook cell.
6
+ #
7
+ # A cell's document URI must be unique across ALL notebook
8
+ # cells and can therefore be used to uniquely identify a
9
+ # notebook cell or the cell's text document.
10
+ #
11
+ # @since 3.17.0
12
+ #
13
+ class NotebookCell
14
+ def initialize(kind:, document:, metadata: nil, execution_summary: nil)
15
+ @attributes = {}
16
+
17
+ @attributes[:kind] = kind
18
+ @attributes[:document] = document
19
+ @attributes[:metadata] = metadata if metadata
20
+ @attributes[:executionSummary] = execution_summary if execution_summary
21
+
22
+ @attributes.freeze
23
+ end
24
+
25
+ #
26
+ # The cell's kind
27
+ #
28
+ # @return [NotebookCellKind]
29
+ def kind
30
+ attributes.fetch(:kind)
31
+ end
32
+
33
+ #
34
+ # The URI of the cell's text document
35
+ # content.
36
+ #
37
+ # @return [DocumentUri]
38
+ def document
39
+ attributes.fetch(:document)
40
+ end
41
+
42
+ #
43
+ # Additional metadata stored with the cell.
44
+ #
45
+ # Note: should always be an object literal (e.g. LSPObject)
46
+ #
47
+ # @return [LSPObject | nil]
48
+ def metadata
49
+ attributes.fetch(:metadata)
50
+ end
51
+
52
+ #
53
+ # Additional execution summary information
54
+ # if supported by the client.
55
+ #
56
+ # @return [ExecutionSummary | nil]
57
+ def execution_summary
58
+ attributes.fetch(:executionSummary)
59
+ end
60
+
61
+ attr_reader :attributes
62
+
63
+ def to_hash
64
+ attributes
65
+ end
66
+
67
+ def to_json(*args)
68
+ to_hash.to_json(*args)
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,57 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A change describing how to move a `NotebookCell`
6
+ # array from state S to S'.
7
+ #
8
+ # @since 3.17.0
9
+ #
10
+ class NotebookCellArrayChange
11
+ def initialize(start:, delete_count:, cells: nil)
12
+ @attributes = {}
13
+
14
+ @attributes[:start] = start
15
+ @attributes[:deleteCount] = delete_count
16
+ @attributes[:cells] = cells if cells
17
+
18
+ @attributes.freeze
19
+ end
20
+
21
+ #
22
+ # The start oftest of the cell that changed.
23
+ #
24
+ # @return [uinteger]
25
+ def start
26
+ attributes.fetch(:start)
27
+ end
28
+
29
+ #
30
+ # The deleted cells
31
+ #
32
+ # @return [uinteger]
33
+ def delete_count
34
+ attributes.fetch(:deleteCount)
35
+ end
36
+
37
+ #
38
+ # The new cells, if any
39
+ #
40
+ # @return [NotebookCell[] | nil]
41
+ def cells
42
+ attributes.fetch(:cells)
43
+ end
44
+
45
+ attr_reader :attributes
46
+
47
+ def to_hash
48
+ attributes
49
+ end
50
+
51
+ def to_json(*args)
52
+ to_hash.to_json(*args)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,54 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A notebook cell text document filter denotes a cell text
6
+ # document by different properties.
7
+ #
8
+ # @since 3.17.0
9
+ #
10
+ class NotebookCellTextDocumentFilter
11
+ def initialize(notebook:, language: nil)
12
+ @attributes = {}
13
+
14
+ @attributes[:notebook] = notebook
15
+ @attributes[:language] = language if language
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # A filter that matches against the notebook
22
+ # containing the notebook cell. If a string
23
+ # value is provided it matches against the
24
+ # notebook type. '*' matches every notebook.
25
+ #
26
+ # @return [string | NotebookDocumentFilter]
27
+ def notebook
28
+ attributes.fetch(:notebook)
29
+ end
30
+
31
+ #
32
+ # A language id like `python`.
33
+ #
34
+ # Will be matched against the language id of the
35
+ # notebook cell document. '*' matches every language.
36
+ #
37
+ # @return [string | nil]
38
+ def language
39
+ attributes.fetch(:language)
40
+ end
41
+
42
+ attr_reader :attributes
43
+
44
+ def to_hash
45
+ attributes
46
+ end
47
+
48
+ def to_json(*args)
49
+ to_hash.to_json(*args)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,78 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A notebook document.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class NotebookDocument
10
+ def initialize(uri:, notebook_type:, version:, metadata: nil, cells:)
11
+ @attributes = {}
12
+
13
+ @attributes[:uri] = uri
14
+ @attributes[:notebookType] = notebook_type
15
+ @attributes[:version] = version
16
+ @attributes[:metadata] = metadata if metadata
17
+ @attributes[:cells] = cells
18
+
19
+ @attributes.freeze
20
+ end
21
+
22
+ #
23
+ # The notebook document's uri.
24
+ #
25
+ # @return [URI]
26
+ def uri
27
+ attributes.fetch(:uri)
28
+ end
29
+
30
+ #
31
+ # The type of the notebook.
32
+ #
33
+ # @return [string]
34
+ def notebook_type
35
+ attributes.fetch(:notebookType)
36
+ end
37
+
38
+ #
39
+ # The version number of this document (it will increase after each
40
+ # change, including undo/redo).
41
+ #
42
+ # @return [integer]
43
+ def version
44
+ attributes.fetch(:version)
45
+ end
46
+
47
+ #
48
+ # Additional metadata stored with the notebook
49
+ # document.
50
+ #
51
+ # Note: should always be an object literal (e.g. LSPObject)
52
+ #
53
+ # @return [LSPObject | nil]
54
+ def metadata
55
+ attributes.fetch(:metadata)
56
+ end
57
+
58
+ #
59
+ # The cells of a notebook.
60
+ #
61
+ # @return [NotebookCell[]]
62
+ def cells
63
+ attributes.fetch(:cells)
64
+ end
65
+
66
+ attr_reader :attributes
67
+
68
+ def to_hash
69
+ attributes
70
+ end
71
+
72
+ def to_json(*args)
73
+ to_hash.to_json(*args)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,49 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A change event for a notebook document.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class NotebookDocumentChangeEvent
10
+ def initialize(metadata: nil, cells: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:metadata] = metadata if metadata
14
+ @attributes[:cells] = cells if cells
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # The changed meta data if any.
21
+ #
22
+ # Note: should always be an object literal (e.g. LSPObject)
23
+ #
24
+ # @return [LSPObject | nil]
25
+ def metadata
26
+ attributes.fetch(:metadata)
27
+ end
28
+
29
+ #
30
+ # Changes to cells
31
+ #
32
+ # @return [{ structure:{ array:NotebookCellArrayChange, didOpen:TextDocumentItem[], didClose:TextDocumentIdentifier[] }, data:NotebookCell[], textContent:{ document:VersionedTextDocumentIdentifier, changes:TextDocumentContentChangeEvent[] }[] } | nil]
33
+ def cells
34
+ attributes.fetch(:cells)
35
+ end
36
+
37
+ attr_reader :attributes
38
+
39
+ def to_hash
40
+ attributes
41
+ end
42
+
43
+ def to_json(*args)
44
+ to_hash.to_json(*args)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,40 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Capabilities specific to the notebook document support.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class NotebookDocumentClientCapabilities
10
+ def initialize(synchronization:)
11
+ @attributes = {}
12
+
13
+ @attributes[:synchronization] = synchronization
14
+
15
+ @attributes.freeze
16
+ end
17
+
18
+ #
19
+ # Capabilities specific to notebook document synchronization
20
+ #
21
+ # @since 3.17.0
22
+ #
23
+ # @return [NotebookDocumentSyncClientCapabilities]
24
+ def synchronization
25
+ attributes.fetch(:synchronization)
26
+ end
27
+
28
+ attr_reader :attributes
29
+
30
+ def to_hash
31
+ attributes
32
+ end
33
+
34
+ def to_json(*args)
35
+ to_hash.to_json(*args)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,58 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A notebook document filter denotes a notebook document by
6
+ # different properties. The properties will be match
7
+ # against the notebook's URI (same as with documents)
8
+ #
9
+ # @since 3.17.0
10
+ #
11
+ class NotebookDocumentFilter
12
+ def initialize(notebook_type:, scheme: nil, pattern: nil)
13
+ @attributes = {}
14
+
15
+ @attributes[:notebookType] = notebook_type
16
+ @attributes[:scheme] = scheme if scheme
17
+ @attributes[:pattern] = pattern if pattern
18
+
19
+ @attributes.freeze
20
+ end
21
+
22
+ #
23
+ # The type of the enclosing notebook. */
24
+ #
25
+ # @return [string]
26
+ def notebook_type
27
+ attributes.fetch(:notebookType)
28
+ end
29
+
30
+ #
31
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
32
+ #
33
+ # @return [string | nil]
34
+ def scheme
35
+ attributes.fetch(:scheme)
36
+ end
37
+
38
+ #
39
+ # A glob pattern. */
40
+ #
41
+ # @return [string | nil]
42
+ def pattern
43
+ attributes.fetch(:pattern)
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,38 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A literal to identify a notebook document in the client.
6
+ #
7
+ # @since 3.17.0
8
+ #
9
+ class NotebookDocumentIdentifier
10
+ def initialize(uri:)
11
+ @attributes = {}
12
+
13
+ @attributes[:uri] = uri
14
+
15
+ @attributes.freeze
16
+ end
17
+
18
+ #
19
+ # The notebook document's uri.
20
+ #
21
+ # @return [URI]
22
+ def uri
23
+ attributes.fetch(:uri)
24
+ end
25
+
26
+ attr_reader :attributes
27
+
28
+ def to_hash
29
+ attributes
30
+ end
31
+
32
+ def to_json(*args)
33
+ to_hash.to_json(*args)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end