language_server-protocol 3.17.0.0 → 3.17.0.2

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 +29 -22
  3. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +0 -2
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -4
  5. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +3 -2
  6. data/lib/language_server/protocol/constant/diagnostic_severity.rb +0 -3
  7. data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -4
  8. data/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +21 -0
  9. data/lib/language_server/protocol/constant/error_codes.rb +42 -16
  10. data/lib/language_server/protocol/constant/failure_handling_kind.rb +10 -9
  11. data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
  12. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +2 -4
  13. data/lib/language_server/protocol/constant/folding_range_kind.rb +5 -4
  14. data/lib/language_server/protocol/constant/initialize_error_codes.rb +16 -0
  15. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +0 -2
  16. data/lib/language_server/protocol/constant/insert_text_format.rb +0 -2
  17. data/lib/language_server/protocol/constant/insert_text_mode.rb +0 -2
  18. data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
  19. data/lib/language_server/protocol/constant/message_type.rb +0 -3
  20. data/lib/language_server/protocol/constant/moniker_kind.rb +3 -5
  21. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +0 -2
  22. data/lib/language_server/protocol/constant/position_encoding_kind.rb +5 -5
  23. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +1 -1
  24. data/lib/language_server/protocol/constant/resource_operation_kind.rb +6 -3
  25. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +10 -17
  26. data/lib/language_server/protocol/constant/semantic_token_types.rb +25 -35
  27. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -3
  28. data/lib/language_server/protocol/constant/symbol_tag.rb +0 -2
  29. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  30. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +3 -3
  31. data/lib/language_server/protocol/constant/token_format.rb +1 -1
  32. data/lib/language_server/protocol/constant/uniqueness_level.rb +5 -7
  33. data/lib/language_server/protocol/constant.rb +6 -4
  34. data/lib/language_server/protocol/interface/annotated_text_edit.rb +10 -12
  35. data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +1 -4
  36. data/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +6 -10
  37. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +5 -7
  38. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +0 -5
  39. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +11 -16
  40. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +9 -13
  41. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +1 -6
  42. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +2 -8
  43. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +11 -16
  44. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +1 -6
  45. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +5 -10
  46. data/lib/language_server/protocol/interface/cancel_params.rb +1 -1
  47. data/lib/language_server/protocol/interface/change_annotation.rb +2 -4
  48. data/lib/language_server/protocol/interface/client_capabilities.rb +6 -13
  49. data/lib/language_server/protocol/interface/code_action.rb +26 -28
  50. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +9 -25
  51. data/lib/language_server/protocol/interface/code_action_context.rb +10 -11
  52. data/lib/language_server/protocol/interface/code_action_options.rb +11 -16
  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 +14 -19
  55. data/lib/language_server/protocol/interface/code_description.rb +1 -3
  56. data/lib/language_server/protocol/interface/code_lens.rb +9 -8
  57. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +1 -4
  58. data/lib/language_server/protocol/interface/code_lens_options.rb +8 -11
  59. data/lib/language_server/protocol/interface/code_lens_params.rb +14 -17
  60. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +11 -14
  61. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +1 -4
  62. data/lib/language_server/protocol/interface/color.rb +4 -4
  63. data/lib/language_server/protocol/interface/color_information.rb +0 -3
  64. data/lib/language_server/protocol/interface/color_presentation.rb +9 -8
  65. data/lib/language_server/protocol/interface/color_presentation_params.rb +21 -24
  66. data/lib/language_server/protocol/interface/command.rb +1 -7
  67. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +16 -24
  68. data/lib/language_server/protocol/interface/completion_context.rb +6 -4
  69. data/lib/language_server/protocol/interface/completion_item.rb +50 -61
  70. data/lib/language_server/protocol/interface/completion_item_label_details.rb +8 -8
  71. data/lib/language_server/protocol/interface/completion_list.rb +5 -6
  72. data/lib/language_server/protocol/interface/completion_options.rb +27 -27
  73. data/lib/language_server/protocol/interface/completion_params.rb +16 -18
  74. data/lib/language_server/protocol/interface/completion_registration_options.rb +30 -33
  75. data/lib/language_server/protocol/interface/configuration_item.rb +2 -2
  76. data/lib/language_server/protocol/interface/configuration_params.rb +0 -3
  77. data/lib/language_server/protocol/interface/create_file.rb +4 -6
  78. data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
  79. data/lib/language_server/protocol/interface/create_files_params.rb +2 -4
  80. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +5 -8
  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 +2 -7
  85. data/lib/language_server/protocol/interface/definition_options.rb +1 -4
  86. data/lib/language_server/protocol/interface/definition_params.rb +4 -7
  87. data/lib/language_server/protocol/interface/definition_registration_options.rb +4 -7
  88. data/lib/language_server/protocol/interface/delete_file.rb +3 -5
  89. data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
  90. data/lib/language_server/protocol/interface/delete_files_params.rb +2 -4
  91. data/lib/language_server/protocol/interface/diagnostic.rb +14 -25
  92. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +7 -7
  93. data/lib/language_server/protocol/interface/diagnostic_options.rb +8 -10
  94. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +12 -14
  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 +0 -2
  97. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +4 -6
  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 +0 -3
  100. data/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +8 -14
  101. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -12
  102. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +6 -8
  103. data/lib/language_server/protocol/interface/did_change_watched_files_params.rb +0 -3
  104. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  105. data/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +0 -3
  106. data/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +0 -2
  107. data/lib/language_server/protocol/interface/did_close_text_document_params.rb +0 -3
  108. data/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +0 -2
  109. data/lib/language_server/protocol/interface/did_open_text_document_params.rb +0 -3
  110. data/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +0 -2
  111. data/lib/language_server/protocol/interface/did_save_text_document_params.rb +1 -4
  112. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +2 -4
  113. data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
  114. data/lib/language_server/protocol/interface/document_color_params.rb +14 -17
  115. data/lib/language_server/protocol/interface/document_color_registration_options.rb +11 -11
  116. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +22 -24
  117. data/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +1 -3
  118. data/lib/language_server/protocol/interface/document_filter.rb +19 -25
  119. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +1 -4
  120. data/lib/language_server/protocol/interface/document_formatting_options.rb +1 -4
  121. data/lib/language_server/protocol/interface/document_formatting_params.rb +10 -13
  122. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +4 -7
  123. data/lib/language_server/protocol/interface/document_highlight.rb +2 -2
  124. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +1 -4
  125. data/lib/language_server/protocol/interface/document_highlight_options.rb +1 -4
  126. data/lib/language_server/protocol/interface/document_highlight_params.rb +4 -7
  127. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +4 -7
  128. data/lib/language_server/protocol/interface/document_link.rb +9 -10
  129. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +2 -7
  130. data/lib/language_server/protocol/interface/document_link_options.rb +8 -11
  131. data/lib/language_server/protocol/interface/document_link_params.rb +14 -17
  132. data/lib/language_server/protocol/interface/document_link_registration_options.rb +11 -14
  133. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +1 -4
  134. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +1 -4
  135. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +0 -3
  136. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +4 -7
  137. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +2 -5
  138. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +1 -4
  139. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +10 -13
  140. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +4 -7
  141. data/lib/language_server/protocol/interface/document_symbol.rb +15 -17
  142. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +5 -12
  143. data/lib/language_server/protocol/interface/document_symbol_options.rb +8 -13
  144. data/lib/language_server/protocol/interface/document_symbol_params.rb +14 -17
  145. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +11 -16
  146. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +1 -4
  147. data/lib/language_server/protocol/interface/execute_command_options.rb +7 -10
  148. data/lib/language_server/protocol/interface/execute_command_params.rb +11 -14
  149. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +8 -8
  150. data/lib/language_server/protocol/interface/execution_summary.rb +2 -2
  151. data/lib/language_server/protocol/interface/file_create.rb +0 -2
  152. data/lib/language_server/protocol/interface/file_delete.rb +0 -2
  153. data/lib/language_server/protocol/interface/file_event.rb +3 -3
  154. data/lib/language_server/protocol/interface/file_operation_filter.rb +3 -5
  155. data/lib/language_server/protocol/interface/file_operation_pattern.rb +10 -8
  156. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +1 -3
  157. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +0 -2
  158. data/lib/language_server/protocol/interface/file_rename.rb +0 -2
  159. data/lib/language_server/protocol/interface/file_system_watcher.rb +3 -4
  160. data/lib/language_server/protocol/interface/folding_range.rb +23 -19
  161. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +5 -9
  162. data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
  163. data/lib/language_server/protocol/interface/folding_range_params.rb +14 -17
  164. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +5 -5
  165. data/lib/language_server/protocol/interface/formatting_options.rb +4 -10
  166. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +2 -4
  167. data/lib/language_server/protocol/interface/hover.rb +3 -3
  168. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +5 -4
  169. data/lib/language_server/protocol/interface/hover_options.rb +1 -4
  170. data/lib/language_server/protocol/interface/hover_params.rb +1 -4
  171. data/lib/language_server/protocol/interface/hover_registration_options.rb +4 -7
  172. data/lib/language_server/protocol/interface/{t.rb → hover_result.rb} +8 -2
  173. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +5 -10
  174. data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
  175. data/lib/language_server/protocol/interface/implementation_params.rb +4 -4
  176. data/lib/language_server/protocol/interface/implementation_registration_options.rb +5 -5
  177. data/lib/language_server/protocol/interface/initialize_error.rb +0 -4
  178. data/lib/language_server/protocol/interface/initialize_params.rb +29 -41
  179. data/lib/language_server/protocol/interface/initialize_result.rb +1 -6
  180. data/lib/language_server/protocol/interface/inlay_hint.rb +13 -9
  181. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +3 -5
  182. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +3 -5
  183. data/lib/language_server/protocol/interface/inlay_hint_options.rb +8 -10
  184. data/lib/language_server/protocol/interface/inlay_hint_params.rb +11 -13
  185. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +12 -14
  186. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +1 -3
  187. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +3 -4
  188. data/lib/language_server/protocol/interface/inline_value_context.rb +3 -5
  189. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +7 -5
  190. data/lib/language_server/protocol/interface/inline_value_options.rb +1 -3
  191. data/lib/language_server/protocol/interface/inline_value_params.rb +10 -12
  192. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +5 -7
  193. data/lib/language_server/protocol/interface/inline_value_text.rb +0 -2
  194. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +7 -5
  195. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +5 -7
  196. data/lib/language_server/protocol/interface/insert_replace_edit.rb +0 -2
  197. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +4 -8
  198. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
  199. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
  200. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +5 -5
  201. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +7 -11
  202. data/lib/language_server/protocol/interface/location.rb +1 -5
  203. data/lib/language_server/protocol/interface/location_link.rb +11 -13
  204. data/lib/language_server/protocol/interface/log_message_params.rb +1 -4
  205. data/lib/language_server/protocol/interface/log_trace_params.rb +8 -1
  206. data/lib/language_server/protocol/interface/markup_content.rb +18 -16
  207. data/lib/language_server/protocol/interface/{lsp_object.rb → message.rb} +8 -6
  208. data/lib/language_server/protocol/interface/moniker.rb +1 -3
  209. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +5 -9
  210. data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
  211. data/lib/language_server/protocol/interface/moniker_params.rb +4 -4
  212. data/lib/language_server/protocol/interface/moniker_registration_options.rb +4 -4
  213. data/lib/language_server/protocol/interface/notebook_cell.rb +4 -8
  214. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +4 -6
  215. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +1 -3
  216. data/lib/language_server/protocol/interface/notebook_document.rb +4 -8
  217. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +2 -6
  218. data/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +0 -4
  219. data/lib/language_server/protocol/interface/notebook_document_filter.rb +32 -11
  220. data/lib/language_server/protocol/interface/notebook_document_identifier.rb +2 -4
  221. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +2 -4
  222. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +3 -5
  223. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +3 -5
  224. data/lib/language_server/protocol/interface/notification_message.rb +48 -0
  225. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +18 -17
  226. data/lib/language_server/protocol/interface/parameter_information.rb +9 -7
  227. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  228. data/lib/language_server/protocol/interface/position.rb +6 -40
  229. data/lib/language_server/protocol/interface/prepare_rename_params.rb +1 -1
  230. data/lib/language_server/protocol/interface/previous_result_id.rb +1 -3
  231. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  232. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +5 -16
  233. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +4 -8
  234. data/lib/language_server/protocol/interface/range.rb +0 -13
  235. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +1 -4
  236. data/lib/language_server/protocol/interface/reference_context.rb +0 -4
  237. data/lib/language_server/protocol/interface/reference_options.rb +1 -4
  238. data/lib/language_server/protocol/interface/reference_params.rb +11 -14
  239. data/lib/language_server/protocol/interface/reference_registration_options.rb +4 -7
  240. data/lib/language_server/protocol/interface/registration.rb +2 -2
  241. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +1 -3
  242. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +16 -20
  243. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +15 -19
  244. data/lib/language_server/protocol/interface/relative_pattern.rb +2 -4
  245. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +7 -12
  246. data/lib/language_server/protocol/interface/rename_file.rb +4 -6
  247. data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
  248. data/lib/language_server/protocol/interface/rename_files_params.rb +4 -6
  249. data/lib/language_server/protocol/interface/rename_options.rb +8 -13
  250. data/lib/language_server/protocol/interface/rename_params.rb +12 -15
  251. data/lib/language_server/protocol/interface/rename_registration_options.rb +11 -16
  252. data/lib/language_server/protocol/interface/request_message.rb +57 -0
  253. data/lib/language_server/protocol/interface/response_error.rb +52 -0
  254. data/lib/language_server/protocol/interface/response_message.rb +58 -0
  255. data/lib/language_server/protocol/interface/save_options.rb +1 -4
  256. data/lib/language_server/protocol/interface/selection_range.rb +3 -6
  257. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +5 -4
  258. data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
  259. data/lib/language_server/protocol/interface/selection_range_params.rb +20 -23
  260. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +5 -5
  261. data/lib/language_server/protocol/interface/semantic_tokens.rb +2 -5
  262. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +13 -19
  263. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +3 -5
  264. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +21 -24
  265. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +0 -3
  266. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +3 -6
  267. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +0 -3
  268. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +9 -12
  269. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +14 -17
  270. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +1 -4
  271. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +20 -23
  272. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +13 -16
  273. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +2 -5
  274. data/lib/language_server/protocol/interface/server_capabilities.rb +66 -89
  275. data/lib/language_server/protocol/interface/set_trace_params.rb +4 -1
  276. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +2 -4
  277. data/lib/language_server/protocol/interface/show_document_params.rb +4 -6
  278. data/lib/language_server/protocol/interface/show_document_result.rb +1 -3
  279. data/lib/language_server/protocol/interface/show_message_params.rb +1 -4
  280. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +1 -1
  281. data/lib/language_server/protocol/interface/show_message_request_params.rb +2 -2
  282. data/lib/language_server/protocol/interface/signature_help.rb +6 -5
  283. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +3 -8
  284. data/lib/language_server/protocol/interface/signature_help_context.rb +11 -10
  285. data/lib/language_server/protocol/interface/signature_help_options.rb +14 -17
  286. data/lib/language_server/protocol/interface/signature_help_params.rb +13 -17
  287. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +17 -20
  288. data/lib/language_server/protocol/interface/signature_information.rb +3 -5
  289. data/lib/language_server/protocol/interface/static_registration_options.rb +2 -3
  290. data/lib/language_server/protocol/interface/symbol_information.rb +29 -33
  291. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +13 -12
  292. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +47 -76
  293. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +8 -6
  294. data/lib/language_server/protocol/interface/text_document_edit.rb +1 -10
  295. data/lib/language_server/protocol/interface/text_document_identifier.rb +2 -5
  296. data/lib/language_server/protocol/interface/text_document_item.rb +3 -7
  297. data/lib/language_server/protocol/interface/text_document_position_params.rb +0 -4
  298. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  299. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +4 -7
  300. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
  301. data/lib/language_server/protocol/interface/text_document_sync_options.rb +19 -15
  302. data/lib/language_server/protocol/interface/text_edit.rb +0 -3
  303. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +5 -10
  304. data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
  305. data/lib/language_server/protocol/interface/type_definition_params.rb +4 -4
  306. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +5 -5
  307. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +4 -7
  308. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +1 -6
  309. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +1 -6
  310. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +5 -10
  311. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +11 -16
  312. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +11 -16
  313. data/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +1 -3
  314. data/lib/language_server/protocol/interface/unregistration.rb +2 -2
  315. data/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +3 -5
  316. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +13 -13
  317. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  318. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +6 -6
  319. data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
  320. data/lib/language_server/protocol/interface/work_done_progress_options.rb +1 -1
  321. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  322. data/lib/language_server/protocol/interface/work_done_progress_report.rb +7 -6
  323. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +21 -23
  324. data/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +0 -2
  325. data/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +0 -2
  326. data/lib/language_server/protocol/interface/workspace_edit.rb +17 -28
  327. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +6 -15
  328. data/lib/language_server/protocol/interface/workspace_folder.rb +1 -4
  329. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +3 -3
  330. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +22 -24
  331. data/lib/language_server/protocol/interface/workspace_symbol.rb +28 -34
  332. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +7 -13
  333. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +8 -13
  334. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +16 -16
  335. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +8 -13
  336. data/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +21 -23
  337. data/lib/language_server/protocol/interface.rb +16 -38
  338. data/lib/language_server/protocol/version.rb +1 -1
  339. metadata +11 -24
  340. data/lib/language_server/protocol/constant/lsp_error_codes.rb +0 -55
  341. data/lib/language_server/protocol/constant/trace_values.rb +0 -20
  342. data/lib/language_server/protocol/interface/base_symbol_information.rb +0 -68
  343. data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +0 -30
  344. data/lib/language_server/protocol/interface/document_diagnostic_report.rb +0 -77
  345. data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +0 -95
  346. data/lib/language_server/protocol/interface/file_operation_options.rb +0 -83
  347. data/lib/language_server/protocol/interface/general_client_capabilities.rb +0 -91
  348. data/lib/language_server/protocol/interface/glob_pattern.rb +0 -48
  349. data/lib/language_server/protocol/interface/inline_value.rb +0 -78
  350. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +0 -59
  351. data/lib/language_server/protocol/interface/prepare_rename_result.rb +0 -60
  352. data/lib/language_server/protocol/interface/resource_operation.rb +0 -47
  353. data/lib/language_server/protocol/interface/text_document_filter.rb +0 -69
  354. data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +0 -38
  355. data/lib/language_server/protocol/interface/window_client_capabilities.rb +0 -63
  356. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -176
  357. data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +0 -77
  358. data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +0 -39
