language_server-protocol 3.14.0.2 → 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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant.rb +8 -0
  3. data/lib/language_server/protocol/constant/code_action_kind.rb +12 -8
  4. data/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
  5. data/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
  6. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +23 -0
  7. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +1 -0
  8. data/lib/language_server/protocol/interface.rb +158 -8
  9. data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +13 -1
  10. data/lib/language_server/protocol/interface/client_capabilities.rb +11 -2
  11. data/lib/language_server/protocol/interface/code_action.rb +14 -1
  12. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +52 -0
  13. data/lib/language_server/protocol/interface/code_action_context.rb +5 -1
  14. data/lib/language_server/protocol/interface/code_action_options.rb +3 -5
  15. data/lib/language_server/protocol/interface/code_action_params.rb +3 -2
  16. data/lib/language_server/protocol/interface/code_action_registration_options.rb +2 -1
  17. data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +33 -0
  18. data/lib/language_server/protocol/interface/code_lens_options.rb +3 -5
  19. data/lib/language_server/protocol/interface/code_lens_params.rb +3 -2
  20. data/lib/language_server/protocol/interface/code_lens_registration_options.rb +3 -11
  21. data/lib/language_server/protocol/interface/color_presentation_params.rb +3 -2
  22. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +59 -0
  23. data/lib/language_server/protocol/interface/completion_item.rb +16 -5
  24. data/lib/language_server/protocol/interface/completion_options.rb +33 -11
  25. data/lib/language_server/protocol/interface/completion_params.rb +3 -4
  26. data/lib/language_server/protocol/interface/completion_registration_options.rb +4 -27
  27. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
  28. data/lib/language_server/protocol/interface/declaration_options.rb +25 -0
  29. data/lib/language_server/protocol/interface/declaration_params.rb +25 -0
  30. data/lib/language_server/protocol/interface/{color_provider_options.rb → declaration_registration_options.rb} +3 -5
  31. data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  32. data/lib/language_server/protocol/interface/definition_options.rb +25 -0
  33. data/lib/language_server/protocol/interface/definition_params.rb +25 -0
  34. data/lib/language_server/protocol/interface/definition_registration_options.rb +25 -0
  35. data/lib/language_server/protocol/interface/diagnostic.rb +11 -2
  36. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +1 -1
  37. data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
  38. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +10 -2
  39. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +35 -0
  40. data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
  41. data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
  42. data/lib/language_server/protocol/interface/document_color_options.rb +25 -0
  43. data/lib/language_server/protocol/interface/document_color_params.rb +34 -0
  44. data/lib/language_server/protocol/interface/document_color_registration_options.rb +25 -0
  45. data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
  46. data/lib/language_server/protocol/interface/document_formatting_options.rb +25 -0
  47. data/lib/language_server/protocol/interface/document_formatting_params.rb +3 -2
  48. data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +25 -0
  49. data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
  50. data/lib/language_server/protocol/interface/document_highlight_options.rb +25 -0
  51. data/lib/language_server/protocol/interface/document_highlight_params.rb +25 -0
  52. data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +25 -0
  53. data/lib/language_server/protocol/interface/document_link.rb +14 -1
  54. data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
  55. data/lib/language_server/protocol/interface/document_link_options.rb +3 -5
  56. data/lib/language_server/protocol/interface/document_link_params.rb +3 -2
  57. data/lib/language_server/protocol/interface/document_link_registration_options.rb +3 -11
  58. data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
  59. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +0 -3
  60. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +1 -17
  61. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +2 -19
  62. data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
  63. data/lib/language_server/protocol/interface/document_range_formatting_options.rb +25 -0
  64. data/lib/language_server/protocol/interface/document_range_formatting_params.rb +3 -2
  65. data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +25 -0
  66. data/lib/language_server/protocol/interface/document_symbol.rb +96 -0
  67. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +51 -0
  68. data/lib/language_server/protocol/interface/document_symbol_options.rb +25 -0
  69. data/lib/language_server/protocol/interface/document_symbol_params.rb +3 -2
  70. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +25 -0
  71. data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
  72. data/lib/language_server/protocol/interface/execute_command_options.rb +3 -5
  73. data/lib/language_server/protocol/interface/execute_command_params.rb +3 -2
  74. data/lib/language_server/protocol/interface/execute_command_registration_options.rb +3 -10
  75. data/lib/language_server/protocol/interface/folding_range.rb +1 -1
  76. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +55 -0
  77. data/lib/language_server/protocol/interface/folding_range_options.rb +25 -0
  78. data/lib/language_server/protocol/interface/folding_range_params.rb +3 -2
  79. data/lib/language_server/protocol/interface/{folding_range_provider_options.rb → folding_range_registration_options.rb} +3 -5
  80. data/lib/language_server/protocol/interface/formatting_options.rb +28 -1
  81. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +43 -0
  82. data/lib/language_server/protocol/interface/hover_options.rb +25 -0
  83. data/lib/language_server/protocol/interface/hover_params.rb +25 -0
  84. data/lib/language_server/protocol/interface/hover_registration_options.rb +25 -0
  85. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  86. data/lib/language_server/protocol/interface/implementation_options.rb +25 -0
  87. data/lib/language_server/protocol/interface/implementation_params.rb +25 -0
  88. data/lib/language_server/protocol/interface/implementation_registration_options.rb +25 -0
  89. data/lib/language_server/protocol/interface/initialize_params.rb +12 -4
  90. data/lib/language_server/protocol/interface/initialize_result.rb +10 -1
  91. data/lib/language_server/protocol/interface/location_link.rb +7 -4
  92. data/lib/language_server/protocol/interface/notification_message.rb +1 -1
  93. data/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
  94. data/lib/language_server/protocol/interface/prepare_rename_params.rb +26 -0
  95. data/lib/language_server/protocol/interface/progress_params.rb +42 -0
  96. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +53 -0
  97. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +10 -1
  98. data/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
  99. data/lib/language_server/protocol/interface/reference_options.rb +25 -0
  100. data/lib/language_server/protocol/interface/reference_params.rb +3 -4
  101. data/lib/language_server/protocol/interface/reference_registration_options.rb +25 -0
  102. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +43 -0
  103. data/lib/language_server/protocol/interface/rename_options.rb +3 -5
  104. data/lib/language_server/protocol/interface/rename_params.rb +3 -20
  105. data/lib/language_server/protocol/interface/rename_registration_options.rb +3 -11
  106. data/lib/language_server/protocol/interface/request_message.rb +1 -1
  107. data/lib/language_server/protocol/interface/response_error.rb +2 -2
  108. data/lib/language_server/protocol/interface/response_message.rb +4 -4
  109. data/lib/language_server/protocol/interface/save_options.rb +0 -3
  110. data/lib/language_server/protocol/interface/selection_range.rb +42 -0
  111. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +35 -0
  112. data/lib/language_server/protocol/interface/selection_range_options.rb +25 -0
  113. data/lib/language_server/protocol/interface/selection_range_params.rb +43 -0
  114. data/lib/language_server/protocol/interface/selection_range_registration_options.rb +25 -0
  115. data/lib/language_server/protocol/interface/server_capabilities.rb +66 -56
  116. data/lib/language_server/protocol/interface/signature_help.rb +8 -5
  117. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
  118. data/lib/language_server/protocol/interface/signature_help_context.rb +71 -0
  119. data/lib/language_server/protocol/interface/signature_help_options.rb +15 -5
  120. data/lib/language_server/protocol/interface/signature_help_params.rb +35 -0
  121. data/lib/language_server/protocol/interface/signature_help_registration_options.rb +4 -12
  122. data/lib/language_server/protocol/interface/symbol_information.rb +1 -1
  123. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +1 -1
  124. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +87 -87
  125. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -0
  126. data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
  127. data/lib/language_server/protocol/interface/text_document_sync_options.rb +14 -6
  128. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
  129. data/lib/language_server/protocol/interface/type_definition_options.rb +25 -0
  130. data/lib/language_server/protocol/interface/type_definition_params.rb +25 -0
  131. data/lib/language_server/protocol/interface/type_definition_registration_options.rb +25 -0
  132. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +1 -1
  133. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +80 -0
  134. data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
  135. data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
  136. data/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
  137. data/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
  138. data/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
  139. data/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
  140. data/lib/language_server/protocol/interface/workspace_edit.rb +1 -1
  141. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +53 -0
  142. data/lib/language_server/protocol/interface/workspace_folder.rb +2 -2
  143. data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
  144. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +42 -0
  145. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +25 -0
  146. data/lib/language_server/protocol/interface/workspace_symbol_params.rb +5 -3
  147. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +25 -0
  148. data/lib/language_server/protocol/version.rb +1 -1
  149. metadata +83 -6
  150. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +0 -55
  151. data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
