language_server-protocol 3.15.0.2 → 3.16.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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/language_server/protocol/constant.rb +10 -0
  4. data/lib/language_server/protocol/constant/code_action_kind.rb +6 -4
  5. data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -2
  6. data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
  7. data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -2
  8. data/lib/language_server/protocol/constant/error_codes.rb +26 -3
  9. data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
  10. data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  11. data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
  12. data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  13. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  14. data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -1
  15. data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  16. data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
  17. data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -2
  18. data/lib/language_server/protocol/constant/token_format.rb +9 -0
  19. data/lib/language_server/protocol/interface.rb +112 -0
  20. data/lib/language_server/protocol/interface/annotated_text_edit.rb +38 -0
  21. data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +15 -4
  22. data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  23. data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  24. data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +31 -0
  25. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  26. data/lib/language_server/protocol/interface/call_hierarchy_options.rb +25 -0
  27. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  28. data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +31 -0
  29. data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +25 -0
  30. data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +25 -0
  31. data/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  32. data/lib/language_server/protocol/interface/client_capabilities.rb +12 -3
  33. data/lib/language_server/protocol/interface/code_action.rb +43 -8
  34. data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +44 -1
  35. data/lib/language_server/protocol/interface/code_action_context.rb +7 -6
  36. data/lib/language_server/protocol/interface/code_action_options.rb +13 -3
  37. data/lib/language_server/protocol/interface/code_action_registration_options.rb +2 -1
  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_workspace_client_capabilities.rb +39 -0
  41. data/lib/language_server/protocol/interface/color_presentation.rb +7 -6
  42. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +1 -1
  43. data/lib/language_server/protocol/interface/completion_context.rb +5 -3
  44. data/lib/language_server/protocol/interface/completion_item.rb +60 -29
  45. data/lib/language_server/protocol/interface/completion_list.rb +2 -2
  46. data/lib/language_server/protocol/interface/completion_options.rb +15 -12
  47. data/lib/language_server/protocol/interface/completion_params.rb +2 -1
  48. data/lib/language_server/protocol/interface/create_file.rb +10 -1
  49. data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  50. data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +3 -3
  51. data/lib/language_server/protocol/interface/delete_file.rb +10 -1
  52. data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  53. data/lib/language_server/protocol/interface/diagnostic.rb +21 -1
  54. data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
  55. data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -9
  56. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +3 -3
  57. data/lib/language_server/protocol/interface/document_filter.rb +7 -3
  58. data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
  59. data/lib/language_server/protocol/interface/document_link.rb +6 -5
  60. data/lib/language_server/protocol/interface/document_symbol.rb +23 -11
  61. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +24 -2
  62. data/lib/language_server/protocol/interface/document_symbol_options.rb +11 -1
  63. data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +2 -1
  64. data/lib/language_server/protocol/interface/file_create.rb +36 -0
  65. data/lib/language_server/protocol/interface/file_delete.rb +36 -0
  66. data/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  67. data/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  68. data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  69. data/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  70. data/lib/language_server/protocol/interface/file_rename.rb +45 -0
  71. data/lib/language_server/protocol/interface/file_system_watcher.rb +7 -3
  72. data/lib/language_server/protocol/interface/folding_range.rb +17 -8
  73. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +10 -7
  74. data/lib/language_server/protocol/interface/hover.rb +1 -1
  75. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +3 -2
  76. data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +3 -3
  77. data/lib/language_server/protocol/interface/initialize_params.rb +20 -5
  78. data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  79. data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  80. data/lib/language_server/protocol/interface/linked_editing_range_options.rb +25 -0
  81. data/lib/language_server/protocol/interface/linked_editing_range_params.rb +25 -0
  82. data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +25 -0
  83. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +45 -0
  84. data/lib/language_server/protocol/interface/location_link.rb +9 -7
  85. data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
  86. data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  87. data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
  88. data/lib/language_server/protocol/interface/markup_content.rb +9 -7
  89. data/lib/language_server/protocol/interface/moniker.rb +64 -0
  90. data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  91. data/lib/language_server/protocol/interface/moniker_options.rb +25 -0
  92. data/lib/language_server/protocol/interface/moniker_params.rb +25 -0
  93. data/lib/language_server/protocol/interface/moniker_registration_options.rb +25 -0
  94. data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +42 -0
  95. data/lib/language_server/protocol/interface/parameter_information.rb +7 -5
  96. data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
  97. data/lib/language_server/protocol/interface/position.rb +5 -5
  98. data/lib/language_server/protocol/interface/progress_params.rb +1 -1
  99. data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +21 -1
  100. data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +2 -1
  101. data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  102. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +27 -1
  103. data/lib/language_server/protocol/interface/rename_file.rb +10 -1
  104. data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  105. data/lib/language_server/protocol/interface/selection_range.rb +2 -1
  106. data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -3
  107. data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  108. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
  109. data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  110. data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +44 -0
  111. data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  112. data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  113. data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  114. data/lib/language_server/protocol/interface/semantic_tokens_options.rb +53 -0
  115. data/lib/language_server/protocol/interface/semantic_tokens_params.rb +34 -0
  116. data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  117. data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +43 -0
  118. data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +25 -0
  119. data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  120. data/lib/language_server/protocol/interface/server_capabilities.rb +47 -9
  121. data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  122. data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  123. data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  124. data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  125. data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
  126. data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  127. data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
  128. data/lib/language_server/protocol/interface/signature_help.rb +3 -3
  129. data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +1 -1
  130. data/lib/language_server/protocol/interface/signature_help_context.rb +10 -7
  131. data/lib/language_server/protocol/interface/signature_help_options.rb +3 -2
  132. data/lib/language_server/protocol/interface/signature_help_params.rb +3 -2
  133. data/lib/language_server/protocol/interface/signature_information.rb +12 -1
  134. data/lib/language_server/protocol/interface/symbol_information.rb +10 -1
  135. data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +1 -1
  136. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +39 -2
  137. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
  138. data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
  139. data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
  140. data/lib/language_server/protocol/interface/text_document_sync_options.rb +13 -15
  141. data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +3 -3
  142. data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +3 -7
  143. data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
  144. data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
  145. data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +1 -1
  146. data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +1 -1
  147. data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
  148. data/lib/language_server/protocol/interface/work_done_progress_report.rb +5 -5
  149. data/lib/language_server/protocol/interface/workspace_edit.rb +24 -7
  150. data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +23 -1
  151. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +13 -2
  152. data/lib/language_server/protocol/version.rb +1 -1
  153. metadata +67 -6