@@ -1,10 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # A completion item represents a text snippet that is
6
- # proposed to complete text that is being typed.
7
- #
8
4
  class CompletionItem
9
5
  def initialize(label:, label_details: nil, kind: nil, tags: nil, detail: nil, documentation: nil, deprecated: nil, preselect: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, insert_text_mode: nil, text_edit: nil, text_edit_text: nil, additional_text_edits: nil, commit_characters: nil, command: nil, data: nil)
10
6
  @attributes = {}
@@ -49,18 +45,17 @@ module LanguageServer
49
45
  #
50
46
  # Additional details for the label
51
47
  #
52
- # @since 3.17.0
53
- #
54
- # @return [CompletionItemLabelDetails | nil]
48
+ # @return [CompletionItemLabelDetails]
55
49
  def label_details
56
50
  attributes.fetch(:labelDetails)
57
51
  end
58
52
 
59
53
  #
60
54
  # The kind of this completion item. Based of the kind
61
- # an icon is chosen by the editor.
55
+ # an icon is chosen by the editor. The standardized set
56
+ # of available values is defined in `CompletionItemKind`.
62
57
  #
63
- # @return [CompletionItemKind | nil]
58
+ # @return [CompletionItemKind]
64
59
  def kind
65
60
  attributes.fetch(:kind)
