language_server-protocol 3.17.0.6 → 3.18.0.0.pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant/apply_kind.rb +26 -0
  3. data/lib/language_server/protocol/constant/code_action_kind.rb +42 -29
  4. data/lib/language_server/protocol/constant/code_action_tag.rb +17 -0
  5. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +2 -0
  6. data/lib/language_server/protocol/constant/completion_item_tag.rb +4 -2
  7. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -3
  8. data/lib/language_server/protocol/constant/diagnostic_severity.rb +3 -0
  9. data/lib/language_server/protocol/constant/diagnostic_tag.rb +4 -2
  10. data/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +4 -2
  11. data/lib/language_server/protocol/constant/error_codes.rb +8 -26
  12. data/lib/language_server/protocol/constant/failure_handling_kind.rb +9 -10
  13. data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
  14. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +4 -2
  15. data/lib/language_server/protocol/constant/folding_range_kind.rb +4 -5
  16. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +2 -0
  17. data/lib/language_server/protocol/constant/inline_completion_trigger_kind.rb +21 -0
  18. data/lib/language_server/protocol/constant/insert_text_format.rb +2 -0
  19. data/lib/language_server/protocol/constant/insert_text_mode.rb +2 -0
  20. data/lib/language_server/protocol/constant/language_kind.rb +83 -0
  21. data/lib/language_server/protocol/constant/lsp_error_codes.rb +1 -1
  22. data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
  23. data/lib/language_server/protocol/constant/message_type.rb +9 -0
  24. data/lib/language_server/protocol/constant/moniker_kind.rb +5 -3
  25. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +2 -0
  26. data/lib/language_server/protocol/constant/position_encoding_kind.rb +7 -7
  27. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +1 -1
  28. data/lib/language_server/protocol/constant/resource_operation_kind.rb +3 -6
  29. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +17 -10
  30. data/lib/language_server/protocol/constant/semantic_token_types.rb +39 -25
  31. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +3 -2
  32. data/lib/language_server/protocol/constant/symbol_tag.rb +2 -0
  33. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  34. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +3 -3
  35. data/lib/language_server/protocol/constant/token_format.rb +1 -1
  36. data/lib/language_server/protocol/constant/{trace_values.rb → trace_value.rb} +1 -1
  37. data/lib/language_server/protocol/constant/uniqueness_level.rb +7 -5
  38. data/lib/language_server/protocol/constant.rb +10 -4
  39. data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +13 -2
  40. data/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +2 -2
  41. data/lib/language_server/protocol/interface/base_symbol_information.rb +2 -2
  42. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +1 -1
  43. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +2 -2
  44. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +3 -3
  45. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +1 -1
  46. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +2 -2
  47. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +1 -1
  48. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +2 -2
  49. data/lib/language_server/protocol/interface/change_annotation.rb +2 -2
  50. data/lib/language_server/protocol/interface/change_annotations_support_options.rb +38 -0
  51. data/lib/language_server/protocol/interface/client_capabilities.rb +6 -6
  52. data/lib/language_server/protocol/interface/client_code_action_kind_options.rb +39 -0
  53. data/lib/language_server/protocol/interface/client_code_action_literal_options.rb +37 -0
  54. data/lib/language_server/protocol/interface/client_code_action_resolve_options.rb +36 -0
  55. data/lib/language_server/protocol/interface/client_code_lens_resolve_options.rb +36 -0
  56. data/lib/language_server/protocol/interface/client_completion_item_insert_text_mode_options.rb +33 -0
  57. data/lib/language_server/protocol/interface/client_completion_item_options.rb +142 -0
  58. data/lib/language_server/protocol/interface/client_completion_item_options_kind.rb +43 -0
  59. data/lib/language_server/protocol/interface/client_completion_item_resolve_options.rb +36 -0
  60. data/lib/language_server/protocol/interface/client_diagnostics_tag_options.rb +36 -0
  61. data/lib/language_server/protocol/interface/client_folding_range_kind_options.rb +39 -0
  62. data/lib/language_server/protocol/interface/client_folding_range_options.rb +39 -0
  63. data/lib/language_server/protocol/interface/client_info.rb +48 -0
  64. data/lib/language_server/protocol/interface/client_inlay_hint_resolve_options.rb +36 -0
  65. data/lib/language_server/protocol/interface/client_semantic_tokens_request_full_delta.rb +37 -0
  66. data/lib/language_server/protocol/interface/client_semantic_tokens_request_options.rb +47 -0
  67. data/lib/language_server/protocol/interface/client_show_message_action_item_options.rb +38 -0
  68. data/lib/language_server/protocol/interface/client_signature_information_options.rb +71 -0
  69. data/lib/language_server/protocol/interface/client_signature_parameter_information_options.rb +39 -0
  70. data/lib/language_server/protocol/interface/client_symbol_kind_options.rb +43 -0
  71. data/lib/language_server/protocol/interface/client_symbol_resolve_options.rb +37 -0
  72. data/lib/language_server/protocol/interface/client_symbol_tag_options.rb +36 -0
  73. data/lib/language_server/protocol/interface/code_action.rb +20 -9
  74. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +34 -10
  75. data/lib/language_server/protocol/interface/code_action_context.rb +2 -2
  76. data/lib/language_server/protocol/interface/code_action_disabled.rb +40 -0
  77. data/lib/language_server/protocol/interface/code_action_kind_documentation.rb +53 -0
  78. data/lib/language_server/protocol/interface/code_action_options.rb +26 -4
  79. data/lib/language_server/protocol/interface/code_action_params.rb +2 -2
  80. data/lib/language_server/protocol/interface/code_action_registration_options.rb +26 -4
  81. data/lib/language_server/protocol/interface/code_action_tag_options.rb +36 -0
  82. data/lib/language_server/protocol/interface/code_lens.rb +3 -4
  83. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +14 -2
  84. data/lib/language_server/protocol/interface/code_lens_options.rb +2 -2
  85. data/lib/language_server/protocol/interface/code_lens_params.rb +2 -2
  86. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +2 -2
  87. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +1 -1
  88. data/lib/language_server/protocol/interface/color_presentation.rb +2 -2
  89. data/lib/language_server/protocol/interface/color_presentation_params.rb +2 -2
  90. data/lib/language_server/protocol/interface/command.rb +13 -2
  91. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +12 -9
  92. data/lib/language_server/protocol/interface/completion_context.rb +1 -1
  93. data/lib/language_server/protocol/interface/completion_item.rb +18 -18
  94. data/lib/language_server/protocol/interface/completion_item_apply_kinds.rb +96 -0
  95. data/lib/language_server/protocol/interface/completion_item_defaults.rb +96 -0
  96. data/lib/language_server/protocol/interface/completion_item_label_details.rb +2 -2
  97. data/lib/language_server/protocol/interface/completion_item_tag_options.rb +36 -0
  98. data/lib/language_server/protocol/interface/completion_list.rb +31 -4
  99. data/lib/language_server/protocol/interface/completion_list_capabilities.rb +65 -0
  100. data/lib/language_server/protocol/interface/completion_options.rb +6 -6
  101. data/lib/language_server/protocol/interface/completion_params.rb +3 -3
  102. data/lib/language_server/protocol/interface/completion_registration_options.rb +6 -6
  103. data/lib/language_server/protocol/interface/configuration_item.rb +3 -3
  104. data/lib/language_server/protocol/interface/create_file.rb +2 -2
  105. data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
  106. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +2 -2
  107. data/lib/language_server/protocol/interface/declaration_options.rb +1 -1
  108. data/lib/language_server/protocol/interface/declaration_params.rb +2 -2
  109. data/lib/language_server/protocol/interface/declaration_registration_options.rb +2 -2
  110. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +2 -2
  111. data/lib/language_server/protocol/interface/definition_options.rb +1 -1
  112. data/lib/language_server/protocol/interface/definition_params.rb +2 -2
  113. data/lib/language_server/protocol/interface/definition_registration_options.rb +1 -1
  114. data/lib/language_server/protocol/interface/delete_file.rb +2 -2
  115. data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
  116. data/lib/language_server/protocol/interface/diagnostic.rb +15 -11
  117. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +59 -3
  118. data/lib/language_server/protocol/interface/diagnostic_options.rb +2 -2
  119. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +3 -3
  120. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +1 -1
  121. data/lib/language_server/protocol/interface/diagnostics_capabilities.rb +72 -0
  122. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +1 -1
  123. data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +1 -1
  124. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +2 -2
  125. data/lib/language_server/protocol/interface/did_save_text_document_params.rb +1 -1
  126. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +1 -1
  127. data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
  128. data/lib/language_server/protocol/interface/document_color_params.rb +2 -2
  129. data/lib/language_server/protocol/interface/document_color_registration_options.rb +2 -2
  130. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +4 -4
  131. data/lib/language_server/protocol/interface/document_diagnostic_report.rb +3 -3
  132. data/lib/language_server/protocol/interface/document_diagnostic_report_progress.rb +97 -0
  133. data/lib/language_server/protocol/interface/document_filter.rb +11 -7
  134. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +1 -1
  135. data/lib/language_server/protocol/interface/document_formatting_options.rb +1 -1
  136. data/lib/language_server/protocol/interface/document_formatting_params.rb +1 -1
  137. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +1 -1
  138. data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
  139. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +1 -1
  140. data/lib/language_server/protocol/interface/document_highlight_options.rb +1 -1
  141. data/lib/language_server/protocol/interface/document_highlight_params.rb +2 -2
  142. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +1 -1
  143. data/lib/language_server/protocol/interface/document_link.rb +4 -4
  144. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +2 -2
  145. data/lib/language_server/protocol/interface/document_link_options.rb +2 -2
  146. data/lib/language_server/protocol/interface/document_link_params.rb +2 -2
  147. data/lib/language_server/protocol/interface/document_link_registration_options.rb +2 -2
  148. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +1 -1
  149. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +1 -1
  150. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +1 -1
  151. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +13 -2
  152. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +13 -2
  153. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +1 -1
  154. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +13 -2
  155. data/lib/language_server/protocol/interface/document_ranges_formatting_params.rb +65 -0
  156. data/lib/language_server/protocol/interface/document_symbol.rb +4 -4
  157. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +7 -7
  158. data/lib/language_server/protocol/interface/document_symbol_options.rb +2 -2
  159. data/lib/language_server/protocol/interface/document_symbol_params.rb +2 -2
  160. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +2 -2
  161. data/lib/language_server/protocol/interface/edit_range_with_insert_replace.rb +41 -0
  162. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +1 -1
  163. data/lib/language_server/protocol/interface/execute_command_options.rb +1 -1
  164. data/lib/language_server/protocol/interface/execute_command_params.rb +2 -2
  165. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +1 -1
  166. data/lib/language_server/protocol/interface/execution_summary.rb +1 -1
  167. data/lib/language_server/protocol/interface/file_create.rb +2 -2
  168. data/lib/language_server/protocol/interface/file_delete.rb +2 -2
  169. data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +7 -7
  170. data/lib/language_server/protocol/interface/file_operation_filter.rb +1 -1
  171. data/lib/language_server/protocol/interface/file_operation_options.rb +6 -6
  172. data/lib/language_server/protocol/interface/file_operation_pattern.rb +3 -3
  173. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +1 -1
  174. data/lib/language_server/protocol/interface/file_rename.rb +4 -4
  175. data/lib/language_server/protocol/interface/file_system_watcher.rb +1 -1
  176. data/lib/language_server/protocol/interface/folding_range.rb +5 -5
  177. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +7 -7
  178. data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
  179. data/lib/language_server/protocol/interface/folding_range_params.rb +2 -2
  180. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +2 -2
  181. data/lib/language_server/protocol/interface/folding_range_workspace_client_capabilities.rb +46 -0
  182. data/lib/language_server/protocol/interface/formatting_options.rb +3 -3
  183. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +1 -1
  184. data/lib/language_server/protocol/interface/general_client_capabilities.rb +5 -5
  185. data/lib/language_server/protocol/interface/hover.rb +1 -1
  186. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +2 -2
  187. data/lib/language_server/protocol/interface/hover_options.rb +1 -1
  188. data/lib/language_server/protocol/interface/hover_params.rb +1 -1
  189. data/lib/language_server/protocol/interface/hover_registration_options.rb +1 -1
  190. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +2 -2
  191. data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
  192. data/lib/language_server/protocol/interface/implementation_params.rb +2 -2
  193. data/lib/language_server/protocol/interface/implementation_registration_options.rb +2 -2
  194. data/lib/language_server/protocol/interface/initialize_params.rb +9 -9
  195. data/lib/language_server/protocol/interface/initialize_result.rb +2 -2
  196. data/lib/language_server/protocol/interface/inlay_hint.rb +9 -6
  197. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +3 -3
  198. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +3 -3
  199. data/lib/language_server/protocol/interface/inlay_hint_options.rb +2 -2
  200. data/lib/language_server/protocol/interface/inlay_hint_params.rb +1 -1
  201. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +3 -3
  202. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +1 -1
  203. data/lib/language_server/protocol/interface/inline_completion_client_capabilities.rb +38 -0
  204. data/lib/language_server/protocol/interface/inline_completion_context.rb +47 -0
  205. data/lib/language_server/protocol/interface/inline_completion_item.rb +65 -0
  206. data/lib/language_server/protocol/interface/inline_completion_list.rb +38 -0
  207. data/lib/language_server/protocol/interface/inline_completion_options.rb +35 -0
  208. data/lib/language_server/protocol/interface/inline_completion_params.rb +66 -0
  209. data/lib/language_server/protocol/interface/inline_completion_registration_options.rb +55 -0
  210. data/lib/language_server/protocol/interface/inline_value.rb +11 -7
  211. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +1 -1
  212. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +12 -6
  213. data/lib/language_server/protocol/interface/inline_value_options.rb +1 -1
  214. data/lib/language_server/protocol/interface/inline_value_params.rb +3 -3
  215. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +2 -2
  216. data/lib/language_server/protocol/interface/inline_value_text.rb +1 -1
  217. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +11 -5
  218. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +1 -1
  219. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +1 -1
  220. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
  221. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
  222. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +2 -2
  223. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +1 -1
  224. data/lib/language_server/protocol/interface/location_link.rb +1 -1
  225. data/lib/language_server/protocol/interface/location_uri_only.rb +35 -0
  226. data/lib/language_server/protocol/interface/log_trace_params.rb +1 -1
  227. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +2 -2
  228. data/lib/language_server/protocol/interface/marked_string_with_language.rb +40 -0
  229. data/lib/language_server/protocol/interface/moniker.rb +1 -1
  230. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +1 -1
  231. data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
  232. data/lib/language_server/protocol/interface/moniker_params.rb +2 -2
  233. data/lib/language_server/protocol/interface/moniker_registration_options.rb +1 -1
  234. data/lib/language_server/protocol/interface/notebook_cell.rb +2 -2
  235. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +1 -1
  236. data/lib/language_server/protocol/interface/{hover_result.rb → notebook_cell_language.rb} +8 -5
  237. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +1 -1
  238. data/lib/language_server/protocol/interface/notebook_document.rb +1 -1
  239. data/lib/language_server/protocol/interface/notebook_document_cell_change_structure.rb +56 -0
  240. data/lib/language_server/protocol/interface/notebook_document_cell_changes.rb +58 -0
  241. data/lib/language_server/protocol/interface/notebook_document_cell_content_changes.rb +41 -0
  242. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +3 -3
  243. data/lib/language_server/protocol/interface/notebook_document_filter.rb +4 -4
  244. data/lib/language_server/protocol/interface/notebook_document_filter_notebook_type.rb +56 -0
  245. data/lib/language_server/protocol/interface/notebook_document_filter_pattern.rb +56 -0
  246. data/lib/language_server/protocol/interface/notebook_document_filter_scheme.rb +56 -0
  247. data/lib/language_server/protocol/interface/notebook_document_filter_with_cells.rb +47 -0
  248. data/lib/language_server/protocol/interface/notebook_document_filter_with_notebook.rb +47 -0
  249. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +2 -2
  250. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +2 -2
  251. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +3 -3
  252. data/lib/language_server/protocol/interface/notification_message.rb +1 -1
  253. data/lib/language_server/protocol/interface/parameter_information.rb +5 -1
  254. data/lib/language_server/protocol/interface/partial_result_params.rb +1 -1
  255. data/lib/language_server/protocol/interface/position.rb +2 -8
  256. data/lib/language_server/protocol/interface/prepare_rename_default_behavior.rb +33 -0
  257. data/lib/language_server/protocol/interface/prepare_rename_params.rb +1 -1
  258. data/lib/language_server/protocol/interface/prepare_rename_placeholder.rb +39 -0
  259. data/lib/language_server/protocol/interface/prepare_rename_result.rb +5 -5
  260. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +18 -18
  261. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +1 -1
  262. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +1 -1
  263. data/lib/language_server/protocol/interface/reference_options.rb +1 -1
  264. data/lib/language_server/protocol/interface/reference_params.rb +2 -2
  265. data/lib/language_server/protocol/interface/reference_registration_options.rb +1 -1
  266. data/lib/language_server/protocol/interface/registration.rb +1 -1
  267. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +2 -2
  268. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +2 -2
  269. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +1 -1
  270. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +4 -4
  271. data/lib/language_server/protocol/interface/rename_file.rb +2 -2
  272. data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
  273. data/lib/language_server/protocol/interface/rename_options.rb +2 -2
  274. data/lib/language_server/protocol/interface/rename_params.rb +15 -15
  275. data/lib/language_server/protocol/interface/rename_registration_options.rb +2 -2
  276. data/lib/language_server/protocol/interface/request_message.rb +1 -1
  277. data/lib/language_server/protocol/interface/resource_operation.rb +1 -1
  278. data/lib/language_server/protocol/interface/response_error.rb +1 -1
  279. data/lib/language_server/protocol/interface/response_message.rb +3 -3
  280. data/lib/language_server/protocol/interface/save_options.rb +1 -1
  281. data/lib/language_server/protocol/interface/selected_completion_info.rb +47 -0
  282. data/lib/language_server/protocol/interface/selection_range.rb +1 -1
  283. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +1 -1
  284. data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
  285. data/lib/language_server/protocol/interface/selection_range_params.rb +2 -2
  286. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +2 -2
  287. data/lib/language_server/protocol/interface/semantic_tokens.rb +1 -1
  288. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +6 -6
  289. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +1 -1
  290. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +2 -2
  291. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +1 -1
  292. data/lib/language_server/protocol/interface/semantic_tokens_full_delta.rb +38 -0
  293. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +4 -4
  294. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +2 -2
  295. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +2 -2
  296. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +5 -5
  297. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +1 -1
  298. data/lib/language_server/protocol/interface/server_capabilities.rb +48 -37
  299. data/lib/language_server/protocol/interface/server_completion_item_options.rb +40 -0
  300. data/lib/language_server/protocol/interface/server_info.rb +48 -0
  301. data/lib/language_server/protocol/interface/set_trace_params.rb +1 -1
  302. data/lib/language_server/protocol/interface/show_document_params.rb +6 -6
  303. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +2 -2
  304. data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
  305. data/lib/language_server/protocol/interface/signature_help.rb +20 -8
  306. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +4 -4
  307. data/lib/language_server/protocol/interface/signature_help_context.rb +2 -2
  308. data/lib/language_server/protocol/interface/signature_help_options.rb +3 -3
  309. data/lib/language_server/protocol/interface/signature_help_params.rb +2 -2
  310. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +3 -3
  311. data/lib/language_server/protocol/interface/signature_information.rb +10 -4
  312. data/lib/language_server/protocol/interface/snippet_text_edit.rb +56 -0
  313. data/lib/language_server/protocol/interface/stale_request_support_options.rb +47 -0
  314. data/lib/language_server/protocol/interface/static_registration_options.rb +1 -1
  315. data/lib/language_server/protocol/interface/string_value.rb +53 -0
  316. data/lib/language_server/protocol/interface/symbol_information.rb +3 -3
  317. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +53 -31
  318. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
  319. data/lib/language_server/protocol/interface/text_document_content_change_partial.rb +56 -0
  320. data/lib/language_server/protocol/interface/text_document_content_change_whole_document.rb +36 -0
  321. data/lib/language_server/protocol/interface/text_document_content_client_capabilities.rb +38 -0
  322. data/lib/language_server/protocol/interface/text_document_content_options.rb +38 -0
  323. data/lib/language_server/protocol/interface/text_document_content_params.rb +38 -0
  324. data/lib/language_server/protocol/interface/text_document_content_refresh_params.rb +38 -0
  325. data/lib/language_server/protocol/interface/text_document_content_registration_options.rb +48 -0
  326. data/lib/language_server/protocol/interface/text_document_content_result.rb +41 -0
  327. data/lib/language_server/protocol/interface/text_document_edit.rb +4 -1
  328. data/lib/language_server/protocol/interface/text_document_filter.rb +10 -6
  329. data/lib/language_server/protocol/interface/text_document_filter_client_capabilities.rb +35 -0
  330. data/lib/language_server/protocol/interface/text_document_filter_language.rb +60 -0
  331. data/lib/language_server/protocol/interface/text_document_filter_pattern.rb +60 -0
  332. data/lib/language_server/protocol/interface/text_document_filter_scheme.rb +60 -0
  333. data/lib/language_server/protocol/interface/text_document_item.rb +1 -1
  334. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +1 -1
  335. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
  336. data/lib/language_server/protocol/interface/text_document_sync_options.rb +5 -5
  337. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +2 -2
  338. data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
  339. data/lib/language_server/protocol/interface/type_definition_params.rb +2 -2
  340. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +2 -2
  341. data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +1 -1
  342. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +3 -3
  343. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +1 -1
  344. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +1 -1
  345. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +2 -2
  346. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +2 -2
  347. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +2 -2
  348. data/lib/language_server/protocol/interface/window_client_capabilities.rb +3 -3
  349. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
  350. data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
  351. data/lib/language_server/protocol/interface/work_done_progress_options.rb +1 -1
  352. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  353. data/lib/language_server/protocol/interface/work_done_progress_report.rb +3 -3
  354. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +37 -15
  355. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +3 -3
  356. data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +2 -2
  357. data/lib/language_server/protocol/interface/workspace_edit.rb +3 -3
  358. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +29 -7
  359. data/lib/language_server/protocol/interface/workspace_edit_metadata.rb +38 -0
  360. data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +1 -1
  361. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +2 -2
  362. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +1 -1
  363. data/lib/language_server/protocol/interface/workspace_options.rb +62 -0
  364. data/lib/language_server/protocol/interface/workspace_symbol.rb +4 -4
  365. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +7 -7
  366. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +2 -2
  367. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +8 -2
  368. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +2 -2
  369. data/lib/language_server/protocol/interface.rb +150 -2
  370. data/lib/language_server/protocol/transport/io/writer.rb +2 -0
  371. data/lib/language_server/protocol/version.rb +1 -1
  372. data/sig/language_server/protocol/constant/apply_kind.rbs +26 -0
  373. data/sig/language_server/protocol/constant/code_action_kind.rbs +42 -29
  374. data/sig/language_server/protocol/constant/code_action_tag.rbs +17 -0
  375. data/sig/language_server/protocol/constant/code_action_trigger_kind.rbs +2 -0
  376. data/sig/language_server/protocol/constant/completion_item_tag.rbs +4 -2
  377. data/sig/language_server/protocol/constant/completion_trigger_kind.rbs +2 -3
  378. data/sig/language_server/protocol/constant/diagnostic_severity.rbs +3 -0
  379. data/sig/language_server/protocol/constant/diagnostic_tag.rbs +4 -2
  380. data/sig/language_server/protocol/constant/document_diagnostic_report_kind.rbs +4 -2
  381. data/sig/language_server/protocol/constant/error_codes.rbs +8 -26
  382. data/sig/language_server/protocol/constant/failure_handling_kind.rbs +9 -10
  383. data/sig/language_server/protocol/constant/file_change_type.rbs +1 -1
  384. data/sig/language_server/protocol/constant/file_operation_pattern_kind.rbs +4 -2
  385. data/sig/language_server/protocol/constant/folding_range_kind.rbs +4 -5
  386. data/sig/language_server/protocol/constant/inlay_hint_kind.rbs +2 -0
  387. data/sig/language_server/protocol/constant/inline_completion_trigger_kind.rbs +21 -0
  388. data/sig/language_server/protocol/constant/insert_text_format.rbs +2 -0
  389. data/sig/language_server/protocol/constant/insert_text_mode.rbs +2 -0
  390. data/sig/language_server/protocol/constant/language_kind.rbs +83 -0
  391. data/sig/language_server/protocol/constant/lsp_error_codes.rbs +1 -1
  392. data/sig/language_server/protocol/constant/markup_kind.rbs +2 -2
  393. data/sig/language_server/protocol/constant/message_type.rbs +9 -0
  394. data/sig/language_server/protocol/constant/moniker_kind.rbs +5 -3
  395. data/sig/language_server/protocol/constant/notebook_cell_kind.rbs +2 -0
  396. data/sig/language_server/protocol/constant/position_encoding_kind.rbs +7 -7
  397. data/sig/language_server/protocol/constant/prepare_support_default_behavior.rbs +1 -1
  398. data/sig/language_server/protocol/constant/resource_operation_kind.rbs +3 -6
  399. data/sig/language_server/protocol/constant/semantic_token_modifiers.rbs +17 -10
  400. data/sig/language_server/protocol/constant/semantic_token_types.rbs +39 -25
  401. data/sig/language_server/protocol/constant/signature_help_trigger_kind.rbs +3 -2
  402. data/sig/language_server/protocol/constant/symbol_tag.rbs +2 -0
  403. data/sig/language_server/protocol/constant/text_document_save_reason.rbs +2 -2
  404. data/sig/language_server/protocol/constant/text_document_sync_kind.rbs +3 -3
  405. data/sig/language_server/protocol/constant/token_format.rbs +1 -1
  406. data/sig/language_server/protocol/constant/{trace_values.rbs → trace_value.rbs} +1 -1
  407. data/sig/language_server/protocol/constant/uniqueness_level.rbs +7 -5
  408. data/sig/language_server/protocol/interface/apply_workspace_edit_params.rbs +4 -1
  409. data/sig/language_server/protocol/interface/change_annotations_support_options.rbs +22 -0
  410. data/sig/language_server/protocol/interface/client_code_action_kind_options.rbs +22 -0
  411. data/sig/language_server/protocol/interface/client_code_action_literal_options.rbs +22 -0
  412. data/sig/language_server/protocol/interface/client_code_action_resolve_options.rbs +22 -0
  413. data/sig/language_server/protocol/interface/client_code_lens_resolve_options.rbs +22 -0
  414. data/sig/language_server/protocol/interface/client_completion_item_insert_text_mode_options.rbs +22 -0
  415. data/sig/language_server/protocol/interface/client_completion_item_options.rbs +49 -0
  416. data/sig/language_server/protocol/interface/client_completion_item_options_kind.rbs +22 -0
  417. data/sig/language_server/protocol/interface/client_completion_item_resolve_options.rbs +22 -0
  418. data/sig/language_server/protocol/interface/client_diagnostics_tag_options.rbs +22 -0
  419. data/sig/language_server/protocol/interface/client_folding_range_kind_options.rbs +22 -0
  420. data/sig/language_server/protocol/interface/client_folding_range_options.rbs +22 -0
  421. data/sig/language_server/protocol/interface/client_info.rbs +28 -0
  422. data/sig/language_server/protocol/interface/client_inlay_hint_resolve_options.rbs +22 -0
  423. data/sig/language_server/protocol/interface/client_semantic_tokens_request_full_delta.rbs +22 -0
  424. data/sig/language_server/protocol/interface/client_semantic_tokens_request_options.rbs +25 -0
  425. data/sig/language_server/protocol/interface/client_show_message_action_item_options.rbs +22 -0
  426. data/sig/language_server/protocol/interface/client_signature_information_options.rbs +31 -0
  427. data/sig/language_server/protocol/interface/client_signature_parameter_information_options.rbs +22 -0
  428. data/sig/language_server/protocol/interface/client_symbol_kind_options.rbs +22 -0
  429. data/sig/language_server/protocol/interface/client_symbol_resolve_options.rbs +22 -0
  430. data/sig/language_server/protocol/interface/client_symbol_tag_options.rbs +22 -0
  431. data/sig/language_server/protocol/interface/code_action.rbs +4 -1
  432. data/sig/language_server/protocol/interface/code_action_client_capabilities.rbs +7 -1
  433. data/sig/language_server/protocol/interface/code_action_disabled.rbs +24 -0
  434. data/sig/language_server/protocol/interface/code_action_kind_documentation.rbs +27 -0
  435. data/sig/language_server/protocol/interface/code_action_options.rbs +4 -1
  436. data/sig/language_server/protocol/interface/code_action_registration_options.rbs +4 -1
  437. data/sig/language_server/protocol/interface/code_action_tag_options.rbs +22 -0
  438. data/sig/language_server/protocol/interface/code_lens_client_capabilities.rbs +4 -1
  439. data/sig/language_server/protocol/interface/command.rbs +4 -1
  440. data/sig/language_server/protocol/interface/completion_item_apply_kinds.rbs +41 -0
  441. data/sig/language_server/protocol/interface/completion_item_defaults.rbs +48 -0
  442. data/sig/language_server/protocol/interface/completion_item_tag_options.rbs +22 -0
  443. data/sig/language_server/protocol/interface/completion_list.rbs +4 -1
  444. data/sig/language_server/protocol/interface/completion_list_capabilities.rbs +28 -0
  445. data/sig/language_server/protocol/interface/diagnostic.rbs +2 -2
  446. data/sig/language_server/protocol/interface/diagnostic_client_capabilities.rbs +16 -1
  447. data/sig/language_server/protocol/interface/diagnostics_capabilities.rbs +31 -0
  448. data/sig/language_server/protocol/interface/document_diagnostic_report_progress.rbs +45 -0
  449. data/sig/language_server/protocol/interface/document_filter.rbs +3 -3
  450. data/sig/language_server/protocol/interface/document_range_formatting_client_capabilities.rbs +4 -1
  451. data/sig/language_server/protocol/interface/document_range_formatting_options.rbs +4 -1
  452. data/sig/language_server/protocol/interface/document_range_formatting_registration_options.rbs +4 -1
  453. data/sig/language_server/protocol/interface/document_ranges_formatting_params.rbs +33 -0
  454. data/sig/language_server/protocol/interface/edit_range_with_insert_replace.rbs +27 -0
  455. data/sig/language_server/protocol/interface/folding_range_workspace_client_capabilities.rbs +24 -0
  456. data/sig/language_server/protocol/interface/inline_completion_client_capabilities.rbs +24 -0
  457. data/sig/language_server/protocol/interface/inline_completion_context.rbs +27 -0
  458. data/sig/language_server/protocol/interface/inline_completion_item.rbs +33 -0
  459. data/sig/language_server/protocol/interface/inline_completion_list.rbs +24 -0
  460. data/sig/language_server/protocol/interface/inline_completion_options.rbs +24 -0
  461. data/sig/language_server/protocol/interface/inline_completion_params.rbs +33 -0
  462. data/sig/language_server/protocol/interface/inline_completion_registration_options.rbs +30 -0
  463. data/sig/language_server/protocol/interface/inline_value_evaluatable_expression.rbs +7 -3
  464. data/sig/language_server/protocol/interface/inline_value_text.rbs +1 -1
  465. data/sig/language_server/protocol/interface/inline_value_variable_lookup.rbs +7 -3
  466. data/sig/language_server/protocol/interface/location_uri_only.rbs +24 -0
  467. data/sig/language_server/protocol/interface/marked_string_with_language.rbs +26 -0
  468. data/sig/language_server/protocol/interface/{hover_result.rbs → notebook_cell_language.rbs} +6 -3
  469. data/sig/language_server/protocol/interface/notebook_document_cell_change_structure.rbs +30 -0
  470. data/sig/language_server/protocol/interface/notebook_document_cell_changes.rbs +30 -0
  471. data/sig/language_server/protocol/interface/notebook_document_cell_content_changes.rbs +27 -0
  472. data/sig/language_server/protocol/interface/notebook_document_filter.rbs +2 -2
  473. data/sig/language_server/protocol/interface/notebook_document_filter_notebook_type.rbs +30 -0
  474. data/sig/language_server/protocol/interface/notebook_document_filter_pattern.rbs +30 -0
  475. data/sig/language_server/protocol/interface/notebook_document_filter_scheme.rbs +30 -0
  476. data/sig/language_server/protocol/interface/notebook_document_filter_with_cells.rbs +25 -0
  477. data/sig/language_server/protocol/interface/notebook_document_filter_with_notebook.rbs +25 -0
  478. data/sig/language_server/protocol/interface/position.rbs +2 -2
  479. data/sig/language_server/protocol/interface/prepare_rename_default_behavior.rbs +22 -0
  480. data/sig/language_server/protocol/interface/prepare_rename_placeholder.rbs +25 -0
  481. data/sig/language_server/protocol/interface/publish_diagnostics_client_capabilities.rbs +4 -4
  482. data/sig/language_server/protocol/interface/regular_expressions_client_capabilities.rbs +2 -2
  483. data/sig/language_server/protocol/interface/rename_params.rbs +4 -4
  484. data/sig/language_server/protocol/interface/selected_completion_info.rbs +27 -0
  485. data/sig/language_server/protocol/interface/semantic_tokens_full_delta.rbs +24 -0
  486. data/sig/language_server/protocol/interface/server_capabilities.rbs +4 -1
  487. data/sig/language_server/protocol/interface/server_completion_item_options.rbs +22 -0
  488. data/sig/language_server/protocol/interface/server_info.rbs +28 -0
  489. data/sig/language_server/protocol/interface/show_document_params.rbs +1 -1
  490. data/sig/language_server/protocol/interface/signature_help.rbs +1 -1
  491. data/sig/language_server/protocol/interface/signature_information.rbs +1 -1
  492. data/sig/language_server/protocol/interface/snippet_text_edit.rbs +30 -0
  493. data/sig/language_server/protocol/interface/stale_request_support_options.rbs +25 -0
  494. data/sig/language_server/protocol/interface/string_value.rbs +33 -0
  495. data/sig/language_server/protocol/interface/text_document_client_capabilities.rbs +7 -1
  496. data/sig/language_server/protocol/interface/text_document_content_change_partial.rbs +28 -0
  497. data/sig/language_server/protocol/interface/text_document_content_change_whole_document.rbs +22 -0
  498. data/sig/language_server/protocol/interface/text_document_content_client_capabilities.rbs +24 -0
  499. data/sig/language_server/protocol/interface/text_document_content_options.rbs +24 -0
  500. data/sig/language_server/protocol/interface/text_document_content_params.rbs +24 -0
  501. data/sig/language_server/protocol/interface/text_document_content_refresh_params.rbs +24 -0
  502. data/sig/language_server/protocol/interface/text_document_content_registration_options.rbs +27 -0
  503. data/sig/language_server/protocol/interface/text_document_content_result.rbs +24 -0
  504. data/sig/language_server/protocol/interface/text_document_filter.rbs +3 -3
  505. data/sig/language_server/protocol/interface/text_document_filter_client_capabilities.rbs +19 -0
  506. data/sig/language_server/protocol/interface/text_document_filter_language.rbs +30 -0
  507. data/sig/language_server/protocol/interface/text_document_filter_pattern.rbs +30 -0
  508. data/sig/language_server/protocol/interface/text_document_filter_scheme.rbs +30 -0
  509. data/sig/language_server/protocol/interface/text_document_item.rbs +2 -2
  510. data/sig/language_server/protocol/interface/workspace_client_capabilities.rbs +7 -1
  511. data/sig/language_server/protocol/interface/workspace_edit_client_capabilities.rbs +7 -1
  512. data/sig/language_server/protocol/interface/workspace_edit_metadata.rbs +24 -0
  513. data/sig/language_server/protocol/interface/workspace_options.rbs +30 -0
  514. metadata +162 -8
  515. data/lib/language_server/protocol/constant/initialize_error_codes.rb +0 -18
  516. data/sig/language_server/protocol/constant/initialize_error_codes.rbs +0 -18
