language_server-protocol 3.15.0.2 → 3.16.0.3

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 (218) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/language_server/protocol/constant/code_action_kind.rb +6 -4
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -2
  5. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
  6. data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -2
  7. data/lib/language_server/protocol/constant/error_codes.rb +26 -3
  8. data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
  9. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  10. data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
  11. data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  12. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  13. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -1
  14. data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  15. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  16. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -2
  17. data/lib/language_server/protocol/constant/token_format.rb +9 -0
  18. data/lib/language_server/protocol/constant.rb +10 -0
  19. data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
  20. data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +15 -4
  21. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  22. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  23. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
  24. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  25. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
  26. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  27. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
  28. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
  29. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
  30. data/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  31. data/lib/language_server/protocol/interface/client_capabilities.rb +12 -3
  32. data/lib/language_server/protocol/interface/code_action.rb +43 -8
  33. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +44 -1
  34. data/lib/language_server/protocol/interface/code_action_context.rb +7 -6
  35. data/lib/language_server/protocol/interface/code_action_options.rb +19 -4
  36. data/lib/language_server/protocol/interface/code_action_params.rb +20 -2
  37. data/lib/language_server/protocol/interface/code_action_registration_options.rb +38 -2
  38. data/lib/language_server/protocol/interface/code_description.rb +36 -0
  39. data/lib/language_server/protocol/interface/code_lens.rb +5 -3
  40. data/lib/language_server/protocol/interface/code_lens_options.rb +6 -1
  41. data/lib/language_server/protocol/interface/code_lens_params.rb +20 -2
  42. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +25 -2
  43. data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
  44. data/lib/language_server/protocol/interface/color_presentation.rb +7 -6
  45. data/lib/language_server/protocol/interface/color_presentation_params.rb +20 -2
  46. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +1 -1
  47. data/lib/language_server/protocol/interface/completion_context.rb +5 -3
  48. data/lib/language_server/protocol/interface/completion_item.rb +60 -29
  49. data/lib/language_server/protocol/interface/completion_list.rb +2 -2
  50. data/lib/language_server/protocol/interface/completion_options.rb +21 -13
  51. data/lib/language_server/protocol/interface/completion_params.rb +40 -3
  52. data/lib/language_server/protocol/interface/completion_registration_options.rb +57 -2
  53. data/lib/language_server/protocol/interface/create_file.rb +10 -1
  54. data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  55. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +3 -3
  56. data/lib/language_server/protocol/interface/declaration_options.rb +6 -1
  57. data/lib/language_server/protocol/interface/declaration_params.rb +38 -2
  58. data/lib/language_server/protocol/interface/declaration_registration_options.rb +27 -2
  59. data/lib/language_server/protocol/interface/definition_options.rb +6 -1
  60. data/lib/language_server/protocol/interface/definition_params.rb +38 -2
  61. data/lib/language_server/protocol/interface/definition_registration_options.rb +17 -2
  62. data/lib/language_server/protocol/interface/delete_file.rb +10 -1
  63. data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  64. data/lib/language_server/protocol/interface/diagnostic.rb +21 -1
  65. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
  66. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -9
  67. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +3 -3
  68. data/lib/language_server/protocol/interface/document_color_options.rb +6 -1
  69. data/lib/language_server/protocol/interface/document_color_params.rb +20 -2
  70. data/lib/language_server/protocol/interface/document_color_registration_options.rb +27 -2
  71. data/lib/language_server/protocol/interface/document_filter.rb +7 -3
  72. data/lib/language_server/protocol/interface/document_formatting_options.rb +6 -1
  73. data/lib/language_server/protocol/interface/document_formatting_params.rb +9 -1
  74. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +17 -2
  75. data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
  76. data/lib/language_server/protocol/interface/document_highlight_options.rb +6 -1
  77. data/lib/language_server/protocol/interface/document_highlight_params.rb +38 -2
  78. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +17 -2
  79. data/lib/language_server/protocol/interface/document_link.rb +6 -5
  80. data/lib/language_server/protocol/interface/document_link_options.rb +6 -1
  81. data/lib/language_server/protocol/interface/document_link_params.rb +20 -2
  82. data/lib/language_server/protocol/interface/document_link_registration_options.rb +25 -2
  83. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +17 -1
  84. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +28 -2
  85. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +6 -1
  86. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +9 -1
  87. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +17 -2
  88. data/lib/language_server/protocol/interface/document_symbol.rb +23 -11
  89. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +24 -2
  90. data/lib/language_server/protocol/interface/document_symbol_options.rb +17 -2
  91. data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -2
  92. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +27 -2
  93. data/lib/language_server/protocol/interface/execute_command_options.rb +6 -1
  94. data/lib/language_server/protocol/interface/execute_command_params.rb +9 -1
  95. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +14 -1
  96. data/lib/language_server/protocol/interface/file_create.rb +36 -0
  97. data/lib/language_server/protocol/interface/file_delete.rb +36 -0
  98. data/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  99. data/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  100. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  101. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  102. data/lib/language_server/protocol/interface/file_rename.rb +45 -0
  103. data/lib/language_server/protocol/interface/file_system_watcher.rb +7 -3
  104. data/lib/language_server/protocol/interface/folding_range.rb +17 -8
  105. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +10 -7
  106. data/lib/language_server/protocol/interface/folding_range_options.rb +6 -1
  107. data/lib/language_server/protocol/interface/folding_range_params.rb +20 -2
  108. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +27 -2
  109. data/lib/language_server/protocol/interface/hover.rb +1 -1
  110. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +3 -2
  111. data/lib/language_server/protocol/interface/hover_options.rb +6 -1
  112. data/lib/language_server/protocol/interface/hover_params.rb +28 -2
  113. data/lib/language_server/protocol/interface/hover_registration_options.rb +17 -2
  114. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +3 -3
  115. data/lib/language_server/protocol/interface/implementation_options.rb +6 -1
  116. data/lib/language_server/protocol/interface/implementation_params.rb +38 -2
  117. data/lib/language_server/protocol/interface/implementation_registration_options.rb +27 -2
  118. data/lib/language_server/protocol/interface/initialize_params.rb +29 -6
  119. data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  120. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  121. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
  122. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
  123. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
  124. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +45 -0
  125. data/lib/language_server/protocol/interface/location_link.rb +9 -7
  126. data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
  127. data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  128. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
  129. data/lib/language_server/protocol/interface/markup_content.rb +9 -7
  130. data/lib/language_server/protocol/interface/moniker.rb +64 -0
  131. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  132. data/lib/language_server/protocol/interface/moniker_options.rb +30 -0
  133. data/lib/language_server/protocol/interface/moniker_params.rb +61 -0
  134. data/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
  135. data/lib/language_server/protocol/interface/notification_message.rb +6 -1
  136. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
  137. data/lib/language_server/protocol/interface/parameter_information.rb +7 -5
  138. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  139. data/lib/language_server/protocol/interface/position.rb +5 -5
  140. data/lib/language_server/protocol/interface/prepare_rename_params.rb +17 -1
  141. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  142. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +21 -1
  143. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +2 -1
  144. data/lib/language_server/protocol/interface/reference_options.rb +6 -1
  145. data/lib/language_server/protocol/interface/reference_params.rb +38 -2
  146. data/lib/language_server/protocol/interface/reference_registration_options.rb +17 -2
  147. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  148. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +27 -1
  149. data/lib/language_server/protocol/interface/rename_file.rb +10 -1
  150. data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  151. data/lib/language_server/protocol/interface/rename_options.rb +6 -1
  152. data/lib/language_server/protocol/interface/rename_params.rb +28 -2
  153. data/lib/language_server/protocol/interface/rename_registration_options.rb +25 -2
  154. data/lib/language_server/protocol/interface/request_message.rb +6 -1
  155. data/lib/language_server/protocol/interface/response_message.rb +6 -1
  156. data/lib/language_server/protocol/interface/selection_range.rb +2 -1
  157. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -3
  158. data/lib/language_server/protocol/interface/selection_range_options.rb +6 -1
  159. data/lib/language_server/protocol/interface/selection_range_params.rb +20 -2
  160. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +27 -2
  161. data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  162. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
  163. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  164. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
  165. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  166. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  167. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  168. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
  169. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
  170. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  171. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
  172. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
  173. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  174. data/lib/language_server/protocol/interface/server_capabilities.rb +47 -9
  175. data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  176. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  177. data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  178. data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  179. data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
  180. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  181. data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
  182. data/lib/language_server/protocol/interface/signature_help.rb +3 -3
  183. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +1 -1
  184. data/lib/language_server/protocol/interface/signature_help_context.rb +10 -7
  185. data/lib/language_server/protocol/interface/signature_help_options.rb +9 -3
  186. data/lib/language_server/protocol/interface/signature_help_params.rb +31 -4
  187. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +38 -2
  188. data/lib/language_server/protocol/interface/signature_information.rb +12 -1
  189. data/lib/language_server/protocol/interface/symbol_information.rb +10 -1
  190. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +11 -2
  191. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +39 -2
  192. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
  193. data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
  194. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  195. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
  196. data/lib/language_server/protocol/interface/text_document_sync_options.rb +13 -15
  197. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +3 -3
  198. data/lib/language_server/protocol/interface/type_definition_options.rb +6 -1
  199. data/lib/language_server/protocol/interface/type_definition_params.rb +38 -2
  200. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +27 -2
  201. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +12 -8
  202. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  203. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
  204. data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +1 -1
  205. data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +1 -1
  206. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  207. data/lib/language_server/protocol/interface/work_done_progress_report.rb +5 -5
  208. data/lib/language_server/protocol/interface/workspace_edit.rb +24 -7
  209. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +23 -1
  210. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +13 -2
  211. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +6 -1
  212. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +20 -2
  213. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +6 -1
  214. data/lib/language_server/protocol/interface.rb +112 -0
  215. data/lib/language_server/protocol/transport/io/reader.rb +8 -24
  216. data/lib/language_server/protocol/transport/io/writer.rb +1 -0
  217. data/lib/language_server/protocol/version.rb +1 -1
  218. metadata +68 -21
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class SetTraceParams
5
+ def initialize(value:)
6
+ @attributes = {}
7
+
8
+ @attributes[:value] = value
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # The new value that should be assigned to the trace setting.
15
+ #
16
+ # @return [TraceValue]
17
+ def value
18
+ attributes.fetch(:value)
19
+ end
20
+
21
+ attr_reader :attributes
22
+
23
+ def to_hash
24
+ attributes
25
+ end
26
+
27
+ def to_json(*args)
28
+ to_hash.to_json(*args)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,37 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Client capabilities for the show document request.
6
+ #
7
+ class ShowDocumentClientCapabilities
8
+ def initialize(support:)
9
+ @attributes = {}
10
+
11
+ @attributes[:support] = support
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # The client has support for the show document
18
+ # request.
19
+ #
20
+ # @return [boolean]
21
+ def support
22
+ attributes.fetch(:support)
23
+ end
24
+
25
+ attr_reader :attributes
26
+
27
+ def to_hash
28
+ attributes
29
+ end
30
+
31
+ def to_json(*args)
32
+ to_hash.to_json(*args)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,71 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Params to show a document.
6
+ #
7
+ class ShowDocumentParams
8
+ def initialize(uri:, external: nil, take_focus: nil, selection: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:uri] = uri
12
+ @attributes[:external] = external if external
13
+ @attributes[:takeFocus] = take_focus if take_focus
14
+ @attributes[:selection] = selection if selection
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # The document uri to show.
21
+ #
22
+ # @return [string]
23
+ def uri
24
+ attributes.fetch(:uri)
25
+ end
26
+
27
+ #
28
+ # Indicates to show the resource in an external program.
29
+ # To show for example `https://code.visualstudio.com/`
30
+ # in the default WEB browser set `external` to `true`.
31
+ #
32
+ # @return [boolean]
33
+ def external
34
+ attributes.fetch(:external)
35
+ end
36
+
37
+ #
38
+ # An optional property to indicate whether the editor
39
+ # showing the document should take focus or not.
40
+ # Clients might ignore this property if an external
41
+ # program is started.
42
+ #
43
+ # @return [boolean]
44
+ def take_focus
45
+ attributes.fetch(:takeFocus)
46
+ end
47
+
48
+ #
49
+ # An optional selection range if the document is a text
50
+ # document. Clients might ignore the property if an
51
+ # external program is started or the file is not a text
52
+ # file.
53
+ #
54
+ # @return [Range]
55
+ def selection
56
+ attributes.fetch(:selection)
57
+ end
58
+
59
+ attr_reader :attributes
60
+
61
+ def to_hash
62
+ attributes
63
+ end
64
+
65
+ def to_json(*args)
66
+ to_hash.to_json(*args)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,36 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # The result of an show document request.
6
+ #
7
+ class ShowDocumentResult
8
+ def initialize(success:)
9
+ @attributes = {}
10
+
11
+ @attributes[:success] = success
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # A boolean indicating if the show was successful.
18
+ #
19
+ # @return [boolean]
20
+ def success
21
+ attributes.fetch(:success)
22
+ end
23
+
24
+ attr_reader :attributes
25
+
26
+ def to_hash
27
+ attributes
28
+ end
29
+
30
+ def to_json(*args)
31
+ to_hash.to_json(*args)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -14,7 +14,7 @@ module LanguageServer
14
14
  #