66
61
  end
@@ -68,9 +63,7 @@ module LanguageServer
68
63
  #
69
64
  # Tags for this completion item.
70
65
  #
71
- # @since 3.15.0
72
- #
73
- # @return [CompletionItemTag[] | nil]
66
+ # @return [1[]]
74
67
  def tags
75
68
  attributes.fetch(:tags)
76
69
  end
@@ -79,7 +72,7 @@ module LanguageServer
79
72
  # A human-readable string with additional information
80
73
  # about this item, like type or symbol information.
81
74
  #
82
- # @return [string | nil]
75
+ # @return [string]
83
76
  def detail
84
77
  attributes.fetch(:detail)
85
78
  end
@@ -87,16 +80,15 @@ module LanguageServer
87
80
  #
88
81
  # A human-readable string that represents a doc-comment.
89
82
  #
90
- # @return [string | MarkupContent | nil]
83
+ # @return [string | MarkupContent]
91
84
  def documentation
92
85
  attributes.fetch(:documentation)
93
86
  end
94
87
 
95
88
  #
96
89
  # Indicates if this item is deprecated.
97
- # @deprecated Use `tags` instead.
98
90
  #
99
- # @return [boolean | nil]
91
+ # @return [boolean]
100
92
  def deprecated
101
93
  attributes.fetch(:deprecated)