@@ -9,8 +9,8 @@ module LanguageServer
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:textDocument] = text_document
12
- @attributes[:workDoneToken] = work_done_token if work_done_token
13
- @attributes[:partialResultToken] = partial_result_token if partial_result_token
12
+ @attributes[:workDoneToken] = work_done_token unless work_done_token.nil?
13
+ @attributes[:partialResultToken] = partial_result_token unless partial_result_token.nil?
14
14
 
15
15
  @attributes.freeze
16
16
  end
@@ -10,8 +10,8 @@ module LanguageServer
10
10
 
11
11
  @attributes[:textDocument] = text_document
12
12
  @attributes[:range] = range
13
- @attributes[:workDoneToken] = work_done_token if work_done_token
14
- @attributes[:partialResultToken] = partial_result_token if partial_result_token
13
+ @attributes[:workDoneToken] = work_done_token unless work_done_token.nil?
14
+ @attributes[:partialResultToken] = partial_result_token unless partial_result_token.nil?
15
15
 
16
16
  @attributes.freeze
17
17
  end
@@ -10,10 +10,10 @@ module LanguageServer
10
10
 
11
11
  @attributes[:documentSelector] = document_selector
12
12
  @attributes[:legend] = legend
13
- @attributes[:range] = range if range
14
- @attributes[:full] = full if full
15
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
16
- @attributes[:id] = id if id
13
+ @attributes[:range] = range unless range.nil?
14
+ @attributes[:full] = full unless full.nil?
15
+ @attributes[:workDoneProgress] = work_done_progress unless work_done_progress.nil?
16
+ @attributes[:id] = id unless id.nil?
17
17
 