15
15
  # The message type. See {@link MessageType}.
16
16
  #
17
- # @return [number]
17
+ # @return [MessageType]
18
18
  def type
19
19
  attributes.fetch(:type)
20
20
  end
@@ -0,0 +1,36 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Show message request client capabilities
6
+ #
7
+ class ShowMessageRequestClientCapabilities
8
+ def initialize(message_action_item: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:messageActionItem] = message_action_item if message_action_item
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # Capabilities specific to the `MessageActionItem` type.
18
+ #
19
+ # @return [{ additionalPropertiesSupport?: boolean; }]
20
+ def message_action_item
21
+ attributes.fetch(:messageActionItem)
22
+ end
23
+
24
+ attr_reader :attributes
25
+
26
+ def to_hash
27
+ attributes
28
+ end
29
+
30
+ def to_json(*args)
31
+ to_hash.to_json(*args)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -15,7 +15,7 @@ module LanguageServer
15
15
  #
16
16
  # The message type. See {@link MessageType}
17
17
  #
18
- # @return [number]
18
+ # @return [MessageType]
19
19
  def type
20
20
  attributes.fetch(:type)
21
21
  end
@@ -18,7 +18,7 @@ module LanguageServer
18
18
  end
19
19
 
20
20
  #
21
- # One or more signatures. If no signaures are availabe the signature help
21
+ # One or more signatures. If no signatures are available the signature help
22
22
  # request should return `null`.