102
94
  end
@@ -108,35 +100,35 @@ module LanguageServer
108
100
  # tool / client decides which item that is. The rule is that the *first*
109
101
  # item of those that match best is selected.
110
102
  #
111
- # @return [boolean | nil]
103
+ # @return [boolean]
112
104
  def preselect
113
105
  attributes.fetch(:preselect)
114
106
  end
115
107
 
116
108
  #
117
109
  # A string that should be used when comparing this item
118
- # with other items. When `falsy` the [label](#CompletionItem.label)
119
- # is used.
110
+ # with other items. When `falsy` the label is used
111
+ # as the sort text for this item.
120
112
  #
121
- # @return [string | nil]
113
+ # @return [string]
122
114
  def sort_text
123
115
  attributes.fetch(:sortText)
124
116
  end
125
117
 
126
118
  #
127
119
  # A string that should be used when filtering a set of
128
- # completion items. When `falsy` the [label](#CompletionItem.label)
129
- # is used.
120
+ # completion items. When `falsy` the label is used as the
121
+ # filter text for this item.
130
122
  #
131
- # @return [string | nil]
123
+ # @return [string]
132
124
  def filter_text
133
125
  attributes.fetch(:filterText)
134
126
  end
135
127
 
136
128
  #
137
129
  # A string that should be inserted into a document when selecting