18
18
  @attributes.freeze
19
19
  end
@@ -47,7 +47,7 @@ module LanguageServer
47
47
  #
48
48
  # Server supports providing semantic tokens for a full document.
49
49
  #
50
- # @return [boolean | { delta?: boolean; }]
50
+ # @return [boolean | SemanticTokensFullDelta]
51
51
  def full
52
52
  attributes.fetch(:full)
53
53
  end
@@ -8,7 +8,7 @@ module LanguageServer
8
8
  def initialize(refresh_support: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:refreshSupport] = refresh_support if refresh_support
11
+ @attributes[:refreshSupport] = refresh_support unless refresh_support.nil?
12
12
 
13
13
  @attributes.freeze
14
14
  end
@@ -6,44 +6,45 @@ module LanguageServer
6
6
  # server.
7
7
  #
8
8
  class ServerCapabilities
9
- def initialize(position_encoding: nil, text_document_sync: nil, notebook_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, workspace_symbol_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, selection_range_provider: nil, execute_command_provider: nil, call_hierarchy_provider: nil, linked_editing_range_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, type_hierarchy_provider: nil, inline_value_provider: nil, inlay_hint_provider: nil, diagnostic_provider: nil, workspace: nil, experimental: nil)
9
+ def initialize(position_encoding: nil, text_document_sync: nil, notebook_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, workspace_symbol_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, selection_range_provider: nil, execute_command_provider: nil, call_hierarchy_provider: nil, linked_editing_range_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, type_hierarchy_provider: nil, inline_value_provider: nil, inlay_hint_provider: nil, diagnostic_provider: nil, inline_completion_provider: nil, workspace: nil, experimental: nil)
10
10
  @attributes = {}