@@ -1,24 +1,16 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class DocumentLinkRegistrationOptions < TextDocumentRegistrationOptions
5
- def initialize(document_selector:, resolve_provider: nil)
4
+ class DocumentLinkRegistrationOptions < DocumentLinkOptions
5
+ def initialize(work_done_progress: nil, resolve_provider: nil)
6
6
  @attributes = {}
7
7
 
8
- @attributes[:documentSelector] = document_selector
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
9
  @attributes[:resolveProvider] = resolve_provider if resolve_provider
10
10
 
11
11
  @attributes.freeze
12
12
  end
13
13
 
14
- #
15
- # Document links have a resolve provider as well.
16
- #
17
- # @return [boolean]
18
- def resolve_provider
19
- attributes.fetch(:resolveProvider)
20
- end
21
-
22
14
  attr_reader :attributes
23
15
 
24
16
  def to_hash
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentOnTypeFormattingClientCapabilities
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 on type formatting 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
@@ -1,9 +1,6 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- #
5
- # Format document on type options.
6
- #
7
4
  class DocumentOnTypeFormattingOptions
8
5
  def initialize(first_trigger_character:, more_trigger_character: nil)
9
6
  @attributes = {}
@@ -1,7 +1,7 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class DocumentOnTypeFormattingParams
4
+ class DocumentOnTypeFormattingParams < TextDocumentPositionParams
5
5
  def initialize(text_document:, position:, ch:, options:)