138
- # this completion. When `falsy` the [label](#CompletionItem.label)
139
- # is used.
130
+ # this completion. When `falsy` the label is used as the insert text
131
+ # for this item.
140
132
  #
141
133
  # The `insertText` is subject to interpretation by the client side.
142
134
  # Some tools might not take the string literally. For example
@@ -146,7 +138,7 @@ module LanguageServer
146
138
  # recommended to use `textEdit` instead since it avoids additional client
147
139
  # side interpretation.
148
140
  #
149
- # @return [string | nil]
141
+ # @return [string]
150
142
  def insert_text
151
143
  attributes.fetch(:insertText)
152
144
  end
@@ -159,35 +151,35 @@ module LanguageServer
159
151
  # Please note that the insertTextFormat doesn't apply to
160
152
  # `additionalTextEdits`.
161
153
  #
162
- # @return [InsertTextFormat | nil]
154
+ # @return [InsertTextFormat]
163
155
  def insert_text_format
164
156
  attributes.fetch(:insertTextFormat)
165
157
  end
166
158
 
167
159
  #
168
160
  # How whitespace and indentation is handled during completion
169
- # item insertion. If not provided the clients default value depends on
161
+ # item insertion. If not provided the client's default value depends on
170
162
  # the `textDocument.completion.insertTextMode` client capability.
171
163
  #
172
- # @since 3.16.0
173
- #
174
- # @return [InsertTextMode | nil]
164
+ # @return [InsertTextMode]
175
165
  def insert_text_mode
176
166
  attributes.fetch(:insertTextMode)
177
167
  end
178
168
 
179
169
  #
180
- # An [edit](#TextEdit) which is applied to a document when selecting
181
- # this completion. When an edit is provided the value of
182
- # [insertText](#CompletionItem.insertText) is ignored.
170
+ # An edit which is applied to a document when selecting this completion.
171
+ # When an edit is provided the value of `insertText` is ignored.
172
+ #
173
+ # *Note:* The range of the edit must be a single line range and it must
174
+ # contain the position at which completion has been requested.
183
175
  #
184
176
  # Most editors support two different operations when accepting a completion
185
177
  # item. One is to insert a completion text and the other is to replace an
186
178
  # existing text with a completion text. Since this can usually not be
187
179
  # predetermined by a server it can report both ranges. Clients need to
188
- # signal support for `InsertReplaceEdits` via the
189
- # `textDocument.completion.insertReplaceSupport` client capability
190
- # property.
180
+ # signal support for `InsertReplaceEdit`s via the
181
+ # `textDocument.completion.completionItem.insertReplaceSupport` client
182
+ # capability property.
191
183
  #
192
184
  # *Note 1:* The text edit's range as well as both ranges from an insert
193
185
  # replace edit must be a [single line] and they must contain the position
@@ -196,9 +188,7 @@ module LanguageServer
196
188
  # must be a prefix of the edit's replace range, that means it must be
197
189
  # contained and starting at the same position.
198
190
  #
199
- # @since 3.16.0 additional type `InsertReplaceEdit`
200
- #
201
- # @return [TextEdit | InsertReplaceEdit | nil]
191
+ # @return [TextEdit | InsertReplaceEdit]
202
192
  def text_edit
203
193
  attributes.fetch(:textEdit)
204
194
  end
@@ -213,52 +203,51 @@ module LanguageServer
213
203
  # If not provided and a list's default range is provided the label
214
204
  # property is used as a text.
215
205
  #
216
- # @since 3.17.0
217
- #
218
- # @return [string | nil]
206
+ # @return [string]
219
207
  def text_edit_text
220
208
  attributes.fetch(:textEditText)
221
209
  end
222
210
 
223
211
  #
224
- # An optional array of additional [text edits](#TextEdit) that are applied when
225
- # selecting this completion. Edits must not overlap (including the same insert position)
226
- # with the main [edit](#CompletionItem.textEdit) nor with themselves.
212
+ # An optional array of additional text edits that are applied when
213
+ # selecting this completion. Edits must not overlap (including the same
214
+ # insert position) with the main edit nor with themselves.
227
215
  #