23
23
  #
24
24
  # @return [SignatureInformation[]]
@@ -28,8 +28,8 @@ module LanguageServer
28
28
 
29
29
  #
30
30
  # The active signature. If omitted or the value lies outside the
31
- # range of `signatures` the value defaults to zero or is ignore if
32
- # the `SignatureHelp` as no signatures.
31
+ # range of `signatures` the value defaults to zero or is ignored if
32
+ # the `SignatureHelp` has no signatures.
33
33
  #
34
34
  # Whenever possible implementors should make an active decision about
35
35
  # the active signature and shouldn't rely on a default value.
@@ -24,7 +24,7 @@ module LanguageServer
24
24
  # The client supports the following `SignatureInformation`
25
25
  # specific properties.
26
26
  #
27
- # @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; }]
27
+ # @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; activeParameterSupport?: boolean; }]
28
28
  def signature_information
29
29
  attributes.fetch(:signatureInformation)
30
30
  end
@@ -2,7 +2,8 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Additional information about the context in which a signature help request was triggered.
5
+ # Additional information about the context in which a signature help request
6
+ # was triggered.
6
7
  #
7
8
  class SignatureHelpContext
8
9
  def initialize(trigger_kind:, trigger_character: nil, is_retrigger:, active_signature_help: nil)