6
6
  @attributes = {}
7
7
 
@@ -13,22 +13,6 @@ module LanguageServer
13
13
  @attributes.freeze
14
14
  end
15
15
 
16
- #
17
- # The document to format.
18
- #
19
- # @return [TextDocumentIdentifier]
20
- def text_document
21
- attributes.fetch(:textDocument)
22
- end
23
-
24
- #
25
- # The position at which this request was sent.
26
- #
27
- # @return [Position]
28
- def position
29
- attributes.fetch(:position)
30
- end
31
-
32
16
  #
33
17
  # The character that has been typed.
34
18
  #
@@ -1,33 +1,16 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
- class DocumentOnTypeFormattingRegistrationOptions < TextDocumentRegistrationOptions
5
- def initialize(document_selector:, first_trigger_character:, more_trigger_character: nil)
4
+ class DocumentOnTypeFormattingRegistrationOptions < DocumentOnTypeFormattingOptions
5
+ def initialize(first_trigger_character:, more_trigger_character: nil)
6
6
  @attributes = {}
7
7
 
8
- @attributes[:documentSelector] = document_selector
9
8
  @attributes[:firstTriggerCharacter] = first_trigger_character
10
9
  @attributes[:moreTriggerCharacter] = more_trigger_character if more_trigger_character
11
10
 
12
11
  @attributes.freeze
13
12
  end
14
13
 
15
- #
16
- # A character on which formatting should be triggered, like `}`.
17
- #
18
- # @return [string]
19
- def first_trigger_character
20
- attributes.fetch(:firstTriggerCharacter)
21
- end
22
-
23
- #
24
- # More trigger characters.
25
- #
26
- # @return [string[]]
27
- def more_trigger_character
28
- attributes.fetch(:moreTriggerCharacter)
29
- end
30
-
31
14
  attr_reader :attributes
32
15
 