228
- # Additional text edits should be used to change text unrelated to the current cursor position
229
- # (for example adding an import statement at the top of the file if the completion item will
230
- # insert an unqualified type).
216
+ # Additional text edits should be used to change text unrelated to the
217
+ # current cursor position (for example adding an import statement at the
218
+ # top of the file if the completion item will insert an unqualified type).
231
219
  #
232
- # @return [TextEdit[] | nil]
220
+ # @return [TextEdit[]]
233
221
  def additional_text_edits
234
222
  attributes.fetch(:additionalTextEdits)
235
223
  end
236
224
 
237
225
  #
238
- # An optional set of characters that when pressed while this completion is active will accept it first and
239
- # then type that character. *Note* that all commit characters should have `length=1` and that superfluous
240
- # characters will be ignored.
226
+ # An optional set of characters that when pressed while this completion is
227
+ # active will accept it first and then type that character. *Note* that all
228
+ # commit characters should have `length=1` and that superfluous characters
229
+ # will be ignored.
241
230
  #
242
- # @return [string[] | nil]
231
+ # @return [string[]]
243
232
  def commit_characters
244
233
  attributes.fetch(:commitCharacters)
245
234
  end
246
235
 
247
236
  #
248
- # An optional [command](#Command) that is executed *after* inserting this completion. *Note* that
249
- # additional modifications to the current document should be described with the
250
- # [additionalTextEdits](#CompletionItem.additionalTextEdits)-property.
237
+ # An optional command that is executed *after* inserting this completion.
238
+ # *Note* that additional modifications to the current document should be
239
+ # described with the additionalTextEdits-property.
251
240
  #
252
- # @return [Command | nil]
241
+ # @return [Command]
253
242
  def command
254
243
  attributes.fetch(:command)
255
244
  end
256
245
 
257
246
  #
258
- # A data entry field that is preserved on a completion item between a
259
- # [CompletionRequest](#CompletionRequest) and a [CompletionResolveRequest](#CompletionResolveRequest).
247
+ # A data entry field that is preserved on a completion item between
248
+ # a completion and a completion resolve request.
260
249
  #
261
- # @return [LSPAny | nil]
250
+ # @return [LSPAny]
262
251
  def data
263
252
  attributes.fetch(:data)
264
253
  end
@@ -4,8 +4,6 @@ module LanguageServer
4
4
  #
5
5
  # Additional details for a completion item label.
6
6
  #
7
- # @since 3.17.0
8
- #
9
7
  class CompletionItemLabelDetails
10
8
  def initialize(detail: nil, description: nil)
11
9
  @attributes = {}
@@ -17,19 +15,21 @@ module LanguageServer
17
15
  end
18
16
 
19
17
  #
20
- # An optional string which is rendered less prominently directly after {@link CompletionItem.label label},
21
- # without any spacing. Should be used for function signatures and type annotations.
18
+ # An optional string which is rendered less prominently directly after
19
+ # {@link CompletionItem.label label}, without any spacing. Should be
20
+ # used for function signatures or type annotations.
22
21
  #
23
- # @return [string | nil]
22
+ # @return [string]
24
23
  def detail
25
24
  attributes.fetch(:detail)
26
25
  end
27
26
 
28
27
  #
29
- # An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used
30
- # for fully qualified names and file paths.
28
+ # An optional string which is rendered less prominently after
29
+ # {@link CompletionItemLabelDetails.detail}. Should be used for fully qualified
30
+ # names or file path.
31
31
  #
32
- # @return [string | nil]
32
+ # @return [string]
33
33
  def description
34
34
  attributes.fetch(:description)
35
35
  end