@@ -0,0 +1,38 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A special text edit with an additional change annotation.
6
+ #
7
+ class AnnotatedTextEdit < TextEdit
8
+ def initialize(range:, new_text:, annotation_id:)
9
+ @attributes = {}
10
+
11
+ @attributes[:range] = range
12
+ @attributes[:newText] = new_text
13
+ @attributes[:annotationId] = annotation_id
14
+
15
+ @attributes.freeze
16
+ end
17
+
18
+ #
19
+ # The actual annotation identifier.
20
+ #
21
+ # @return [string]
22
+ def annotation_id
23
+ attributes.fetch(:annotationId)
24
+ end
25
+
26
+ attr_reader :attributes
27
+
28
+ def to_hash
29
+ attributes
30
+ end
31
+
32
+ def to_json(*args)
33
+ to_hash.to_json(*args)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -2,11 +2,12 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class ApplyWorkspaceEditResponse
5
- def initialize(applied:, failure_reason: nil)
5
+ def initialize(applied:, failure_reason: nil, failed_change: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:applied] = applied
9
9
  @attributes[:failureReason] = failure_reason if failure_reason
10
+ @attributes[:failedChange] = failed_change if failed_change
10
11
 
11
12
  @attributes.freeze
12
13
  end
@@ -21,15 +22,25 @@ module LanguageServer
21
22
 
22
23
  #
23
24
  # An optional textual description for why the edit was not applied.
24
- # This may be used may be used by the server for diagnostic
25
- # logging or to provide a suitable error for a request that
26
- # triggered the edit.
25
+ # This may be used by the server for diagnostic logging or to provide
26
+ # a suitable error for a request that triggered the edit.
27
27
  #
28
28
  # @return [string]
29
29
  def failure_reason
30
30
  attributes.fetch(:failureReason)
31
31
  end
32
32
 
33
+ #
34
+ # Depending on the client's failure handling strategy `failedChange`
35
+ # might contain the index of the change that failed. This property is
36
+ # only available if the client signals a `failureHandlingStrategy`
37
+ # in its client capabilities.
38
+ #
39
+ # @return [number]
40
+ def failed_change
41
+ attributes.fetch(:failedChange)
42
+ end
43
+
33
44
  attr_reader :attributes
34
45
 
35
46
  def to_hash
