language_server-protocol 3.14.0.2 → 3.16.0.1
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.rb +18 -0
- data/lib/language_server/protocol/constant/code_action_kind.rb +17 -11
- data/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
- data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
- data/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
- 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 +24 -0
- 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 -1
- data/lib/language_server/protocol/constant/token_format.rb +9 -0
- data/lib/language_server/protocol/interface.rb +270 -6
- data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
- data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +24 -1
- 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 +20 -2
- data/lib/language_server/protocol/interface/code_action.rb +52 -4
- data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +95 -0
- data/lib/language_server/protocol/interface/code_action_context.rb +8 -3
- data/lib/language_server/protocol/interface/code_action_options.rb +19 -6
- data/lib/language_server/protocol/interface/code_action_params.rb +20 -1
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +39 -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_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/code_lens_options.rb +7 -4
- data/lib/language_server/protocol/interface/code_lens_params.rb +20 -1
- data/lib/language_server/protocol/interface/code_lens_registration_options.rb +17 -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 -1
- data/lib/language_server/protocol/interface/completion_client_capabilities.rb +59 -0
- data/lib/language_server/protocol/interface/completion_context.rb +5 -3
- data/lib/language_server/protocol/interface/completion_item.rb +71 -29
- data/lib/language_server/protocol/interface/completion_list.rb +2 -2
- data/lib/language_server/protocol/interface/completion_options.rb +39 -9
- data/lib/language_server/protocol/interface/completion_params.rb +39 -3
- data/lib/language_server/protocol/interface/completion_registration_options.rb +41 -9
- 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 +44 -0
- data/lib/language_server/protocol/interface/declaration_options.rb +30 -0
- data/lib/language_server/protocol/interface/declaration_params.rb +61 -0
- data/lib/language_server/protocol/interface/declaration_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
- data/lib/language_server/protocol/interface/definition_options.rb +30 -0
- data/lib/language_server/protocol/interface/definition_params.rb +61 -0
- data/lib/language_server/protocol/interface/definition_registration_options.rb +40 -0
- 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 +31 -2
- data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
- data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/did_change_text_document_params.rb +13 -3
- data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +35 -0
- data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
- data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_color_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_color_params.rb +52 -0
- data/lib/language_server/protocol/interface/document_color_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/document_filter.rb +7 -3
- data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_formatting_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_formatting_params.rb +10 -1
- data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
- data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_highlight_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_highlight_params.rb +61 -0
- data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_link.rb +17 -3
- data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
- data/lib/language_server/protocol/interface/document_link_options.rb +7 -4
- data/lib/language_server/protocol/interface/document_link_params.rb +20 -1
- data/lib/language_server/protocol/interface/document_link_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +0 -3
- data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +2 -2
- data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +10 -1
- data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_range_formatting_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_range_formatting_params.rb +10 -1
- data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_symbol.rb +108 -0
- data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +73 -0
- data/lib/language_server/protocol/interface/document_symbol_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -1
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/execute_command_options.rb +7 -4
- data/lib/language_server/protocol/interface/execute_command_params.rb +10 -1
- data/lib/language_server/protocol/interface/execute_command_registration_options.rb +7 -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 +58 -0
- data/lib/language_server/protocol/interface/folding_range_options.rb +30 -0
- data/lib/language_server/protocol/interface/folding_range_params.rb +20 -1
- data/lib/language_server/protocol/interface/folding_range_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/formatting_options.rb +28 -1
- data/lib/language_server/protocol/interface/hover.rb +1 -1
- data/lib/language_server/protocol/interface/hover_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/hover_options.rb +30 -0
- data/lib/language_server/protocol/interface/hover_params.rb +51 -0
- data/lib/language_server/protocol/interface/hover_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/implementation_options.rb +30 -0
- data/lib/language_server/protocol/interface/implementation_params.rb +61 -0
- data/lib/language_server/protocol/interface/implementation_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/initialize_params.rb +38 -7
- data/lib/language_server/protocol/interface/initialize_result.rb +10 -1
- 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 +11 -6
- 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 +7 -2
- 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 +34 -0
- data/lib/language_server/protocol/interface/position.rb +5 -5
- data/lib/language_server/protocol/interface/prepare_rename_params.rb +42 -0
- data/lib/language_server/protocol/interface/progress_params.rb +42 -0
- data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +73 -0
- data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +11 -1
- data/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/reference_options.rb +30 -0
- data/lib/language_server/protocol/interface/reference_params.rb +37 -2
- data/lib/language_server/protocol/interface/reference_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/rename_client_capabilities.rb +69 -0
- 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 +7 -4
- data/lib/language_server/protocol/interface/rename_params.rb +12 -3
- data/lib/language_server/protocol/interface/rename_registration_options.rb +18 -3
- data/lib/language_server/protocol/interface/request_message.rb +7 -2
- data/lib/language_server/protocol/interface/response_error.rb +2 -2
- data/lib/language_server/protocol/interface/response_message.rb +10 -5
- data/lib/language_server/protocol/interface/save_options.rb +0 -3
- data/lib/language_server/protocol/interface/selection_range.rb +43 -0
- data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/selection_range_options.rb +30 -0
- data/lib/language_server/protocol/interface/selection_range_params.rb +61 -0
- data/lib/language_server/protocol/interface/selection_range_registration_options.rb +50 -0
- 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/{folding_range_provider_options.rb → semantic_tokens_delta_partial_result.rb} +8 -5
- 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/{color_provider_options.rb → semantic_tokens_partial_result.rb} +8 -5
- 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 +108 -60
- 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 +7 -4
- data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
- data/lib/language_server/protocol/interface/signature_help_context.rb +74 -0
- data/lib/language_server/protocol/interface/signature_help_options.rb +20 -4
- data/lib/language_server/protocol/interface/signature_help_params.rb +62 -0
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +30 -2
- data/lib/language_server/protocol/interface/signature_information.rb +12 -1
- data/lib/language_server/protocol/interface/symbol_information.rb +11 -2
- 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 +123 -86
- data/lib/language_server/protocol/interface/text_document_content_change_event.rb +10 -6
- data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
- data/lib/language_server/protocol/interface/text_document_registration_options.rb +6 -3
- data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
- data/lib/language_server/protocol/interface/text_document_sync_options.rb +14 -8
- data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/type_definition_options.rb +30 -0
- data/lib/language_server/protocol/interface/type_definition_params.rb +61 -0
- data/lib/language_server/protocol/interface/type_definition_registration_options.rb +50 -0
- 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 +80 -0
- data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
- data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
- data/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
- data/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
- data/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
- data/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
- data/lib/language_server/protocol/interface/workspace_edit.rb +25 -8
- data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +75 -0
- data/lib/language_server/protocol/interface/workspace_folder.rb +2 -2
- data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
- data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +53 -0
- data/lib/language_server/protocol/interface/workspace_symbol_options.rb +30 -0
- data/lib/language_server/protocol/interface/workspace_symbol_params.rb +22 -2
- data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +30 -0
- data/lib/language_server/protocol/transport/io/reader.rb +1 -1
- data/lib/language_server/protocol/version.rb +1 -1
- metadata +154 -15
- data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
@@ -0,0 +1,39 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SemanticTokensWorkspaceClientCapabilities
|
5
|
+
def initialize(refresh_support: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:refreshSupport] = refresh_support if refresh_support
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
#
|
14
|
+
# Whether the client implementation supports a refresh request sent from
|
15
|
+
# the server to the client.
|
16
|
+
#
|
17
|
+
# Note that this event is global and will force the client to refresh all
|
18
|
+
# semantic tokens currently shown. It should be used with absolute care
|
19
|
+
# and is useful for situation where a server for example detect a project
|
20
|
+
# wide change that requires such a calculation.
|
21
|
+
#
|
22
|
+
# @return [boolean]
|
23
|
+
def refresh_support
|
24
|
+
attributes.fetch(:refreshSupport)
|
25
|
+
end
|
26
|
+
|
27
|
+
attr_reader :attributes
|
28
|
+
|
29
|
+
def to_hash
|
30
|
+
attributes
|
31
|
+
end
|
32
|
+
|
33
|
+
def to_json(*args)
|
34
|
+
to_hash.to_json(*args)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -2,30 +2,36 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class ServerCapabilities
|
5
|
-
def initialize(text_document_sync: nil,
|
5
|
+
def initialize(text_document_sync: nil, completion_provider: nil, hover_provider: nil, signature_help_provider: nil, declaration_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_link_provider: nil, color_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, folding_range_provider: nil, execute_command_provider: nil, selection_range_provider: nil, linked_editing_range_provider: nil, call_hierarchy_provider: nil, semantic_tokens_provider: nil, moniker_provider: nil, workspace_symbol_provider: nil, workspace: nil, experimental: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:textDocumentSync] = text_document_sync if text_document_sync
|
9
|
-
@attributes[:hoverProvider] = hover_provider if hover_provider
|
10
9
|
@attributes[:completionProvider] = completion_provider if completion_provider
|
10
|
+
@attributes[:hoverProvider] = hover_provider if hover_provider
|
11
11
|
@attributes[:signatureHelpProvider] = signature_help_provider if signature_help_provider
|
12
|
+
@attributes[:declarationProvider] = declaration_provider if declaration_provider
|
12
13
|
@attributes[:definitionProvider] = definition_provider if definition_provider
|
13
14
|
@attributes[:typeDefinitionProvider] = type_definition_provider if type_definition_provider
|
14
15
|
@attributes[:implementationProvider] = implementation_provider if implementation_provider
|
15
16
|
@attributes[:referencesProvider] = references_provider if references_provider
|
16
17
|
@attributes[:documentHighlightProvider] = document_highlight_provider if document_highlight_provider
|
17
18
|
@attributes[:documentSymbolProvider] = document_symbol_provider if document_symbol_provider
|
18
|
-
@attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
|
19
19
|
@attributes[:codeActionProvider] = code_action_provider if code_action_provider
|
20
20
|
@attributes[:codeLensProvider] = code_lens_provider if code_lens_provider
|
21
|
+
@attributes[:documentLinkProvider] = document_link_provider if document_link_provider
|
22
|
+
@attributes[:colorProvider] = color_provider if color_provider
|
21
23
|
@attributes[:documentFormattingProvider] = document_formatting_provider if document_formatting_provider
|
22
24
|
@attributes[:documentRangeFormattingProvider] = document_range_formatting_provider if document_range_formatting_provider
|
23
25
|
@attributes[:documentOnTypeFormattingProvider] = document_on_type_formatting_provider if document_on_type_formatting_provider
|
24
26
|
@attributes[:renameProvider] = rename_provider if rename_provider
|
25
|
-
@attributes[:documentLinkProvider] = document_link_provider if document_link_provider
|
26
|
-
@attributes[:colorProvider] = color_provider if color_provider
|
27
27
|
@attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
|
28
28
|
@attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
|
29
|
+
@attributes[:selectionRangeProvider] = selection_range_provider if selection_range_provider
|
30
|
+
@attributes[:linkedEditingRangeProvider] = linked_editing_range_provider if linked_editing_range_provider
|
31
|
+
@attributes[:callHierarchyProvider] = call_hierarchy_provider if call_hierarchy_provider
|
32
|
+
@attributes[:semanticTokensProvider] = semantic_tokens_provider if semantic_tokens_provider
|
33
|
+
@attributes[:monikerProvider] = moniker_provider if moniker_provider
|
34
|
+
@attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
|
29
35
|
@attributes[:workspace] = workspace if workspace
|
30
36
|
@attributes[:experimental] = experimental if experimental
|
31
37
|
|
@@ -33,22 +39,16 @@ module LanguageServer
|
|
33
39
|
end
|
34
40
|
|
35
41
|
#
|
36
|
-
# Defines how text documents are synced. Is either a detailed structure
|
37
|
-
# for backwards compatibility the
|
42
|
+
# Defines how text documents are synced. Is either a detailed structure
|
43
|
+
# defining each notification or for backwards compatibility the
|
44
|
+
# TextDocumentSyncKind number. If omitted it defaults to
|
45
|
+
# `TextDocumentSyncKind.None`.
|
38
46
|
#
|
39
|
-
# @return [
|
47
|
+
# @return [TextDocumentSyncOptions | TextDocumentSyncKind]
|
40
48
|
def text_document_sync
|
41
49
|
attributes.fetch(:textDocumentSync)
|
42
50
|
end
|
43
51
|
|
44
|
-
#
|
45
|
-
# The server provides hover support.
|
46
|
-
#
|
47
|
-
# @return [boolean]
|
48
|
-
def hover_provider
|
49
|
-
attributes.fetch(:hoverProvider)
|
50
|
-
end
|
51
|
-
|
52
52
|
#
|
53
53
|
# The server provides completion support.
|
54
54
|
#
|
@@ -57,6 +57,14 @@ module LanguageServer
|
|
57
57
|
attributes.fetch(:completionProvider)
|
58
58
|
end
|
59
59
|
|
60
|
+
#
|
61
|
+
# The server provides hover support.
|
62
|
+
#
|
63
|
+
# @return [boolean | HoverOptions]
|
64
|
+
def hover_provider
|
65
|
+
attributes.fetch(:hoverProvider)
|
66
|
+
end
|
67
|
+
|
60
68
|
#
|
61
69
|
# The server provides signature help support.
|
62
70
|
#
|
@@ -65,30 +73,34 @@ module LanguageServer
|
|
65
73
|
attributes.fetch(:signatureHelpProvider)
|
66
74
|
end
|
67
75
|
|
76
|
+
#
|
77
|
+
# The server provides go to declaration support.
|
78
|
+
#
|
79
|
+
# @return [boolean | DeclarationOptions | DeclarationRegistrationOptions]
|
80
|
+
def declaration_provider
|
81
|
+
attributes.fetch(:declarationProvider)
|
82
|
+
end
|
83
|
+
|
68
84
|
#
|
69
85
|
# The server provides goto definition support.
|
70
86
|
#
|
71
|
-
# @return [boolean]
|
87
|
+
# @return [boolean | DefinitionOptions]
|
72
88
|
def definition_provider
|
73
89
|
attributes.fetch(:definitionProvider)
|
74
90
|
end
|
75
91
|
|
76
92
|
#
|
77
|
-
# The server provides
|
78
|
-
#
|
79
|
-
# Since 3.6.0
|
93
|
+
# The server provides goto type definition support.
|
80
94
|
#
|
81
|
-
# @return [boolean |
|
95
|
+
# @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]
|
82
96
|
def type_definition_provider
|
83
97
|
attributes.fetch(:typeDefinitionProvider)
|
84
98
|
end
|
85
99
|
|
86
100
|
#
|
87
|
-
# The server provides
|
88
|
-
#
|
89
|
-
# Since 3.6.0
|
101
|
+
# The server provides goto implementation support.
|
90
102
|
#
|
91
|
-
# @return [boolean |
|
103
|
+
# @return [boolean | ImplementationOptions | ImplementationRegistrationOptions]
|
92
104
|
def implementation_provider
|
93
105
|
attributes.fetch(:implementationProvider)
|
94
106
|
end
|
@@ -96,7 +108,7 @@ module LanguageServer
|
|
96
108
|
#
|
97
109
|
# The server provides find references support.
|
98
110
|
#
|
99
|
-
# @return [boolean]
|
111
|
+
# @return [boolean | ReferenceOptions]
|
100
112
|
def references_provider
|
101
113
|
attributes.fetch(:referencesProvider)
|
102
114
|
end
|
@@ -104,7 +116,7 @@ module LanguageServer
|
|
104
116
|
#
|
105
117
|
# The server provides document highlight support.
|
106
118
|
#
|
107
|
-
# @return [boolean]
|
119
|
+
# @return [boolean | DocumentHighlightOptions]
|
108
120
|
def document_highlight_provider
|
109
121
|
attributes.fetch(:documentHighlightProvider)
|
110
122
|
end
|
@@ -112,23 +124,15 @@ module LanguageServer
|
|
112
124
|
#
|
113
125
|
# The server provides document symbol support.
|
114
126
|
#
|
115
|
-
# @return [boolean]
|
127
|
+
# @return [boolean | DocumentSymbolOptions]
|
116
128
|
def document_symbol_provider
|
117
129
|
attributes.fetch(:documentSymbolProvider)
|
118
130
|
end
|
119
131
|
|
120
132
|
#
|
121
|
-
# The server provides
|
122
|
-
#
|
123
|
-
#
|
124
|
-
def workspace_symbol_provider
|
125
|
-
attributes.fetch(:workspaceSymbolProvider)
|
126
|
-
end
|
127
|
-
|
128
|
-
#
|
129
|
-
# The server provides code actions. The `CodeActionOptions` return type is only
|
130
|
-
# valid if the client signals code action literal support via the property
|
131
|
-
# `textDocument.codeAction.codeActionLiteralSupport`.
|
133
|
+
# The server provides code actions. The `CodeActionOptions` return type is
|
134
|
+
# only valid if the client signals code action literal support via the
|
135
|
+
# property `textDocument.codeAction.codeActionLiteralSupport`.
|
132
136
|
#
|
133
137
|
# @return [boolean | CodeActionOptions]
|
134
138
|
def code_action_provider
|
@@ -143,10 +147,26 @@ module LanguageServer
|
|
143
147
|
attributes.fetch(:codeLensProvider)
|
144
148
|
end
|
145
149
|
|
150
|
+
#
|
151
|
+
# The server provides document link support.
|
152
|
+
#
|
153
|
+
# @return [DocumentLinkOptions]
|
154
|
+
def document_link_provider
|
155
|
+
attributes.fetch(:documentLinkProvider)
|
156
|
+
end
|
157
|
+
|
158
|
+
#
|
159
|
+
# The server provides color provider support.
|
160
|
+
#
|
161
|
+
# @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]
|
162
|
+
def color_provider
|
163
|
+
attributes.fetch(:colorProvider)
|
164
|
+
end
|
165
|
+
|
146
166
|
#
|
147
167
|
# The server provides document formatting.
|
148
168
|
#
|
149
|
-
# @return [boolean]
|
169
|
+
# @return [boolean | DocumentFormattingOptions]
|
150
170
|
def document_formatting_provider
|
151
171
|
attributes.fetch(:documentFormattingProvider)
|
152
172
|
end
|
@@ -154,7 +174,7 @@ module LanguageServer
|
|
154
174
|
#
|
155
175
|
# The server provides document range formatting.
|
156
176
|
#
|
157
|
-
# @return [boolean]
|
177
|
+
# @return [boolean | DocumentRangeFormattingOptions]
|
158
178
|
def document_range_formatting_provider
|
159
179
|
attributes.fetch(:documentRangeFormattingProvider)
|
160
180
|
end
|
@@ -178,45 +198,73 @@ module LanguageServer
|
|
178
198
|
end
|
179
199
|
|
180
200
|
#
|
181
|
-
# The server provides
|
201
|
+
# The server provides folding provider support.
|
182
202
|
#
|
183
|
-
# @return [
|
184
|
-
def
|
185
|
-
attributes.fetch(:
|
203
|
+
# @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]
|
204
|
+
def folding_range_provider
|
205
|
+
attributes.fetch(:foldingRangeProvider)
|
186
206
|
end
|
187
207
|
|
188
208
|
#
|
189
|
-
# The server provides
|
209
|
+
# The server provides execute command support.
|
190
210
|
#
|
191
|
-
#
|
211
|
+
# @return [ExecuteCommandOptions]
|
212
|
+
def execute_command_provider
|
213
|
+
attributes.fetch(:executeCommandProvider)
|
214
|
+
end
|
215
|
+
|
192
216
|
#
|
193
|
-
#
|
194
|
-
|
195
|
-
|
217
|
+
# The server provides selection range support.
|
218
|
+
#
|
219
|
+
# @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]
|
220
|
+
def selection_range_provider
|
221
|
+
attributes.fetch(:selectionRangeProvider)
|
196
222
|
end
|
197
223
|
|
198
224
|
#
|
199
|
-
# The server provides
|
225
|
+
# The server provides linked editing range support.
|
200
226
|
#
|
201
|
-
#
|
227
|
+
# @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions]
|
228
|
+
def linked_editing_range_provider
|
229
|
+
attributes.fetch(:linkedEditingRangeProvider)
|
230
|
+
end
|
231
|
+
|
202
232
|
#
|
203
|
-
#
|
204
|
-
|
205
|
-
|
233
|
+
# The server provides call hierarchy support.
|
234
|
+
#
|
235
|
+
# @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions]
|
236
|
+
def call_hierarchy_provider
|
237
|
+
attributes.fetch(:callHierarchyProvider)
|
206
238
|
end
|
207
239
|
|
208
240
|
#
|
209
|
-
# The server provides
|
241
|
+
# The server provides semantic tokens support.
|
210
242
|
#
|
211
|
-
# @return [
|
212
|
-
def
|
213
|
-
attributes.fetch(:
|
243
|
+
# @return [SemanticTokensOptions | SemanticTokensRegistrationOptions]
|
244
|
+
def semantic_tokens_provider
|
245
|
+
attributes.fetch(:semanticTokensProvider)
|
246
|
+
end
|
247
|
+
|
248
|
+
#
|
249
|
+
# Whether server provides moniker support.
|
250
|
+
#
|
251
|
+
# @return [boolean | MonikerOptions | MonikerRegistrationOptions]
|
252
|
+
def moniker_provider
|
253
|
+
attributes.fetch(:monikerProvider)
|
254
|
+
end
|
255
|
+
|
256
|
+
#
|
257
|
+
# The server provides workspace symbol support.
|
258
|
+
#
|
259
|
+
# @return [boolean | WorkspaceSymbolOptions]
|
260
|
+
def workspace_symbol_provider
|
261
|
+
attributes.fetch(:workspaceSymbolProvider)
|
214
262
|
end
|
215
263
|
|
216
264
|
#
|
217
265
|
# Workspace specific server capabilities
|
218
266
|
#
|
219
|
-
# @return [{ workspaceFolders?: {
|
267
|
+
# @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; ... 4 more ...; willDelete?: FileOperationRegistrationOptions; }; }]
|
220
268
|
def workspace
|
221
269
|
attributes.fetch(:workspace)
|
222
270
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SetTraceParams
|
5
|
+
def initialize(value:)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:value] = value
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
#
|
14
|
+
# The new value that should be assigned to the trace setting.
|
15
|
+
#
|
16
|
+
# @return [TraceValue]
|
17
|
+
def value
|
18
|
+
attributes.fetch(:value)
|
19
|
+
end
|
20
|
+
|
21
|
+
attr_reader :attributes
|
22
|
+
|
23
|
+
def to_hash
|
24
|
+
attributes
|
25
|
+
end
|
26
|
+
|
27
|
+
def to_json(*args)
|
28
|
+
to_hash.to_json(*args)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Client capabilities for the show document request.
|
6
|
+
#
|
7
|
+
class ShowDocumentClientCapabilities
|
8
|
+
def initialize(support:)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:support] = support
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# The client has support for the show document
|
18
|
+
# request.
|
19
|
+
#
|
20
|
+
# @return [boolean]
|
21
|
+
def support
|
22
|
+
attributes.fetch(:support)
|
23
|
+
end
|
24
|
+
|
25
|
+
attr_reader :attributes
|
26
|
+
|
27
|
+
def to_hash
|
28
|
+
attributes
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_json(*args)
|
32
|
+
to_hash.to_json(*args)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Params to show a document.
|
6
|
+
#
|
7
|
+
class ShowDocumentParams
|
8
|
+
def initialize(uri:, external: nil, take_focus: nil, selection: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:uri] = uri
|
12
|
+
@attributes[:external] = external if external
|
13
|
+
@attributes[:takeFocus] = take_focus if take_focus
|
14
|
+
@attributes[:selection] = selection if selection
|
15
|
+
|
16
|
+
@attributes.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# The document uri to show.
|
21
|
+
#
|
22
|
+
# @return [string]
|
23
|
+
def uri
|
24
|
+
attributes.fetch(:uri)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Indicates to show the resource in an external program.
|
29
|
+
# To show for example `https://code.visualstudio.com/`
|
30
|
+
# in the default WEB browser set `external` to `true`.
|
31
|
+
#
|
32
|
+
# @return [boolean]
|
33
|
+
def external
|
34
|
+
attributes.fetch(:external)
|
35
|
+
end
|
36
|
+
|
37
|
+
#
|
38
|
+
# An optional property to indicate whether the editor
|
39
|
+
# showing the document should take focus or not.
|
40
|
+
# Clients might ignore this property if an external
|
41
|
+
# program is started.
|
42
|
+
#
|
43
|
+
# @return [boolean]
|
44
|
+
def take_focus
|
45
|
+
attributes.fetch(:takeFocus)
|
46
|
+
end
|
47
|
+
|
48
|
+
#
|
49
|
+
# An optional selection range if the document is a text
|
50
|
+
# document. Clients might ignore the property if an
|
51
|
+
# external program is started or the file is not a text
|
52
|
+
# file.
|
53
|
+
#
|
54
|
+
# @return [Range]
|
55
|
+
def selection
|
56
|
+
attributes.fetch(:selection)
|
57
|
+
end
|
58
|
+
|
59
|
+
attr_reader :attributes
|
60
|
+
|
61
|
+
def to_hash
|
62
|
+
attributes
|
63
|
+
end
|
64
|
+
|
65
|
+
def to_json(*args)
|
66
|
+
to_hash.to_json(*args)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|