@@ -2,8 +2,8 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Represents a collection of [completion items](#CompletionItem) to be presented
6
- # in the editor.
5
+ # Represents a collection of [completion items](#CompletionItem) to be
6
+ # presented in the editor.
7
7
  #
8
8
  class CompletionList
9
9
  def initialize(is_incomplete:, item_defaults: nil, items:)
@@ -17,7 +17,8 @@ module LanguageServer
17
17
  end
18
18
 
19
19
  #
20
- # This list it not complete. Further typing results in recomputing this list.
20
+ # This list is not complete. Further typing should result in recomputing
21
+ # this list.
21
22
  #
22
23
  # Recomputed lists have all their items replaced (not appended) in the
23
24
  # incomplete completion sessions.
@@ -40,9 +41,7 @@ module LanguageServer
40
41
  # signals support for this via the `completionList.itemDefaults`
41
42
  # capability.
42
43
  #
43
- # @since 3.17.0
44
- #
45
- # @return [{ commitCharacters:string[], editRange:Range | { insert:Range, replace:Range }, insertTextFormat:InsertTextFormat, insertTextMode:InsertTextMode, data:LSPAny } | nil]
44
+ # @return [{ commitCharacters?: string[]; editRange?: Range | { insert: Range; replace: Range; }; insertTextFormat?: InsertTextFormat; insertTextMode?: InsertTextMode; data?: LSPAny; }]
46
45
  def item_defaults
47
46
  attributes.fetch(:itemDefaults)
48
47
  end
@@ -5,44 +5,51 @@ module LanguageServer
5
5
  # Completion options.
6
6
  #
7
7
  class CompletionOptions
8
- def initialize(trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil, completion_item: nil, work_done_progress: nil)
8
+ def initialize(work_done_progress: nil, trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil, completion_item: nil)
9
9
  @attributes = {}
10
10
 
11
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
11
12
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
12
13
  @attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
13
14
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
14
15
  @attributes[:completionItem] = completion_item if completion_item
15
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
16
16
 
17
17
  @attributes.freeze
18
18
  end
19
19
 
20
+ # @return [boolean]
21
+ def work_done_progress
22
+ attributes.fetch(:workDoneProgress)
23
+ end
24
+
20
25
  #
21
- # Most tools trigger completion request automatically without explicitly requesting
22
- # it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
23
- # starts to type an identifier. For example if the user types `c` in a JavaScript file
24
- # code complete will automatically pop up present `console` besides others as a
25
- # completion item. Characters that make up identifiers don't need to be listed here.
26
+ # The additional characters, beyond the defaults provided by the client (typically
27
+ # [a-zA-Z]), that should automatically trigger a completion request. For example
28
+ # `.` in JavaScript represents the beginning of an object property or method and is
29
+ # thus a good candidate for triggering a completion request.
26
30
  #
27
- # If code complete should automatically be trigger on characters not being valid inside
28
- # an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
31
+ # Most tools trigger a completion request automatically without explicitly
32
+ # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they
33
+ # do so when the user starts to type an identifier. For example if the user
34
+ # types `c` in a JavaScript file code complete will automatically pop up
35
+ # present `console` besides others as a completion item. Characters that
36
+ # make up identifiers don't need to be listed here.
29
37
  #
30
- # @return [string[] | nil]
38
+ # @return [string[]]
31
39
  def trigger_characters
32
40
  attributes.fetch(:triggerCharacters)
33
41
  end
34
42
 
35
43
  #
36
- # The list of all possible characters that commit a completion. This field can be used
37
- # if clients don't support individual commit characters per completion item. See
38
- # `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
44
+ # The list of all possible characters that commit a completion. This field
45
+ # can be used if clients don't support individual commit characters per
46
+ # completion item. See client capability
47
+ # `completion.completionItem.commitCharactersSupport`.
39
48
  #
40
- # If a server provides both `allCommitCharacters` and commit characters on an individual
41
- # completion item the ones on the completion item win.
49
+ # If a server provides both `allCommitCharacters` and commit characters on
50
+ # an individual completion item the ones on the completion item win.
42
51
  #
43
- # @since 3.2.0
44
- #
45
- # @return [string[] | nil]
52
+ # @return [string[]]
46
53
  def all_commit_characters
47
54
  attributes.fetch(:allCommitCharacters)
48
55
  end
@@ -51,7 +58,7 @@ module LanguageServer
51
58
  # The server provides support to resolve additional
52
59
  # information for a completion item.
53
60
  #
54
- # @return [boolean | nil]
61
+ # @return [boolean]
55
62
  def resolve_provider
56
63
  attributes.fetch(:resolveProvider)
57
64
  end
@@ -60,18 +67,11 @@ module LanguageServer
60
67
  # The server supports the following `CompletionItem` specific
61
68
  # capabilities.
62
69
  #
63
- # @since 3.17.0
64
- #
65
- # @return [{ labelDetailsSupport:boolean } | nil]
70
+ # @return [{ labelDetailsSupport?: boolean; }]
66
71
  def completion_item
67
72
  attributes.fetch(:completionItem)
68
73
  end
69
74
 
70
- # @return [boolean | nil]
71
- def work_done_progress
72
- attributes.fetch(:workDoneProgress)
73
- end
74
-
75
75
  attr_reader :attributes
76
76
 
77
77
  def to_hash
@@ -1,31 +1,19 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Completion parameters
6
- #
7
4
  class CompletionParams
8
- def initialize(context: nil, text_document:, position:, work_done_token: nil, partial_result_token: nil)
5
+ def initialize(text_document:, position:, work_done_token: nil, partial_result_token: nil, context: nil)
9
6
  @attributes = {}
10
7
 
11
- @attributes[:context] = context if context
12
8
  @attributes[:textDocument] = text_document
13
9
  @attributes[:position] = position
14
10
  @attributes[:workDoneToken] = work_done_token if work_done_token
15
11
  @attributes[:partialResultToken] = partial_result_token if partial_result_token
12
+ @attributes[:context] = context if context
16
13
 
17
14
  @attributes.freeze
18
15
  end
19
16
 
20
- #
21
- # The completion context. This is only available it the client specifies
22
- # to send this using the client capability `textDocument.completion.contextSupport === true`
23
- #
24
- # @return [CompletionContext | nil]
25
- def context
26
- attributes.fetch(:context)
27
- end
28
-
29
17
  #
30
18
  # The text document.
31
19
  #
@@ -45,20 +33,30 @@ module LanguageServer
45
33
  #
46
34
  # An optional token that a server can use to report work done progress.
47
35
  #
48
- # @return [ProgressToken | nil]
36
+ # @return [ProgressToken]
49
37
  def work_done_token
50
38
  attributes.fetch(:workDoneToken)
51
39
  end
52
40
 
53
41
  #
54
- # An optional token that a server can use to report partial results (e.g. streaming) to
55
- # the client.
42
+ # An optional token that a server can use to report partial results (e.g.
43
+ # streaming) to the client.
56
44
  #
57
- # @return [ProgressToken | nil]
45
+ # @return [ProgressToken]
58
46
  def partial_result_token
59
47
  attributes.fetch(:partialResultToken)
60
48
  end
61
49
 
50
+ #
51
+ # The completion context. This is only available if the client specifies
52
+ # to send this using the client capability
53
+ # `completion.contextSupport === true`
54
+ #
55
+ # @return [CompletionContext]
56
+ def context
57
+ attributes.fetch(:context)
58
+ end
59
+
62
60
  attr_reader :attributes
63
61
 
64
62
  def to_hash
@@ -1,58 +1,62 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Registration options for a [CompletionRequest](#CompletionRequest).
6
- #
7
4
  class CompletionRegistrationOptions
8
- def initialize(document_selector:, trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil, completion_item: nil, work_done_progress: nil)
5
+ def initialize(document_selector:, work_done_progress: nil, trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil, completion_item: nil)
9
6
  @attributes = {}
10
7
 
11
8
  @attributes[:documentSelector] = document_selector
9
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
12
10
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
13
11
  @attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
14
12
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
15
13
  @attributes[:completionItem] = completion_item if completion_item
16
- @attributes[:workDoneProgress] = work_done_progress if work_done_progress
17
14
 
18
15
  @attributes.freeze
19
16
  end
20
17
 
21
18
  #
22
- # A document selector to identify the scope of the registration. If set to null
23
- # the document selector provided on the client side will be used.
19
+ # A document selector to identify the scope of the registration. If set to
20
+ # null the document selector provided on the client side will be used.
24
21
  #
25
- # @return [DocumentSelector | null]
22
+ # @return [DocumentSelector]
26
23
  def document_selector
27
24
  attributes.fetch(:documentSelector)
28
25
  end
29
26
 
27
+ # @return [boolean]
28
+ def work_done_progress
29
+ attributes.fetch(:workDoneProgress)
30
+ end
31
+
30
32
  #
31
- # Most tools trigger completion request automatically without explicitly requesting
32
- # it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
33
- # starts to type an identifier. For example if the user types `c` in a JavaScript file
34
- # code complete will automatically pop up present `console` besides others as a
35
- # completion item. Characters that make up identifiers don't need to be listed here.
33
+ # The additional characters, beyond the defaults provided by the client (typically
34
+ # [a-zA-Z]), that should automatically trigger a completion request. For example
35
+ # `.` in JavaScript represents the beginning of an object property or method and is
36
+ # thus a good candidate for triggering a completion request.
36
37
  #
37
- # If code complete should automatically be trigger on characters not being valid inside
38
- # an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
38
+ # Most tools trigger a completion request automatically without explicitly
39
+ # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they
40
+ # do so when the user starts to type an identifier. For example if the user
41
+ # types `c` in a JavaScript file code complete will automatically pop up
42
+ # present `console` besides others as a completion item. Characters that
43
+ # make up identifiers don't need to be listed here.
39
44
  #
40
- # @return [string[] | nil]
45
+ # @return [string[]]
41
46
  def trigger_characters
42
47
  attributes.fetch(:triggerCharacters)
43
48
  end
44
49
 
45
50
  #
46
- # The list of all possible characters that commit a completion. This field can be used
47
- # if clients don't support individual commit characters per completion item. See
48
- # `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
51
+ # The list of all possible characters that commit a completion. This field
52
+ # can be used if clients don't support individual commit characters per
53
+ # completion item. See client capability
54
+ # `completion.completionItem.commitCharactersSupport`.
49
55
  #
50
- # If a server provides both `allCommitCharacters` and commit characters on an individual
51
- # completion item the ones on the completion item win.
56
+ # If a server provides both `allCommitCharacters` and commit characters on
57
+ # an individual completion item the ones on the completion item win.
52
58
  #
53
- # @since 3.2.0
54
- #
55
- # @return [string[] | nil]
59
+ # @return [string[]]
56
60
  def all_commit_characters
57
61
  attributes.fetch(:allCommitCharacters)
58
62
  end
@@ -61,7 +65,7 @@ module LanguageServer
61
65
  # The server provides support to resolve additional
62
66
  # information for a completion item.
63
67
  #
64
- # @return [boolean | nil]
68
+ # @return [boolean]
65
69
  def resolve_provider
66
70
  attributes.fetch(:resolveProvider)
67
71
  end
@@ -70,18 +74,11 @@ module LanguageServer
70
74
  # The server supports the following `CompletionItem` specific
71
75
  # capabilities.
72
76
  #
73
- # @since 3.17.0
74
- #
75
- # @return [{ labelDetailsSupport:boolean } | nil]
77
+ # @return [{ labelDetailsSupport?: boolean; }]
76
78
  def completion_item
77
79
  attributes.fetch(:completionItem)
78
80
  end
79
81
 
80
- # @return [boolean | nil]
81
- def work_done_progress
82
- attributes.fetch(:workDoneProgress)
83
- end
84
-
85
82
  attr_reader :attributes
86
83
 
87
84
  def to_hash
@@ -14,7 +14,7 @@ module LanguageServer
14
14
  #
15
15
  # The scope to get the configuration section for.
16
16
  #
17
- # @return [string | nil]
17
+ # @return [string]
18
18
  def scope_uri
19
19
  attributes.fetch(:scopeUri)
20
20
  end
@@ -22,7 +22,7 @@ module LanguageServer
22
22
  #
23
23
  # The configuration section asked for.
24
24
  #
25
- # @return [string | nil]
25
+ # @return [string]
26
26
  def section
27
27
  attributes.fetch(:section)
28
28
  end
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # The parameters of a configuration request.
6
- #
7
4
  class ConfigurationParams
8
5
  def initialize(items:)
9
6
  @attributes = {}