@@ -0,0 +1,36 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyClientCapabilities
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 implementation supports dynamic registration. If this is set to
15
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
16
+ # StaticRegistrationOptions)` return value for the corresponding server
17
+ # capability as well.
18
+ #
19
+ # @return [boolean]
20
+ def dynamic_registration
21
+ attributes.fetch(:dynamicRegistration)
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
@@ -0,0 +1,43 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyIncomingCall
5
+ def initialize(from:, from_ranges:)
6
+ @attributes = {}
7
+
8
+ @attributes[:from] = from
9
+ @attributes[:fromRanges] = from_ranges
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # The item that makes the call.
16
+ #
17
+ # @return [CallHierarchyItem]
18
+ def from
19
+ attributes.fetch(:from)
20
+ end
21
+
22
+ #
23
+ # The ranges at which the calls appear. This is relative to the caller
24
+ # denoted by [`this.from`](#CallHierarchyIncomingCall.from).
25
+ #
26
+ # @return [Range[]]
27
+ def from_ranges
28
+ attributes.fetch(:fromRanges)
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,31 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyIncomingCallsParams < PartialResultParams
5
+ def initialize(partial_result_token: nil, item:)
6
+ @attributes = {}
7
+
8
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
9
+ @attributes[:item] = item
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ # @return [CallHierarchyItem]
15
+ def item
16
+ attributes.fetch(:item)
17
+ end
18
+
19
+ attr_reader :attributes
20
+
21
+ def to_hash
22
+ attributes
23
+ end
24
+
25
+ def to_json(*args)
26
+ to_hash.to_json(*args)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,100 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyItem
5
+ def initialize(name:, kind:, tags: nil, detail: nil, uri:, range:, selection_range:, data: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:name] = name
9
+ @attributes[:kind] = kind
10
+ @attributes[:tags] = tags if tags
11
+ @attributes[:detail] = detail if detail
12
+ @attributes[:uri] = uri
13
+ @attributes[:range] = range
14
+ @attributes[:selectionRange] = selection_range
15
+ @attributes[:data] = data if data
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The name of this item.
22
+ #
23
+ # @return [string]
24
+ def name
25
+ attributes.fetch(:name)
26
+ end
27
+
28
+ #
29
+ # The kind of this item.
30
+ #
31
+ # @return [any]
32
+ def kind
33
+ attributes.fetch(:kind)
34
+ end
35
+
36
+ #
37
+ # Tags for this item.
38
+ #
39
+ # @return [1[]]
40
+ def tags
41
+ attributes.fetch(:tags)
42
+ end
43
+
44
+ #
45
+ # More detail for this item, e.g. the signature of a function.
46
+ #
47
+ # @return [string]
48
+ def detail
49
+ attributes.fetch(:detail)
50
+ end
51
+
52
+ #
53
+ # The resource identifier of this item.
54
+ #
55
+ # @return [string]
56
+ def uri
57
+ attributes.fetch(:uri)
58
+ end
59
+
60
+ #
61
+ # The range enclosing this symbol not including leading/trailing whitespace
62
+ # but everything else, e.g. comments and code.
63
+ #
64
+ # @return [Range]
65
+ def range
66
+ attributes.fetch(:range)
67
+ end
68
+
69
+ #
70
+ # The range that should be selected and revealed when this symbol is being
71
+ # picked, e.g. the name of a function. Must be contained by the
72
+ # [`range`](#CallHierarchyItem.range).
73
+ #
74
+ # @return [Range]
75
+ def selection_range
76
+ attributes.fetch(:selectionRange)
77
+ end
78
+
79
+ #
80
+ # A data entry field that is preserved between a call hierarchy prepare and
81
+ # incoming calls or outgoing calls requests.
82
+ #
83
+ # @return [unknown]
84
+ def data
85
+ attributes.fetch(:data)
86
+ end
87
+
88
+ attr_reader :attributes
89
+
90
+ def to_hash
91
+ attributes
92
+ end
93
+
94
+ def to_json(*args)
95
+ to_hash.to_json(*args)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyOptions < 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
@@ -0,0 +1,43 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyOutgoingCall
5
+ def initialize(to:, from_ranges:)
6
+ @attributes = {}
7
+
8
+ @attributes[:to] = to
9
+ @attributes[:fromRanges] = from_ranges
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ #
15
+ # The item that is called.
16
+ #
17
+ # @return [CallHierarchyItem]
18
+ def to
19
+ attributes.fetch(:to)
20
+ end
21
+
22
+ #
23
+ # The range at which this item is called. This is the range relative to
24
+ # the caller, e.g the item passed to `callHierarchy/outgoingCalls` request.
25
+ #
26
+ # @return [Range[]]
27
+ def from_ranges
28
+ attributes.fetch(:fromRanges)
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,31 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyOutgoingCallsParams < PartialResultParams
5
+ def initialize(partial_result_token: nil, item:)
6
+ @attributes = {}
7
+
8
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
9
+ @attributes[:item] = item
10
+
11
+ @attributes.freeze
12
+ end
13
+
14
+ # @return [CallHierarchyItem]
15
+ def item
16
+ attributes.fetch(:item)
17
+ end
18
+
19
+ attr_reader :attributes
20
+
21
+ def to_hash
22
+ attributes
23
+ end
24
+
25
+ def to_json(*args)
26
+ to_hash.to_json(*args)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyPrepareParams < WorkDoneProgressParams
5
+ def initialize(work_done_token: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
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,25 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CallHierarchyRegistrationOptions < StaticRegistrationOptions
5
+ def initialize(id: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:id] = id if id
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