11
11
 
12
- @attributes[:positionEncoding] = position_encoding if position_encoding
13
- @attributes[:textDocumentSync] = text_document_sync if text_document_sync
14
- @attributes[:notebookDocumentSync] = notebook_document_sync if notebook_document_sync
15
- @attributes[:completionProvider] = completion_provider if completion_provider
16
- @attributes[:hoverProvider] = hover_provider if hover_provider
17
- @attributes[:signatureHelpProvider] = signature_help_provider if signature_help_provider
18
- @attributes[:declarationProvider] = declaration_provider if declaration_provider
19
- @attributes[:definitionProvider] = definition_provider if definition_provider
20
- @attributes[:typeDefinitionProvider] = type_definition_provider if type_definition_provider
21
- @attributes[:implementationProvider] = implementation_provider if implementation_provider
22
- @attributes[:referencesProvider] = references_provider if references_provider
23
- @attributes[:documentHighlightProvider] = document_highlight_provider if document_highlight_provider
24
- @attributes[:documentSymbolProvider] = document_symbol_provider if document_symbol_provider
25
- @attributes[:codeActionProvider] = code_action_provider if code_action_provider
26
- @attributes[:codeLensProvider] = code_lens_provider if code_lens_provider
27
- @attributes[:documentLinkProvider] = document_link_provider if document_link_provider
28
- @attributes[:colorProvider] = color_provider if color_provider
29
- @attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
30
- @attributes[:documentFormattingProvider] = document_formatting_provider if document_formatting_provider
31
- @attributes[:documentRangeFormattingProvider] = document_range_formatting_provider if document_range_formatting_provider
32
- @attributes[:documentOnTypeFormattingProvider] = document_on_type_formatting_provider if document_on_type_formatting_provider
33
- @attributes[:renameProvider] = rename_provider if rename_provider
34
- @attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
35
- @attributes[:selectionRangeProvider] = selection_range_provider if selection_range_provider
36
- @attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
37
- @attributes[:callHierarchyProvider] = call_hierarchy_provider if call_hierarchy_provider
38
- @attributes[:linkedEditingRangeProvider] = linked_editing_range_provider if linked_editing_range_provider
39
- @attributes[:semanticTokensProvider] = semantic_tokens_provider if semantic_tokens_provider
40
- @attributes[:monikerProvider] = moniker_provider if moniker_provider
41
- @attributes[:typeHierarchyProvider] = type_hierarchy_provider if type_hierarchy_provider
42
- @attributes[:inlineValueProvider] = inline_value_provider if inline_value_provider
43
- @attributes[:inlayHintProvider] = inlay_hint_provider if inlay_hint_provider
44
- @attributes[:diagnosticProvider] = diagnostic_provider if diagnostic_provider
45
- @attributes[:workspace] = workspace if workspace
46
- @attributes[:experimental] = experimental if experimental
12
+ @attributes[:positionEncoding] = position_encoding unless position_encoding.nil?
13
+ @attributes[:textDocumentSync] = text_document_sync unless text_document_sync.nil?
14
+ @attributes[:notebookDocumentSync] = notebook_document_sync unless notebook_document_sync.nil?
15
+ @attributes[:completionProvider] = completion_provider unless completion_provider.nil?
16
+ @attributes[:hoverProvider] = hover_provider unless hover_provider.nil?
17
+ @attributes[:signatureHelpProvider] = signature_help_provider unless signature_help_provider.nil?
18
+ @attributes[:declarationProvider] = declaration_provider unless declaration_provider.nil?
19
+ @attributes[:definitionProvider] = definition_provider unless definition_provider.nil?
20
+ @attributes[:typeDefinitionProvider] = type_definition_provider unless type_definition_provider.nil?
21
+ @attributes[:implementationProvider] = implementation_provider unless implementation_provider.nil?
22
+ @attributes[:referencesProvider] = references_provider unless references_provider.nil?
23
+ @attributes[:documentHighlightProvider] = document_highlight_provider unless document_highlight_provider.nil?
24
+ @attributes[:documentSymbolProvider] = document_symbol_provider unless document_symbol_provider.nil?
25
+ @attributes[:codeActionProvider] = code_action_provider unless code_action_provider.nil?
26
+ @attributes[:codeLensProvider] = code_lens_provider unless code_lens_provider.nil?
27
+ @attributes[:documentLinkProvider] = document_link_provider unless document_link_provider.nil?
28
+ @attributes[:colorProvider] = color_provider unless color_provider.nil?
29
+ @attributes[:workspaceSymbolProvider] = workspace_symbol_provider unless workspace_symbol_provider.nil?
30
+ @attributes[:documentFormattingProvider] = document_formatting_provider unless document_formatting_provider.nil?
31
+ @attributes[:documentRangeFormattingProvider] = document_range_formatting_provider unless document_range_formatting_provider.nil?
32
+ @attributes[:documentOnTypeFormattingProvider] = document_on_type_formatting_provider unless document_on_type_formatting_provider.nil?
33
+ @attributes[:renameProvider] = rename_provider unless rename_provider.nil?
34
+ @attributes[:foldingRangeProvider] = folding_range_provider unless folding_range_provider.nil?
35
+ @attributes[:selectionRangeProvider] = selection_range_provider unless selection_range_provider.nil?
36
+ @attributes[:executeCommandProvider] = execute_command_provider unless execute_command_provider.nil?
37
+ @attributes[:callHierarchyProvider] = call_hierarchy_provider unless call_hierarchy_provider.nil?
38
+ @attributes[:linkedEditingRangeProvider] = linked_editing_range_provider unless linked_editing_range_provider.nil?
39
+ @attributes[:semanticTokensProvider] = semantic_tokens_provider unless semantic_tokens_provider.nil?
40
+ @attributes[:monikerProvider] = moniker_provider unless moniker_provider.nil?
41
+ @attributes[:typeHierarchyProvider] = type_hierarchy_provider unless type_hierarchy_provider.nil?
42
+ @attributes[:inlineValueProvider] = inline_value_provider unless inline_value_provider.nil?
43
+ @attributes[:inlayHintProvider] = inlay_hint_provider unless inlay_hint_provider.nil?
44
+ @attributes[:diagnosticProvider] = diagnostic_provider unless diagnostic_provider.nil?
45
+ @attributes[:inlineCompletionProvider] = inline_completion_provider unless inline_completion_provider.nil?
46
+ @attributes[:workspace] = workspace unless workspace.nil?
47
+ @attributes[:experimental] = experimental unless experimental.nil?
47
48
 
