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.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/lib/language_server/protocol/constant/code_action_kind.rb +6 -4
- data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -2
- data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
- data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -2
- data/lib/language_server/protocol/constant/error_codes.rb +26 -3
- data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
- data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
- data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
- data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
- data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
- data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -1
- data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
- data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
- data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -2
- data/lib/language_server/protocol/constant/token_format.rb +9 -0
- data/lib/language_server/protocol/constant.rb +10 -0
- data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
- data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +15 -4
- data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
- data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
- data/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
- data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
- data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
- data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
- data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/change_annotation.rb +57 -0
- data/lib/language_server/protocol/interface/client_capabilities.rb +12 -3
- data/lib/language_server/protocol/interface/code_action.rb +43 -8
- data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +44 -1
- data/lib/language_server/protocol/interface/code_action_context.rb +7 -6
- data/lib/language_server/protocol/interface/code_action_options.rb +19 -4
- data/lib/language_server/protocol/interface/code_action_params.rb +20 -2
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +38 -2
- data/lib/language_server/protocol/interface/code_description.rb +36 -0
- data/lib/language_server/protocol/interface/code_lens.rb +5 -3
- data/lib/language_server/protocol/interface/code_lens_options.rb +6 -1
- data/lib/language_server/protocol/interface/code_lens_params.rb +20 -2
- data/lib/language_server/protocol/interface/code_lens_registration_options.rb +25 -2
- data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
- data/lib/language_server/protocol/interface/color_presentation.rb +7 -6
- data/lib/language_server/protocol/interface/color_presentation_params.rb +20 -2
- data/lib/language_server/protocol/interface/completion_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/completion_context.rb +5 -3
- data/lib/language_server/protocol/interface/completion_item.rb +60 -29
- data/lib/language_server/protocol/interface/completion_list.rb +2 -2
- data/lib/language_server/protocol/interface/completion_options.rb +21 -13
- data/lib/language_server/protocol/interface/completion_params.rb +40 -3
- data/lib/language_server/protocol/interface/completion_registration_options.rb +57 -2
- data/lib/language_server/protocol/interface/create_file.rb +10 -1
- data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
- data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/declaration_options.rb +6 -1
- data/lib/language_server/protocol/interface/declaration_params.rb +38 -2
- data/lib/language_server/protocol/interface/declaration_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/definition_options.rb +6 -1
- data/lib/language_server/protocol/interface/definition_params.rb +38 -2
- data/lib/language_server/protocol/interface/definition_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/delete_file.rb +10 -1
- data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
- data/lib/language_server/protocol/interface/diagnostic.rb +21 -1
- data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
- data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -9
- data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/document_color_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_color_params.rb +20 -2
- data/lib/language_server/protocol/interface/document_color_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/document_filter.rb +7 -3
- data/lib/language_server/protocol/interface/document_formatting_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_formatting_params.rb +9 -1
- data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
- data/lib/language_server/protocol/interface/document_highlight_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_highlight_params.rb +38 -2
- data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_link.rb +6 -5
- data/lib/language_server/protocol/interface/document_link_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_link_params.rb +20 -2
- data/lib/language_server/protocol/interface/document_link_registration_options.rb +25 -2
- data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +17 -1
- data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +28 -2
- data/lib/language_server/protocol/interface/document_range_formatting_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_range_formatting_params.rb +9 -1
- data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_symbol.rb +23 -11
- data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +24 -2
- data/lib/language_server/protocol/interface/document_symbol_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -2
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/execute_command_options.rb +6 -1
- data/lib/language_server/protocol/interface/execute_command_params.rb +9 -1
- data/lib/language_server/protocol/interface/execute_command_registration_options.rb +14 -1
- data/lib/language_server/protocol/interface/file_create.rb +36 -0
- data/lib/language_server/protocol/interface/file_delete.rb +36 -0
- data/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
- data/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
- data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
- data/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
- data/lib/language_server/protocol/interface/file_rename.rb +45 -0
- data/lib/language_server/protocol/interface/file_system_watcher.rb +7 -3
- data/lib/language_server/protocol/interface/folding_range.rb +17 -8
- data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +10 -7
- data/lib/language_server/protocol/interface/folding_range_options.rb +6 -1
- data/lib/language_server/protocol/interface/folding_range_params.rb +20 -2
- data/lib/language_server/protocol/interface/folding_range_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/hover.rb +1 -1
- data/lib/language_server/protocol/interface/hover_client_capabilities.rb +3 -2
- data/lib/language_server/protocol/interface/hover_options.rb +6 -1
- data/lib/language_server/protocol/interface/hover_params.rb +28 -2
- data/lib/language_server/protocol/interface/hover_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/implementation_options.rb +6 -1
- data/lib/language_server/protocol/interface/implementation_params.rb +38 -2
- data/lib/language_server/protocol/interface/implementation_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/initialize_params.rb +29 -6
- data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
- data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
- data/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
- data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/linked_editing_ranges.rb +45 -0
- data/lib/language_server/protocol/interface/location_link.rb +9 -7
- data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
- data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
- data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/markup_content.rb +9 -7
- data/lib/language_server/protocol/interface/moniker.rb +64 -0
- data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/moniker_options.rb +30 -0
- data/lib/language_server/protocol/interface/moniker_params.rb +61 -0
- data/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/notification_message.rb +6 -1
- data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
- data/lib/language_server/protocol/interface/parameter_information.rb +7 -5
- data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
- data/lib/language_server/protocol/interface/position.rb +5 -5
- data/lib/language_server/protocol/interface/prepare_rename_params.rb +17 -1
- data/lib/language_server/protocol/interface/progress_params.rb +1 -1
- data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +21 -1
- data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +2 -1
- data/lib/language_server/protocol/interface/reference_options.rb +6 -1
- data/lib/language_server/protocol/interface/reference_params.rb +38 -2
- data/lib/language_server/protocol/interface/reference_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/rename_client_capabilities.rb +27 -1
- data/lib/language_server/protocol/interface/rename_file.rb +10 -1
- data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
- data/lib/language_server/protocol/interface/rename_options.rb +6 -1
- data/lib/language_server/protocol/interface/rename_params.rb +28 -2
- data/lib/language_server/protocol/interface/rename_registration_options.rb +25 -2
- data/lib/language_server/protocol/interface/request_message.rb +6 -1
- data/lib/language_server/protocol/interface/response_message.rb +6 -1
- data/lib/language_server/protocol/interface/selection_range.rb +2 -1
- data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -3
- data/lib/language_server/protocol/interface/selection_range_options.rb +6 -1
- data/lib/language_server/protocol/interface/selection_range_params.rb +20 -2
- data/lib/language_server/protocol/interface/selection_range_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
- data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
- data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
- data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
- data/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
- data/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
- data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
- data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
- data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
- data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
- data/lib/language_server/protocol/interface/server_capabilities.rb +47 -9
- data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
- data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
- data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
- data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
- data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
- data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
- data/lib/language_server/protocol/interface/signature_help.rb +3 -3
- data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/signature_help_context.rb +10 -7
- data/lib/language_server/protocol/interface/signature_help_options.rb +9 -3
- data/lib/language_server/protocol/interface/signature_help_params.rb +31 -4
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +38 -2
- data/lib/language_server/protocol/interface/signature_information.rb +12 -1
- data/lib/language_server/protocol/interface/symbol_information.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +11 -2
- data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +39 -2
- data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
- data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
- data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
- data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_sync_options.rb +13 -15
- data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/type_definition_options.rb +6 -1
- data/lib/language_server/protocol/interface/type_definition_params.rb +38 -2
- data/lib/language_server/protocol/interface/type_definition_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +12 -8
- data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
- data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_report.rb +5 -5
- data/lib/language_server/protocol/interface/workspace_edit.rb +24 -7
- data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +23 -1
- data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +13 -2
- data/lib/language_server/protocol/interface/workspace_symbol_options.rb +6 -1
- data/lib/language_server/protocol/interface/workspace_symbol_params.rb +20 -2
- data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +6 -1
- data/lib/language_server/protocol/interface.rb +112 -0
- data/lib/language_server/protocol/transport/io/reader.rb +8 -24
- data/lib/language_server/protocol/transport/io/writer.rb +1 -0
- data/lib/language_server/protocol/version.rb +1 -1
- metadata +68 -21
@@ -11,9 +11,10 @@ module LanguageServer
|
|
11
11
|
end
|
12
12
|
|
13
13
|
#
|
14
|
-
# Whether implementation supports dynamic registration for selection range
|
15
|
-
#
|
16
|
-
#
|
14
|
+
# Whether implementation supports dynamic registration for selection range
|
15
|
+
# providers. If this is set to `true` the client supports the new
|
16
|
+
# `SelectionRangeRegistrationOptions` return value for the corresponding
|
17
|
+
# server capability as well.
|
17
18
|
#
|
18
19
|
# @return [boolean]
|
19
20
|
def dynamic_registration
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class SelectionRangeOptions
|
4
|
+
class SelectionRangeOptions
|
5
5
|
def initialize(work_done_progress: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
@@ -10,6 +10,11 @@ module LanguageServer
|
|
10
10
|
@attributes.freeze
|
11
11
|
end
|
12
12
|
|
13
|
+
# @return [boolean]
|
14
|
+
def work_done_progress
|
15
|
+
attributes.fetch(:workDoneProgress)
|
16
|
+
end
|
17
|
+
|
13
18
|
attr_reader :attributes
|
14
19
|
|
15
20
|
def to_hash
|
@@ -1,10 +1,11 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class SelectionRangeParams
|
5
|
-
def initialize(partial_result_token: nil, text_document:, positions:)
|
4
|
+
class SelectionRangeParams
|
5
|
+
def initialize(work_done_token: nil, partial_result_token: nil, text_document:, positions:)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
8
9
|
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
9
10
|
@attributes[:textDocument] = text_document
|
10
11
|
@attributes[:positions] = positions
|
@@ -12,6 +13,23 @@ module LanguageServer
|
|
12
13
|
@attributes.freeze
|
13
14
|
end
|
14
15
|
|
16
|
+
#
|
17
|
+
# An optional token that a server can use to report work done progress.
|
18
|
+
#
|
19
|
+
# @return [ProgressToken]
|
20
|
+
def work_done_token
|
21
|
+
attributes.fetch(:workDoneToken)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# An optional token that a server can use to report partial results (e.g.
|
26
|
+
# streaming) to the client.
|
27
|
+
#
|
28
|
+
# @return [ProgressToken]
|
29
|
+
def partial_result_token
|
30
|
+
attributes.fetch(:partialResultToken)
|
31
|
+
end
|
32
|
+
|
15
33
|
#
|
16
34
|
# The text document.
|
17
35
|
#
|
@@ -1,15 +1,40 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class SelectionRangeRegistrationOptions
|
5
|
-
def initialize(id: nil)
|
4
|
+
class SelectionRangeRegistrationOptions
|
5
|
+
def initialize(work_done_progress: nil, document_selector:, id: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
|
+
@attributes[:documentSelector] = document_selector
|
8
10
|
@attributes[:id] = id if id
|
9
11
|
|
10
12
|
@attributes.freeze
|
11
13
|
end
|
12
14
|
|
15
|
+
# @return [boolean]
|
16
|
+
def work_done_progress
|
17
|
+
attributes.fetch(:workDoneProgress)
|
18
|
+
end
|
19
|
+
|
20
|
+
#
|
21
|
+
# A document selector to identify the scope of the registration. If set to
|
22
|
+
# null the document selector provided on the client side will be used.
|
23
|
+
#
|
24
|
+
# @return [DocumentSelector]
|
25
|
+
def document_selector
|
26
|
+
attributes.fetch(:documentSelector)
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# The id used to register the request. The id can be used to deregister
|
31
|
+
# the request again. See also Registration#id.
|
32
|
+
#
|
33
|
+
# @return [string]
|
34
|
+
def id
|
35
|
+
attributes.fetch(:id)
|
36
|
+
end
|
37
|
+
|
13
38
|
attr_reader :attributes
|
14
39
|
|
15
40
|
def to_hash
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokens
|
5
|
+
def initialize(result_id: nil, data:)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:resultId] = result_id if result_id
|
9
|
+
@attributes[:data] = data
|
10
|
+
|
11
|
+
@attributes.freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
#
|
15
|
+
# An optional result id. If provided and clients support delta updating
|
16
|
+
# the client will include the result id in the next semantic token request.
|
17
|
+
# A server can then instead of computing all semantic tokens again simply
|
18
|
+
# send a delta.
|
19
|
+
#
|
20
|
+
# @return [string]
|
21
|
+
def result_id
|
22
|
+
attributes.fetch(:resultId)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# The actual tokens.
|
27
|
+
#
|
28
|
+
# @return [number[]]
|
29
|
+
def data
|
30
|
+
attributes.fetch(:data)
|
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,97 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokensClientCapabilities
|
5
|
+
def initialize(dynamic_registration: nil, requests:, token_types:, token_modifiers:, formats:, overlapping_token_support: nil, multiline_token_support: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
@attributes[:requests] = requests
|
10
|
+
@attributes[:tokenTypes] = token_types
|
11
|
+
@attributes[:tokenModifiers] = token_modifiers
|
12
|
+
@attributes[:formats] = formats
|
13
|
+
@attributes[:overlappingTokenSupport] = overlapping_token_support if overlapping_token_support
|
14
|
+
@attributes[:multilineTokenSupport] = multiline_token_support if multiline_token_support
|
15
|
+
|
16
|
+
@attributes.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Whether implementation supports dynamic registration. If this is set to
|
21
|
+
# `true` the client supports the new `(TextDocumentRegistrationOptions &
|
22
|
+
# StaticRegistrationOptions)` return value for the corresponding server
|
23
|
+
# capability as well.
|
24
|
+
#
|
25
|
+
# @return [boolean]
|
26
|
+
def dynamic_registration
|
27
|
+
attributes.fetch(:dynamicRegistration)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Which requests the client supports and might send to the server
|
32
|
+
# depending on the server's capability. Please note that clients might not
|
33
|
+
# show semantic tokens or degrade some of the user experience if a range
|
34
|
+
# or full request is advertised by the client but not provided by the
|
35
|
+
# server. If for example the client capability `requests.full` and
|
36
|
+
# `request.range` are both set to true but the server only provides a
|
37
|
+
# range provider the client might not render a minimap correctly or might
|
38
|
+
# even decide to not show any semantic tokens at all.
|
39
|
+
#
|
40
|
+
# @return [{ range?: boolean | {}; full?: boolean | { delta?: boolean; }; }]
|
41
|
+
def requests
|
42
|
+
attributes.fetch(:requests)
|
43
|
+
end
|
44
|
+
|
45
|
+
#
|
46
|
+
# The token types that the client supports.
|
47
|
+
#
|
48
|
+
# @return [string[]]
|
49
|
+
def token_types
|
50
|
+
attributes.fetch(:tokenTypes)
|
51
|
+
end
|
52
|
+
|
53
|
+
#
|
54
|
+
# The token modifiers that the client supports.
|
55
|
+
#
|
56
|
+
# @return [string[]]
|
57
|
+
def token_modifiers
|
58
|
+
attributes.fetch(:tokenModifiers)
|
59
|
+
end
|
60
|
+
|
61
|
+
#
|
62
|
+
# The formats the clients supports.
|
63
|
+
#
|
64
|
+
# @return ["relative"[]]
|
65
|
+
def formats
|
66
|
+
attributes.fetch(:formats)
|
67
|
+
end
|
68
|
+
|
69
|
+
#
|
70
|
+
# Whether the client supports tokens that can overlap each other.
|
71
|
+
#
|
72
|
+
# @return [boolean]
|
73
|
+
def overlapping_token_support
|
74
|
+
attributes.fetch(:overlappingTokenSupport)
|
75
|
+
end
|
76
|
+
|
77
|
+
#
|
78
|
+
# Whether the client supports tokens that can span multiple lines.
|
79
|
+
#
|
80
|
+
# @return [boolean]
|
81
|
+
def multiline_token_support
|
82
|
+
attributes.fetch(:multilineTokenSupport)
|
83
|
+
end
|
84
|
+
|
85
|
+
attr_reader :attributes
|
86
|
+
|
87
|
+
def to_hash
|
88
|
+
attributes
|
89
|
+
end
|
90
|
+
|
91
|
+
def to_json(*args)
|
92
|
+
to_hash.to_json(*args)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokensDelta
|
5
|
+
def initialize(result_id: nil, edits:)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:resultId] = result_id if result_id
|
9
|
+
@attributes[:edits] = edits
|
10
|
+
|
11
|
+
@attributes.freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
# @return [string]
|
15
|
+
def result_id
|
16
|
+
attributes.fetch(:resultId)
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# The semantic token edits to transform a previous result into a new
|
21
|
+
# result.
|
22
|
+
#
|
23
|
+
# @return [SemanticTokensEdit[]]
|
24
|
+
def edits
|
25
|
+
attributes.fetch(:edits)
|
26
|
+
end
|
27
|
+
|
28
|
+
attr_reader :attributes
|
29
|
+
|
30
|
+
def to_hash
|
31
|
+
attributes
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_json(*args)
|
35
|
+
to_hash.to_json(*args)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokensDeltaParams
|
5
|
+
def initialize(work_done_token: nil, partial_result_token: nil, text_document:, previous_result_id:)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
9
|
+
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
10
|
+
@attributes[:textDocument] = text_document
|
11
|
+
@attributes[:previousResultId] = previous_result_id
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# An optional token that a server can use to report work done progress.
|
18
|
+
#
|
19
|
+
# @return [ProgressToken]
|
20
|
+
def work_done_token
|
21
|
+
attributes.fetch(:workDoneToken)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# An optional token that a server can use to report partial results (e.g.
|
26
|
+
# streaming) to the client.
|
27
|
+
#
|
28
|
+
# @return [ProgressToken]
|
29
|
+
def partial_result_token
|
30
|
+
attributes.fetch(:partialResultToken)
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# The text document.
|
35
|
+
#
|
36
|
+
# @return [TextDocumentIdentifier]
|
37
|
+
def text_document
|
38
|
+
attributes.fetch(:textDocument)
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# The result id of a previous response. The result Id can either point to
|
43
|
+
# a full response or a delta response depending on what was received last.
|
44
|
+
#
|
45
|
+
# @return [string]
|
46
|
+
def previous_result_id
|
47
|
+
attributes.fetch(:previousResultId)
|
48
|
+
end
|
49
|
+
|
50
|
+
attr_reader :attributes
|
51
|
+
|
52
|
+
def to_hash
|
53
|
+
attributes
|
54
|
+
end
|
55
|
+
|
56
|
+
def to_json(*args)
|
57
|
+
to_hash.to_json(*args)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokensDeltaPartialResult
|
5
|
+
def initialize(edits:)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:edits] = edits
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
# @return [SemanticTokensEdit[]]
|
14
|
+
def edits
|
15
|
+
attributes.fetch(:edits)
|
16
|
+
end
|
17
|
+
|
18
|
+
attr_reader :attributes
|
19
|
+
|
20
|
+
def to_hash
|
21
|
+
attributes
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_json(*args)
|
25
|
+
to_hash.to_json(*args)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokensEdit
|
5
|
+
def initialize(start:, delete_count:, data: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:start] = start
|
9
|
+
@attributes[:deleteCount] = delete_count
|
10
|
+
@attributes[:data] = data if data
|
11
|
+
|
12
|
+
@attributes.freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# The start offset of the edit.
|
17
|
+
#
|
18
|
+
# @return [number]
|
19
|
+
def start
|
20
|
+
attributes.fetch(:start)
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# The count of elements to remove.
|
25
|
+
#
|
26
|
+
# @return [number]
|
27
|
+
def delete_count
|
28
|
+
attributes.fetch(:deleteCount)
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# The elements to insert.
|
33
|
+
#
|
34
|
+
# @return [number[]]
|
35
|
+
def data
|
36
|
+
attributes.fetch(:data)
|
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
|