@@ -19,7 +20,7 @@ module LanguageServer
19
20
  #
20
21
  # Action that caused signature help to be triggered.
21
22
  #
22
- # @return [CompletionTriggerKind]
23
+ # @return [SignatureHelpTriggerKind]
23
24
  def trigger_kind
24
25
  attributes.fetch(:triggerKind)
25
26
  end
@@ -27,7 +28,8 @@ module LanguageServer
27
28
  #
28
29
  # Character that caused signature help to be triggered.
29
30
  #
30
- # This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
31
+ # This is undefined when triggerKind !==
32
+ # SignatureHelpTriggerKind.TriggerCharacter
31
33
  #
32
34
  # @return [string]
33
35
  def trigger_character
@@ -37,8 +39,9 @@ module LanguageServer
37
39
  #
38
40
  # `true` if signature help was already showing when it was triggered.
39
41
  #
40
- # Retriggers occur when the signature help is already active and can be caused by actions such as
41
- # typing a trigger character, a cursor move, or document content changes.
42
+ # Retriggers occur when the signature help is already active and can be
43
+ # caused by actions such as typing a trigger character, a cursor move, or
44
+ # document content changes.
42
45
  #
43
46
  # @return [boolean]
44
47
  def is_retrigger
@@ -48,8 +51,8 @@ module LanguageServer
48
51
  #
49
52
  # The currently active `SignatureHelp`.
50
53
  #
51
- # The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
52
- # the user navigating through available signatures.
54
+ # The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field
55
+ # updated based on the user navigating through available signatures.
53
56
  #
54
57
  # @return [SignatureHelp]