48
49
  @attributes.freeze
49
50
  end
@@ -344,10 +345,20 @@ module LanguageServer
344
345
  attributes.fetch(:diagnosticProvider)
345
346
  end
346
347
 
348
+ #
349
+ # Inline completion options used during static registration.
350
+ #
351
+ # @since 3.18.0
352
+ #
353
+ # @return [boolean | InlineCompletionOptions]
354
+ def inline_completion_provider
355
+ attributes.fetch(:inlineCompletionProvider)
356
+ end
357
+
347
358
  #
348
359
  # Workspace specific server capabilities.
349
360
  #
350
- # @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: FileOperationOptions; }]
361
+ # @return [WorkspaceOptions]
351
362
  def workspace
352
363
  attributes.fetch(:workspace)
353
364
  end
@@ -0,0 +1,40 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # @since 3.18.0
6
+ #
7
+ class ServerCompletionItemOptions
8
+ def initialize(label_details_support: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:labelDetailsSupport] = label_details_support unless label_details_support.nil?
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # The server has support for completion item label
18
+ # details (see also `CompletionItemLabelDetails`) when
19
+ # receiving a completion item in a resolve call.
20
+ #
21
+ # @since 3.17.0
22
+ #
23
+ # @return [boolean]
24
+ def label_details_support
25
+ attributes.fetch(:labelDetailsSupport)
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,48 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Information about the server
6
+ #
7
+ # @since 3.15.0
8
+ # @since 3.18.0 ServerInfo type name added.
9
+ #
10
+ class ServerInfo
11
+ def initialize(name:, version: nil)
12
+ @attributes = {}
13
+
14
+ @attributes[:name] = name
15
+ @attributes[:version] = version unless version.nil?
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The name of the server as defined by the server.
22
+ #
23
+ # @return [string]
24
+ def name
25
+ attributes.fetch(:name)
26
+ end
27
+
28
+ #
29
+ # The server's version as defined by the server.
30
+ #
31
+ # @return [string]
32
+ def version
33
+ attributes.fetch(:version)
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
@@ -10,7 +10,7 @@ module LanguageServer
10
10
  @attributes.freeze