33
16
  def to_hash
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentRangeFormattingClientCapabilities
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 formatting 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 DocumentRangeFormattingOptions < 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 DocumentRangeFormattingParams
5
- def initialize(text_document:, range:, options:)
4
+ class DocumentRangeFormattingParams < WorkDoneProgressParams
5
+ def initialize(work_done_token: nil, text_document:, range:, options:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
8
9
  @attributes[:textDocument] = text_document
9
10
  @attributes[:range] = range
10
11
  @attributes[:options] = options
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentRangeFormattingRegistrationOptions < DocumentRangeFormattingOptions
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,96 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Represents programming constructs like variables, classes, interfaces etc. that appear in a document. Document symbols can be
6
+ # hierarchical and they have two ranges: one that encloses its definition and one that points to its most interesting range,
7
+ # e.g. the range of an identifier.
8
+ #
9
+ class DocumentSymbol
10
+ def initialize(name:, detail: nil, kind:, deprecated: nil, range:, selection_range:, children: nil)
11
+ @attributes = {}
12
+
13
+ @attributes[:name] = name
14
+ @attributes[:detail] = detail if detail
15
+ @attributes[:kind] = kind
16
+ @attributes[:deprecated] = deprecated if deprecated
17
+ @attributes[:range] = range
18
+ @attributes[:selectionRange] = selection_range
19
+ @attributes[:children] = children if children
20
+
21
+ @attributes.freeze
22
+ end
23
+
24
+ #
25
+ # The name of this symbol. Will be displayed in the user interface and therefore must not be
26
+ # an empty string or a string only consisting of white spaces.
27
+ #
28
+ # @return [string]
29
+ def name
30
+ attributes.fetch(:name)
31
+ end
32
+
33
+ #
34
+ # More detail for this symbol, e.g the signature of a function.
35
+ #
36
+ # @return [string]
37
+ def detail
38
+ attributes.fetch(:detail)
39
+ end
40
+
41
+ #
42
+ # The kind of this symbol.
43
+ #
44
+ # @return [any]
45
+ def kind
46
+ attributes.fetch(:kind)
47
+ end
48
+
49
+ #
50
+ # Indicates if this symbol is deprecated.
51
+ #
52
+ # @return [boolean]
53
+ def deprecated
54
+ attributes.fetch(:deprecated)
55
+ end
56
+
57
+ #
58
+ # The range enclosing this symbol not including leading/trailing whitespace but everything else
59
+ # like comments. This information is typically used to determine if the clients cursor is
60
+ # inside the symbol to reveal in the symbol in the UI.
61
+ #
62
+ # @return [Range]
63
+ def range
64
+ attributes.fetch(:range)
65
+ end
66
+
67
+ #
68
+ # The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
69
+ # Must be contained by the `range`.
70
+ #
71
+ # @return [Range]
72
+ def selection_range
73
+ attributes.fetch(:selectionRange)
74
+ end
75
+
76
+ #
77
+ # Children of this symbol, e.g. properties of a class.
78
+ #
79
+ # @return [DocumentSymbol[]]
80
+ def children
81
+ attributes.fetch(:children)
82
+ end
83
+
84
+ attr_reader :attributes
85
+
86
+ def to_hash
87
+ attributes
88
+ end
89
+
90
+ def to_json(*args)
91
+ to_hash.to_json(*args)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,51 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentSymbolClientCapabilities
5
+ def initialize(dynamic_registration: nil, symbol_kind: nil, hierarchical_document_symbol_support: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
9
+ @attributes[:symbolKind] = symbol_kind if symbol_kind
10
+ @attributes[:hierarchicalDocumentSymbolSupport] = hierarchical_document_symbol_support if hierarchical_document_symbol_support
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ #
16
+ # Whether document symbol supports dynamic registration.
17
+ #
18
+ # @return [boolean]
19
+ def dynamic_registration
20
+ attributes.fetch(:dynamicRegistration)
21
+ end
22
+
23
+ #
24
+ # Specific capabilities for the `SymbolKind` in the `textDocument/documentSymbol` request.
25
+ #
26
+ # @return [{ valueSet?: any[]; }]
27
+ def symbol_kind
28
+ attributes.fetch(:symbolKind)
29
+ end
30
+
31
+ #
32
+ # The client supports hierarchical document symbols.
33
+ #
34
+ # @return [boolean]
35
+ def hierarchical_document_symbol_support
36
+ attributes.fetch(:hierarchicalDocumentSymbolSupport)
37
+ end
38
+
39
+ attr_reader :attributes
40
+
41
+ def to_hash
42
+ attributes
43
+ end
44
+
45
+ def to_json(*args)
46
+ to_hash.to_json(*args)
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentSymbolOptions < 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 DocumentSymbolParams
5
- def initialize(text_document:)
4
+ class DocumentSymbolParams < PartialResultParams
5
+ def initialize(partial_result_token: nil, text_document:)
6
6
  @attributes = {}
7
7
 
8
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
8
9
  @attributes[:textDocument] = text_document
9
10
 
10
11
  @attributes.freeze
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class DocumentSymbolRegistrationOptions < DocumentSymbolOptions
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