55
58
  def active_signature_help
@@ -1,7 +1,7 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class SignatureHelpOptions < WorkDoneProgressOptions
4
+ class SignatureHelpOptions
5
5
  def initialize(work_done_progress: nil, trigger_characters: nil, retrigger_characters: nil)
6
6
  @attributes = {}
7
7
 
@@ -12,6 +12,11 @@ module LanguageServer
12
12
  @attributes.freeze
13
13
  end
14
14
 
15
+ # @return [boolean]
16
+ def work_done_progress
17
+ attributes.fetch(:workDoneProgress)
18
+ end
19
+
15
20
  #
16
21
  # The characters that trigger signature help
17
22
  # automatically.
@@ -24,8 +29,9 @@ module LanguageServer
24
29
  #
25
30
  # List of characters that re-trigger signature help.
26
31
  #
27
- # These trigger characters are only active when signature help is already showing. All trigger characters
28
- # are also counted as re-trigger characters.
32
+ # These trigger characters are only active when signature help is already
33
+ # showing. All trigger characters are also counted as re-trigger
34
+ # characters.
29
35
  #
30
36
  # @return [string[]]
31
37
  def retrigger_characters
@@ -1,10 +1,12 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class SignatureHelpParams < WorkDoneProgressParams
5
- def initialize(work_done_token: nil, context: nil)
4
+ class SignatureHelpParams
5
+ def initialize(text_document:, position:, work_done_token: nil, context: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
8
10
  @attributes[:workDoneToken] = work_done_token if work_done_token
9
11
  @attributes[:context] = context if context
10
12
 
@@ -12,8 +14,33 @@ module LanguageServer
12
14
  end
13
15
 
14
16
  #
15
- # The signature help context. This is only available if the client specifies
16
- # to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
17
+ # The text document.
18
+ #
19
+ # @return [TextDocumentIdentifier]
20
+ def text_document
21
+ attributes.fetch(:textDocument)
22
+ end
23
+
24
+ #
25
+ # The position inside the text document.
26
+ #
27
+ # @return [Position]
28
+ def position
29
+ attributes.fetch(:position)
30
+ end
31
+
32
+ #
33
+ # An optional token that a server can use to report work done progress.
34
+ #
35
+ # @return [ProgressToken]
36
+ def work_done_token
37
+ attributes.fetch(:workDoneToken)
38
+ end
39
+
40
+ #
41
+ # The signature help context. This is only available if the client
42
+ # specifies to send this using the client capability
43
+ # `textDocument.signatureHelp.contextSupport === true`
17
44
  #
18
45
  # @return [SignatureHelpContext]
19
46
  def context
@@ -1,10 +1,11 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class SignatureHelpRegistrationOptions < SignatureHelpOptions
5
- def initialize(work_done_progress: nil, trigger_characters: nil, retrigger_characters: nil)
4
+ class SignatureHelpRegistrationOptions
5
+ def initialize(document_selector:, work_done_progress: nil, trigger_characters: nil, retrigger_characters: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:documentSelector] = document_selector
8
9
  @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
10
  @attributes[:triggerCharacters] = trigger_characters if trigger_characters
10
11
  @attributes[:retriggerCharacters] = retrigger_characters if retrigger_characters
@@ -12,6 +13,41 @@ module LanguageServer
12
13
  @attributes.freeze
13
14
  end
14
15
 
16
+ #
17
+ # A document selector to identify the scope of the registration. If set to
18
+ # null the document selector provided on the client side will be used.
19
+ #
20
+ # @return [DocumentSelector]
21
+ def document_selector
22
+ attributes.fetch(:documentSelector)
23
+ end
24
+
25
+ # @return [boolean]
26
+ def work_done_progress
27
+ attributes.fetch(:workDoneProgress)
28
+ end
29
+
30
+ #
31
+ # The characters that trigger signature help
32
+ # automatically.
33
+ #
34
+ # @return [string[]]
35
+ def trigger_characters
36
+ attributes.fetch(:triggerCharacters)
37
+ end
38
+
39
+ #
40
+ # List of characters that re-trigger signature help.
41
+ #
42
+ # These trigger characters are only active when signature help is already
43
+ # showing. All trigger characters are also counted as re-trigger
44
+ # characters.
45
+ #
46
+ # @return [string[]]
47
+ def retrigger_characters
48
+ attributes.fetch(:retriggerCharacters)
49
+ end
50
+
15
51
  attr_reader :attributes
16
52
 
17
53
  def to_hash