11
11
  end
12
12
 
13
- # @return [TraceValues]
13
+ # @return [TraceValue]
14
14
  def value
15
15
  attributes.fetch(:value)
16
16
  end
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Params to show a document.
5
+ # Params to show a resource in the UI.
6
6
  #
7
7
  # @since 3.16.0
8
8
  #
@@ -11,15 +11,15 @@ module LanguageServer
11
11
  @attributes = {}
12
12
 
13
13
  @attributes[:uri] = uri
14
- @attributes[:external] = external if external
15
- @attributes[:takeFocus] = take_focus if take_focus
16
- @attributes[:selection] = selection if selection
14
+ @attributes[:external] = external unless external.nil?
15
+ @attributes[:takeFocus] = take_focus unless take_focus.nil?
16
+ @attributes[:selection] = selection unless selection.nil?
17
17
 
18
18
  @attributes.freeze
19
19
  end
20
20
 
21
21
  #
22
- # The document uri to show.
22
+ # The uri to show.
23
23
  #
24
24
  # @return [URI]
25
25
  def uri
@@ -28,7 +28,7 @@ module LanguageServer
28
28
 
29
29
  #
30
30
  # Indicates to show the resource in an external program.
31
- # To show for example `https://code.visualstudio.com/`
31
+ # To show, for example, `https://code.visualstudio.com/`
32
32
  # in the default WEB browser set `external` to `true`.
