language_server-protocol 3.7.0.0 → 3.15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/lib/language_server/protocol/constant.rb +14 -0
  4. data/lib/language_server/protocol/constant/code_action_kind.rb +75 -0
  5. data/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
  6. data/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
  7. data/lib/language_server/protocol/constant/error_codes.rb +1 -0
  8. data/lib/language_server/protocol/constant/failure_handling_kind.rb +29 -0
  9. data/lib/language_server/protocol/constant/resource_operation_kind.rb +23 -0
  10. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +23 -0
  11. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +1 -0
  12. data/lib/language_server/protocol/interface.rb +186 -6
  13. data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +13 -1
  14. data/lib/language_server/protocol/interface/client_capabilities.rb +11 -2
  15. data/lib/language_server/protocol/interface/code_action.rb +92 -0
  16. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +52 -0
  17. data/lib/language_server/protocol/interface/code_action_context.rb +18 -2
  18. data/lib/language_server/protocol/interface/code_action_options.rb +37 -0
  19. data/lib/language_server/protocol/interface/code_action_params.rb +3 -2
  20. data/lib/language_server/protocol/interface/code_action_registration_options.rb +26 -0
  21. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +33 -0
  22. data/lib/language_server/protocol/interface/code_lens_options.rb +3 -5
  23. data/lib/language_server/protocol/interface/code_lens_params.rb +3 -2
  24. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +3 -10
  25. data/lib/language_server/protocol/interface/color_presentation_params.rb +3 -2
  26. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +59 -0
  27. data/lib/language_server/protocol/interface/completion_item.rb +29 -5
  28. data/lib/language_server/protocol/interface/completion_options.rb +33 -11
  29. data/lib/language_server/protocol/interface/completion_params.rb +4 -3
  30. data/lib/language_server/protocol/interface/completion_registration_options.rb +4 -26
  31. data/lib/language_server/protocol/interface/create_file.rb +54 -0
  32. data/lib/language_server/protocol/interface/create_file_options.rb +45 -0
  33. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
  34. data/lib/language_server/protocol/interface/declaration_options.rb +25 -0
  35. data/lib/language_server/protocol/interface/declaration_params.rb +25 -0
  36. data/lib/language_server/protocol/interface/{color_provider_options.rb → declaration_registration_options.rb} +3 -5
  37. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  38. data/lib/language_server/protocol/interface/definition_options.rb +25 -0
  39. data/lib/language_server/protocol/interface/definition_params.rb +25 -0
  40. data/lib/language_server/protocol/interface/definition_registration_options.rb +25 -0
  41. data/lib/language_server/protocol/interface/delete_file.rb +54 -0
  42. data/lib/language_server/protocol/interface/delete_file_options.rb +45 -0
  43. data/lib/language_server/protocol/interface/diagnostic.rb +11 -2
  44. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +1 -1
  45. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
  46. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +10 -2
  47. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +35 -0
  48. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  49. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
  50. data/lib/language_server/protocol/interface/document_color_options.rb +25 -0
  51. data/lib/language_server/protocol/interface/document_color_params.rb +34 -0
  52. data/lib/language_server/protocol/interface/document_color_registration_options.rb +25 -0
  53. data/lib/language_server/protocol/interface/document_filter.rb +8 -0
  54. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
  55. data/lib/language_server/protocol/interface/document_formatting_options.rb +25 -0
  56. data/lib/language_server/protocol/interface/document_formatting_params.rb +3 -2
  57. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +25 -0
  58. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
  59. data/lib/language_server/protocol/interface/document_highlight_options.rb +25 -0
  60. data/lib/language_server/protocol/interface/document_highlight_params.rb +25 -0
  61. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +25 -0
  62. data/lib/language_server/protocol/interface/document_link.rb +14 -1
  63. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
  64. data/lib/language_server/protocol/interface/document_link_options.rb +3 -5
  65. data/lib/language_server/protocol/interface/document_link_params.rb +3 -2
  66. data/lib/language_server/protocol/interface/document_link_registration_options.rb +3 -10
  67. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
  68. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +0 -3
  69. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +1 -17
  70. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +2 -18
  71. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
  72. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +25 -0
  73. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +3 -2
  74. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +25 -0
  75. data/lib/language_server/protocol/interface/document_symbol.rb +96 -0
  76. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +51 -0
  77. data/lib/language_server/protocol/interface/document_symbol_options.rb +25 -0
  78. data/lib/language_server/protocol/interface/document_symbol_params.rb +3 -2
  79. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +25 -0
  80. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
  81. data/lib/language_server/protocol/interface/execute_command_options.rb +3 -5
  82. data/lib/language_server/protocol/interface/execute_command_params.rb +3 -2
  83. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +3 -10
  84. data/lib/language_server/protocol/interface/file_system_watcher.rb +9 -1
  85. data/lib/language_server/protocol/interface/folding_range.rb +74 -0
  86. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +55 -0
  87. data/lib/language_server/protocol/interface/folding_range_options.rb +25 -0
  88. data/lib/language_server/protocol/interface/folding_range_params.rb +34 -0
  89. data/lib/language_server/protocol/interface/folding_range_registration_options.rb +25 -0
  90. data/lib/language_server/protocol/interface/formatting_options.rb +28 -1
  91. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +43 -0
  92. data/lib/language_server/protocol/interface/hover_options.rb +25 -0
  93. data/lib/language_server/protocol/interface/hover_params.rb +25 -0
  94. data/lib/language_server/protocol/interface/hover_registration_options.rb +25 -0
  95. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  96. data/lib/language_server/protocol/interface/implementation_options.rb +25 -0
  97. data/lib/language_server/protocol/interface/implementation_params.rb +25 -0
  98. data/lib/language_server/protocol/interface/implementation_registration_options.rb +25 -0
  99. data/lib/language_server/protocol/interface/initialize_params.rb +12 -4
  100. data/lib/language_server/protocol/interface/initialize_result.rb +10 -1
  101. data/lib/language_server/protocol/interface/location_link.rb +66 -0
  102. data/lib/language_server/protocol/interface/markup_content.rb +1 -1
  103. data/lib/language_server/protocol/interface/notification_message.rb +2 -1
  104. data/lib/language_server/protocol/interface/parameter_information.rb +9 -3
  105. data/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
  106. data/lib/language_server/protocol/interface/prepare_rename_params.rb +26 -0
  107. data/lib/language_server/protocol/interface/progress_params.rb +42 -0
  108. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +53 -0
  109. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +10 -1
  110. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
  111. data/lib/language_server/protocol/interface/reference_options.rb +25 -0
  112. data/lib/language_server/protocol/interface/reference_params.rb +3 -2
  113. data/lib/language_server/protocol/interface/reference_registration_options.rb +25 -0
  114. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +43 -0
  115. data/lib/language_server/protocol/interface/rename_file.rb +63 -0
  116. data/lib/language_server/protocol/interface/rename_file_options.rb +45 -0
  117. data/lib/language_server/protocol/interface/rename_options.rb +34 -0
  118. data/lib/language_server/protocol/interface/rename_params.rb +3 -20
  119. data/lib/language_server/protocol/interface/rename_registration_options.rb +26 -0
  120. data/lib/language_server/protocol/interface/request_message.rb +2 -1
  121. data/lib/language_server/protocol/interface/response_error.rb +2 -2
  122. data/lib/language_server/protocol/interface/response_message.rb +5 -4
  123. data/lib/language_server/protocol/interface/save_options.rb +0 -3
  124. data/lib/language_server/protocol/interface/selection_range.rb +42 -0
  125. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +35 -0
  126. data/lib/language_server/protocol/interface/selection_range_options.rb +25 -0
  127. data/lib/language_server/protocol/interface/selection_range_params.rb +43 -0
  128. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +25 -0
  129. data/lib/language_server/protocol/interface/server_capabilities.rb +78 -53
  130. data/lib/language_server/protocol/interface/signature_help.rb +8 -5
  131. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
  132. data/lib/language_server/protocol/interface/signature_help_context.rb +71 -0
  133. data/lib/language_server/protocol/interface/signature_help_options.rb +15 -5
  134. data/lib/language_server/protocol/interface/signature_help_params.rb +35 -0
  135. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +4 -11
  136. data/lib/language_server/protocol/interface/symbol_information.rb +1 -1
  137. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +2 -1
  138. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +97 -75
  139. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -0
  140. data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +1 -0
  141. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
  142. data/lib/language_server/protocol/interface/text_document_sync_options.rb +14 -6
  143. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
  144. data/lib/language_server/protocol/interface/type_definition_options.rb +25 -0
  145. data/lib/language_server/protocol/interface/type_definition_params.rb +25 -0
  146. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +25 -0
  147. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +5 -1
  148. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +80 -0
  149. data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
  150. data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
  151. data/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
  152. data/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
  153. data/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
  154. data/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
  155. data/lib/language_server/protocol/interface/workspace_edit.rb +11 -5
  156. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +53 -0
  157. data/lib/language_server/protocol/interface/workspace_folder.rb +2 -2
  158. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
  159. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +42 -0
  160. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +25 -0
  161. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +5 -3
  162. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +25 -0
  163. data/lib/language_server/protocol/transport.rb +1 -0
  164. data/lib/language_server/protocol/transport/io.rb +2 -0
  165. data/lib/language_server/protocol/transport/io/reader.rb +47 -0
  166. data/lib/language_server/protocol/transport/io/writer.rb +34 -0
  167. data/lib/language_server/protocol/transport/stdio/reader.rb +3 -29
  168. data/lib/language_server/protocol/transport/stdio/writer.rb +3 -18
  169. data/lib/language_server/protocol/version.rb +1 -1
  170. metadata +105 -29
  171. data/.gitignore +0 -10
  172. data/.travis.yml +0 -5
  173. data/CHANGELOG.md +0 -13
  174. data/CODE_OF_CONDUCT.md +0 -74
  175. data/Dockerfile-node.development +0 -6
  176. data/Dockerfile.development +0 -24
  177. data/Gemfile +0 -6
  178. data/Rakefile +0 -10
  179. data/bin/console +0 -14
  180. data/bin/generate_files +0 -5
  181. data/bin/m +0 -17
  182. data/bin/setup +0 -6
  183. data/circle.yml +0 -27
  184. data/docker-compose.ci.yml +0 -14
  185. data/docker-compose.override.yml +0 -15
  186. data/docker-compose.yml +0 -31
  187. data/language_server-protocol.gemspec +0 -31
  188. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +0 -55
  189. data/lib/language_server/protocol/interface/workspace_client_capabilites.rb +0 -82
  190. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
  191. data/package.json +0 -10
  192. data/scripts/generateFiles.ts +0 -252
  193. data/yarn.lock +0 -293
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ReferenceClientCapabilities
5
+ def initialize(dynamic_registration: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # Whether references supports dynamic registration.
15
+ #
16
+ # @return [boolean]
17
+ def dynamic_registration
18
+ attributes.fetch(:dynamicRegistration)
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,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ReferenceOptions < WorkDoneProgressOptions
5
+ def initialize(work_done_progress: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,10 +1,11 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class ReferenceParams < TextDocumentPositionParams
5
- def initialize(text_document:, position:, context:)
4
+ class ReferenceParams < PartialResultParams
5
+ def initialize(partial_result_token: nil, context:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
8
9
  @attributes[:context] = context
9
10
 
10
11
  @attributes.freeze
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class ReferenceRegistrationOptions < ReferenceOptions
5
+ def initialize(work_done_progress: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ attr_reader :attributes
14
+
15
+ def to_hash
16
+ attributes
17
+ end
18
+
19
+ def to_json(*args)
20
+ to_hash.to_json(*args)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,43 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class RenameClientCapabilities
5
+ def initialize(dynamic_registration: nil, prepare_support: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+ @attributes[:prepareSupport] = prepare_support if prepare_support
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # Whether rename supports dynamic registration.
16
+ #
17
+ # @return [boolean]
18
+ def dynamic_registration
19
+ attributes.fetch(:dynamicRegistration)
20
+ end
21
+
22
+ #
23
+ # Client supports testing for validity of rename operations
24
+ # before execution.
25
+ #
26
+ # @return [boolean]
27
+ def prepare_support
28
+ attributes.fetch(:prepareSupport)
29
+ end
30
+
31
+ attr_reader :attributes
32
+
33
+ def to_hash
34
+ attributes
35
+ end
36
+
37
+ def to_json(*args)
38
+ to_hash.to_json(*args)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,63 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Rename file operation
6
+ #
7
+ class RenameFile
8
+ def initialize(kind:, old_uri:, new_uri:, options: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:kind] = kind
12
+ @attributes[:oldUri] = old_uri
13
+ @attributes[:newUri] = new_uri
14
+ @attributes[:options] = options if options
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # A rename
21
+ #
22
+ # @return ["rename"]
23
+ def kind
24
+ attributes.fetch(:kind)
25
+ end
26
+
27
+ #
28
+ # The old (existing) location.
29
+ #
30
+ # @return [string]
31
+ def old_uri
32
+ attributes.fetch(:oldUri)
33
+ end
34
+
35
+ #
36
+ # The new location.
37
+ #
38
+ # @return [string]
39
+ def new_uri
40
+ attributes.fetch(:newUri)
41
+ end
42
+
43
+ #
44
+ # Rename options.
45
+ #
46
+ # @return [RenameFileOptions]
47
+ def options
48
+ attributes.fetch(:options)
49
+ end
50
+
51
+ attr_reader :attributes
52
+
53
+ def to_hash
54
+ attributes
55
+ end
56
+
57
+ def to_json(*args)
58
+ to_hash.to_json(*args)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,45 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Rename file options
6
+ #
7
+ class RenameFileOptions
8
+ def initialize(overwrite: nil, ignore_if_exists: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:overwrite] = overwrite if overwrite
12
+ @attributes[:ignoreIfExists] = ignore_if_exists if ignore_if_exists
13
+
14
+ @attributes.freeze
15
+ end
16
+
17
+ #
18
+ # Overwrite target if existing. Overwrite wins over `ignoreIfExists`
19
+ #
20
+ # @return [boolean]
21
+ def overwrite
22
+ attributes.fetch(:overwrite)
23
+ end
24
+
25
+ #
26
+ # Ignores if target exists.
27
+ #
28
+ # @return [boolean]
29
+ def ignore_if_exists
30
+ attributes.fetch(:ignoreIfExists)
31
+ end
32
+
33
+ attr_reader :attributes
34
+
35
+ def to_hash
36
+ attributes
37
+ end
38
+
39
+ def to_json(*args)
40
+ to_hash.to_json(*args)
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,34 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class RenameOptions < WorkDoneProgressOptions
5
+ def initialize(work_done_progress: nil, prepare_provider: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+ @attributes[:prepareProvider] = prepare_provider if prepare_provider
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # Renames should be checked and tested before being executed.
16
+ #
17
+ # @return [boolean]
18
+ def prepare_provider
19
+ attributes.fetch(:prepareProvider)
20
+ end
21
+
22
+ attr_reader :attributes
23
+
24
+ def to_hash
25
+ attributes
26
+ end
27
+
28
+ def to_json(*args)
29
+ to_hash.to_json(*args)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,33 +1,16 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class RenameParams
5
- def initialize(text_document:, position:, new_name:)
4
+ class RenameParams < WorkDoneProgressParams
5
+ def initialize(work_done_token: nil, new_name:)
6
6
  @attributes = {}
7
7
 
8
- @attributes[:textDocument] = text_document
9
- @attributes[:position] = position
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
10
9
  @attributes[:newName] = new_name
11
10
 
12
11
  @attributes.freeze
13
12
  end
14
13
 
15
- #
16
- # The document to rename.
17
- #
18
- # @return [TextDocumentIdentifier]
19
- def text_document
20
- attributes.fetch(:textDocument)
21
- end
22
-
23
- #
24
- # The position at which this request was sent.
25
- #
26
- # @return [Position]
27
- def position
28
- attributes.fetch(:position)
29
- end
30
-
31
14
  #
32
15
  # The new name of the symbol. If the given name is not valid the
33
16
  # request must return a [ResponseError](#ResponseError) with an
@@ -0,0 +1,26 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class RenameRegistrationOptions < RenameOptions
5
+ def initialize(work_done_progress: nil, prepare_provider: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+ @attributes[:prepareProvider] = prepare_provider if prepare_provider
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ attr_reader :attributes
15
+
16
+ def to_hash
17
+ attributes
18
+ end
19
+
20
+ def to_json(*args)
21
+ to_hash.to_json(*args)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(jsonrpc:, id:, method:, params: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:jsonrpc] = jsonrpc
8
9
  @attributes[:id] = id
9
10
  @attributes[:method] = method
10
11
  @attributes[:params] = params if params
@@ -31,7 +32,7 @@ module LanguageServer
31
32
  #
32
33
  # The method's params.
33
34
  #
34
- # @return [object | any[]]
35
+ # @return [any]
35
36
  def params
36
37
  attributes.fetch(:params)
37
38
  end
@@ -29,10 +29,10 @@ module LanguageServer
29
29
  end
30
30
 
31
31
  #
32
- # A Primitive or Structured value that contains additional
32
+ # A primitive or structured value that contains additional
33
33
  # information about the error. Can be omitted.
34
34
  #
35
- # @return [D]
35
+ # @return [any]
36
36
  def data
37
37
  attributes.fetch(:data)
38
38
  end
@@ -5,6 +5,7 @@ module LanguageServer
5
5
  def initialize(jsonrpc:, id:, result: nil, error: nil)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:jsonrpc] = jsonrpc
8
9
  @attributes[:id] = id
9
10
  @attributes[:result] = result if result
10
11
  @attributes[:error] = error if error
@@ -21,10 +22,10 @@ module LanguageServer
21
22
  end
22
23
 
23
24
  #
24
- # The result of a request. This can be omitted in
25
- # the case of an error.
25
+ # The result of a request. This member is REQUIRED on success.
26
+ # This member MUST NOT exist if there was an error invoking the method.
26
27
  #
27
- # @return [any]
28
+ # @return [string | number | boolean | object]
28
29
  def result
29
30
  attributes.fetch(:result)
30
31
  end
@@ -32,7 +33,7 @@ module LanguageServer
32
33
  #
33
34
  # The error object in case a request fails.
34
35
  #
35
- # @return [ResponseError<any>]
36
+ # @return [ResponseError]
36
37
  def error
37
38
  attributes.fetch(:error)
38
39
  end
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Save options.
6
- #
7
4
  class SaveOptions
8
5
  def initialize(include_text: nil)
9
6
  @attributes = {}
@@ -0,0 +1,42 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class SelectionRange
5
+ def initialize(range:, parent: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:range] = range
9
+ @attributes[:parent] = parent if parent
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # The [range](#Range) of this selection range.
16
+ #
17
+ # @return [Range]
18
+ def range
19
+ attributes.fetch(:range)
20
+ end
21
+
22
+ #
23
+ # The parent selection range containing this range. Therefore `parent.range` must contain `this.range`.
24
+ #
25
+ # @return [SelectionRange]
26
+ def parent
27
+ attributes.fetch(:parent)
28
+ end
29
+
30
+ attr_reader :attributes
31
+
32
+ def to_hash
33
+ attributes
34
+ end
35
+
36
+ def to_json(*args)
37
+ to_hash.to_json(*args)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end