33
33
  #
34
34
  # @return [boolean]
@@ -8,7 +8,7 @@ module LanguageServer
8
8
  def initialize(message_action_item: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:messageActionItem] = message_action_item if message_action_item
11
+ @attributes[:messageActionItem] = message_action_item unless message_action_item.nil?
12
12
 
13
13
  @attributes.freeze
14
14
  end
@@ -16,7 +16,7 @@ module LanguageServer
16
16
  #
17
17
  # Capabilities specific to the `MessageActionItem` type.
18
18
  #
19
- # @return [{ additionalPropertiesSupport?: boolean; }]
19
+ # @return [ClientShowMessageActionItemOptions]
20
20
  def message_action_item
21
21
  attributes.fetch(:messageActionItem)
22
22
  end
@@ -7,7 +7,7 @@ module LanguageServer
7
7
 
8
8
  @attributes[:type] = type
9
9
  @attributes[:message] = message
10
- @attributes[:actions] = actions if actions
10
+ @attributes[:actions] = actions unless actions.nil?
11
11
 
12
12
  @attributes.freeze
13
13
  end
@@ -11,8 +11,8 @@ module LanguageServer
11
11
  @attributes = {}
12
12
 
13
13
  @attributes[:signatures] = signatures
14
- @attributes[:activeSignature] = active_signature if active_signature
15
- @attributes[:activeParameter] = active_parameter if active_parameter
14
+ @attributes[:activeSignature] = active_signature unless active_signature.nil?
15
+ @attributes[:activeParameter] = active_parameter unless active_parameter.nil?
16
16
 
17
17
  @attributes.freeze
18
18
  end
@@ -42,13 +42,25 @@ module LanguageServer
42
42
  end
43
43
 
44
44
  #
45
- # The active parameter of the active signature. If omitted or the value
46
- # lies outside the range of `signatures[activeSignature].parameters`
47
- # defaults to 0 if the active signature has parameters. If
48
- # the active signature has no parameters it is ignored.
45
+ # The active parameter of the active signature.
46
+ #
47
+ # If `null`, no parameter of the signature is active (for example a named
48
+ # argument that does not match any declared parameters). This is only valid
49
+ # if the client specifies the client capability
50
+ # `textDocument.signatureHelp.noActiveParameterSupport === true`
51
+ #
52
+ # If omitted or the value lies outside the range of
53
+ # `signatures[activeSignature].parameters` defaults to 0 if the active
54
+ # signature has parameters.
55
+ #
56
+ # If the active signature has no parameters it is ignored.
57
+ #
49
58
  # In future version of the protocol this property might become
50
- # mandatory to better express the active parameter if the
51
- # active signature does have any.
59
+ # mandatory (but still nullable) to better express the active parameter if
60
+ # the active signature does have any.
61
+ #
62
+ # Since version 3.16.0 the `SignatureInformation` itself provides a
63
+ # `activeParameter` property and it should be used instead of this one.
52
64
  #
53
65
  # @return [uinteger]
54
66
  def active_parameter
@@ -8,9 +8,9 @@ module LanguageServer
8
8
  def initialize(dynamic_registration: nil, signature_information: nil, context_support: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
12
- @attributes[:signatureInformation] = signature_information if signature_information
13
- @attributes[:contextSupport] = context_support if context_support
11
+ @attributes[:dynamicRegistration] = dynamic_registration unless dynamic_registration.nil?
12
+ @attributes[:signatureInformation] = signature_information unless signature_information.nil?
13
+ @attributes[:contextSupport] = context_support unless context_support.nil?
14
14
 
15
15
  @attributes.freeze
16
16
  end
@@ -27,7 +27,7 @@ module LanguageServer
27
27
  # The client supports the following `SignatureInformation`
28
28
  # specific properties.
29
29
  #
30
- # @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; activeParameterSupport?: boolean; }]
30
+ # @return [ClientSignatureInformationOptions]
31
31
  def signature_information
32
32
  attributes.fetch(:signatureInformation)
33
33
  end
@@ -11,9 +11,9 @@ module LanguageServer
11
11
  @attributes = {}
12
12
 
13
13
  @attributes[:triggerKind] = trigger_kind
14
- @attributes[:triggerCharacter] = trigger_character if trigger_character
14
+ @attributes[:triggerCharacter] = trigger_character unless trigger_character.nil?
15
15
  @attributes[:isRetrigger] = is_retrigger
16
- @attributes[:activeSignatureHelp] = active_signature_help if active_signature_help
16
+ @attributes[:activeSignatureHelp] = active_signature_help unless active_signature_help.nil?
17
17
 
18
18
  @attributes.freeze
19
19
  end
@@ -8,9 +8,9 @@ module LanguageServer
8
8
  def initialize(trigger_characters: nil, retrigger_characters: nil, work_done_progress: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:triggerCharacters] = trigger_characters if trigger_characters
12
- @attributes[:retriggerCharacters] = retrigger_characters if retrigger_characters
13
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
11
+ @attributes[:triggerCharacters] = trigger_characters unless trigger_characters.nil?
12
+ @attributes[:retriggerCharacters] = retrigger_characters unless retrigger_characters.nil?
13
+ @attributes[:workDoneProgress] = work_done_progress unless work_done_progress.nil?
14
14
 
15
15
  @attributes.freeze
16
16
  end
@@ -8,10 +8,10 @@ module LanguageServer
8
8
  def initialize(context: nil, text_document:, position:, work_done_token: nil)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:context] = context if context
11
+ @attributes[:context] = context unless context.nil?
12
12
  @attributes[:textDocument] = text_document
13
13
  @attributes[:position] = position
14
- @attributes[:workDoneToken] = work_done_token if work_done_token
14
+ @attributes[:workDoneToken] = work_done_token unless work_done_token.nil?
15
15
 
16
16
  @attributes.freeze
17
17
  end
@@ -9,9 +9,9 @@ module LanguageServer
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:documentSelector] = document_selector
12
- @attributes[:triggerCharacters] = trigger_characters if trigger_characters
13
- @attributes[:retriggerCharacters] = retrigger_characters if retrigger_characters
14
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
12
+ @attributes[:triggerCharacters] = trigger_characters unless trigger_characters.nil?
13
+ @attributes[:retriggerCharacters] = retrigger_characters unless retrigger_characters.nil?
14
+ @attributes[:workDoneProgress] = work_done_progress unless work_done_progress.nil?
15
15
 
16
16
  @attributes.freeze
17
17
  end
@@ -11,9 +11,9 @@ module LanguageServer
11
11
  @attributes = {}
12
12
 
13
13
  @attributes[:label] = label
14
- @attributes[:documentation] = documentation if documentation
15
- @attributes[:parameters] = parameters if parameters
16
- @attributes[:activeParameter] = active_parameter if active_parameter
14
+ @attributes[:documentation] = documentation unless documentation.nil?
15
+ @attributes[:parameters] = parameters unless parameters.nil?
16
+ @attributes[:activeParameter] = active_parameter unless active_parameter.nil?
17
17
 
18
18
  @attributes.freeze
19
19
  end
@@ -47,7 +47,13 @@ module LanguageServer
47
47
  #
48
48
  # The index of the active parameter.
49
49
  #
50
- # If provided, this is used in place of `SignatureHelp.activeParameter`.
50
+ # If `null`, no parameter of the signature is active (for example a named
51
+ # argument that does not match any declared parameters). This is only valid
52
+ # if the client specifies the client capability
53
+ # `textDocument.signatureHelp.noActiveParameterSupport === true`
54
+ #
55
+ # If provided (or `null`), this is used in place of
56
+ # `SignatureHelp.activeParameter`.
51
57
  #
52
58
  # @since 3.16.0
53
59
  #
@@ -0,0 +1,56 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # An interactive text edit.
6
+ #
7
+ # @since 3.18.0
8
+ #
9
+ class SnippetTextEdit
10
+ def initialize(range:, snippet:, annotation_id: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:range] = range
14
+ @attributes[:snippet] = snippet
15
+ @attributes[:annotationId] = annotation_id unless annotation_id.nil?
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The range of the text document to be manipulated.
22
+ #
23
+ # @return [Range]
24
+ def range
25
+ attributes.fetch(:range)
26
+ end
27
+
28
+ #
29
+ # The snippet to be inserted.
30
+ #
31
+ # @return [StringValue]
32
+ def snippet
33
+ attributes.fetch(:snippet)
34
+ end
35
+
36
+ #
37
+ # The actual identifier of the snippet edit.
38
+ #
39
+ # @return [ChangeAnnotationIdentifier]
40
+ def annotation_id
41
+ attributes.fetch(:annotationId)
42
+ end
43
+
44
+ attr_reader :attributes
45
+
46
+ def to_hash
47
+ attributes
48
+ end
49
+
50
+ def to_json(*args)
51
+ to_hash.to_json(*args)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,47 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # @since 3.18.0
6
+ #
7
+ class StaleRequestSupportOptions
8
+ def initialize(cancel:, retry_on_content_modified:)
9
+ @attributes = {}
10
+
11
+ @attributes[:cancel] = cancel
12
+ @attributes[:retryOnContentModified] = retry_on_content_modified
13
+
14
+ @attributes.freeze
15
+ end
16
+
17
+ #
18
+ # The client will actively cancel the request.
19
+ #
20
+ # @return [boolean]
21
+ def cancel
22
+ attributes.fetch(:cancel)
23
+ end
24
+
25
+ #
26
+ # The list of requests for which the client
27
+ # will retry the request if it receives a
28
+ # response with error code `ContentModified`
29
+ #
30
+ # @return [string[]]
31
+ def retry_on_content_modified
32
+ attributes.fetch(:retryOnContentModified)
33
+ end
34
+
35
+ attr_reader :attributes
36
+
37
+ def to_hash
38
+ attributes
39
+ end
40
+
41
+ def to_json(*args)
42
+ to_hash.to_json(*args)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -9,7 +9,7 @@ module LanguageServer
9
9
  def initialize(id: nil)
10
10
  @attributes = {}
11
11
 
12
- @attributes[:id] = id if id
12
+ @attributes[:id] = id unless id.nil?
13
13
 
14
14
  @attributes.freeze
15
15
  end
@@ -0,0 +1,53 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A string value used as a snippet is a template which allows to insert text
6
+ # and to control the editor cursor when insertion happens.
7
+ #
8
+ # A snippet can define tab stops and placeholders with `$1`, `$2`
9
+ # and `${3:foo}`. `$0` defines the final tab stop, it defaults to
10
+ # the end of the snippet. Variables are defined with `$name` and
11
+ # `${name:default value}`.
12
+ #
13
+ # @since 3.18.0
14
+ #
15
+ class StringValue
16
+ def initialize(kind:, value:)
17
+ @attributes = {}
18
+
19
+ @attributes[:kind] = kind
20
+ @attributes[:value] = value
21
+
22
+ @attributes.freeze
23
+ end
24
+
25
+ #
26
+ # The kind of string value.
27
+ #
28
+ # @return ["snippet"]
29
+ def kind
30
+ attributes.fetch(:kind)
31
+ end
32
+
33
+ #
34
+ # The snippet string.
35
+ #
36
+ # @return [string]
37
+ def value
38
+ attributes.fetch(:value)
39
+ end
40
+
41
+ attr_reader :attributes
42
+
43
+ def to_hash
44
+ attributes
45
+ end
46
+
47
+ def to_json(*args)
48
+ to_hash.to_json(*args)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end