language_server-protocol 3.14.0.1 → 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.
- checksums.yaml +4 -4
- data/README.md +10 -2
- 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 +38 -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 +31 -0
- data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
- data/lib/language_server/protocol/interface/call_hierarchy_options.rb +25 -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 +31 -0
- data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +25 -0
- data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +25 -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 +15 -7
- data/lib/language_server/protocol/interface/code_action_params.rb +3 -2
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +4 -1
- 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 +3 -5
- data/lib/language_server/protocol/interface/code_lens_params.rb +3 -2
- data/lib/language_server/protocol/interface/code_lens_registration_options.rb +3 -10
- 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 +3 -2
- 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 +36 -11
- data/lib/language_server/protocol/interface/completion_params.rb +5 -3
- data/lib/language_server/protocol/interface/completion_registration_options.rb +4 -26
- 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 +25 -0
- data/lib/language_server/protocol/interface/declaration_params.rb +25 -0
- data/lib/language_server/protocol/interface/{folding_range_provider_options.rb → declaration_registration_options.rb} +3 -5
- data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
- data/lib/language_server/protocol/interface/definition_options.rb +25 -0
- data/lib/language_server/protocol/interface/definition_params.rb +25 -0
- data/lib/language_server/protocol/interface/definition_registration_options.rb +25 -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 +25 -0
- data/lib/language_server/protocol/interface/document_color_params.rb +34 -0
- data/lib/language_server/protocol/interface/document_color_registration_options.rb +25 -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 +25 -0
- data/lib/language_server/protocol/interface/document_formatting_params.rb +3 -2
- data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +25 -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 +25 -0
- data/lib/language_server/protocol/interface/document_highlight_params.rb +25 -0
- data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +25 -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 +3 -5
- data/lib/language_server/protocol/interface/document_link_params.rb +3 -2
- data/lib/language_server/protocol/interface/document_link_registration_options.rb +3 -10
- 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 +1 -17
- data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +2 -18
- 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 +25 -0
- data/lib/language_server/protocol/interface/document_range_formatting_params.rb +3 -2
- data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +25 -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 +35 -0
- data/lib/language_server/protocol/interface/document_symbol_params.rb +3 -2
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +26 -0
- data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/execute_command_options.rb +3 -5
- data/lib/language_server/protocol/interface/execute_command_params.rb +3 -2
- data/lib/language_server/protocol/interface/execute_command_registration_options.rb +3 -10
- 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 +25 -0
- data/lib/language_server/protocol/interface/folding_range_params.rb +3 -2
- data/lib/language_server/protocol/interface/{color_provider_options.rb → folding_range_registration_options.rb} +3 -5
- 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 +25 -0
- data/lib/language_server/protocol/interface/hover_params.rb +25 -0
- data/lib/language_server/protocol/interface/hover_registration_options.rb +25 -0
- data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/implementation_options.rb +25 -0
- data/lib/language_server/protocol/interface/implementation_params.rb +25 -0
- data/lib/language_server/protocol/interface/implementation_registration_options.rb +25 -0
- data/lib/language_server/protocol/interface/initialize_params.rb +31 -8
- 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 +25 -0
- data/lib/language_server/protocol/interface/linked_editing_range_params.rb +25 -0
- data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +25 -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 +25 -0
- data/lib/language_server/protocol/interface/moniker_params.rb +25 -0
- data/lib/language_server/protocol/interface/moniker_registration_options.rb +25 -0
- data/lib/language_server/protocol/interface/notification_message.rb +2 -1
- data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +42 -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 +26 -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 +25 -0
- data/lib/language_server/protocol/interface/reference_params.rb +3 -2
- data/lib/language_server/protocol/interface/reference_registration_options.rb +25 -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 +3 -5
- data/lib/language_server/protocol/interface/rename_params.rb +3 -20
- data/lib/language_server/protocol/interface/rename_registration_options.rb +3 -10
- data/lib/language_server/protocol/interface/request_message.rb +2 -1
- data/lib/language_server/protocol/interface/response_error.rb +2 -2
- data/lib/language_server/protocol/interface/response_message.rb +5 -4
- 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 +25 -0
- data/lib/language_server/protocol/interface/selection_range_params.rb +43 -0
- data/lib/language_server/protocol/interface/selection_range_registration_options.rb +25 -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 +44 -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 +53 -0
- data/lib/language_server/protocol/interface/semantic_tokens_params.rb +34 -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 +43 -0
- data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +25 -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 +16 -5
- data/lib/language_server/protocol/interface/signature_help_params.rb +36 -0
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +4 -11
- 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 +2 -1
- 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 +1 -0
- 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 +25 -0
- data/lib/language_server/protocol/interface/type_definition_params.rb +25 -0
- data/lib/language_server/protocol/interface/type_definition_registration_options.rb +25 -0
- data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +4 -7
- 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 +25 -0
- data/lib/language_server/protocol/interface/workspace_symbol_params.rb +5 -3
- data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +25 -0
- data/lib/language_server/protocol/transport/io/reader.rb +1 -1
- data/lib/language_server/protocol/version.rb +1 -1
- metadata +154 -35
- data/.gitignore +0 -10
- data/.travis.yml +0 -5
- data/CHANGELOG.md +0 -26
- data/CODE_OF_CONDUCT.md +0 -74
- data/Dockerfile-node.development +0 -6
- data/Dockerfile.development +0 -24
- data/Gemfile +0 -6
- data/Rakefile +0 -10
- data/bin/console +0 -14
- data/bin/generate_files +0 -5
- data/bin/m +0 -17
- data/bin/setup +0 -6
- data/circle.yml +0 -40
- data/docker-compose.ci.yml +0 -14
- data/docker-compose.override.yml +0 -16
- data/docker-compose.yml +0 -33
- data/language_server-protocol.gemspec +0 -33
- data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
- data/package.json +0 -10
- data/scripts/generateFiles.ts +0 -320
- data/yarn.lock +0 -293
@@ -0,0 +1,33 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class CodeLensClientCapabilities
|
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 code lens 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,13 +1,11 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
|
5
|
-
|
6
|
-
#
|
7
|
-
class CodeLensOptions
|
8
|
-
def initialize(resolve_provider: nil)
|
4
|
+
class CodeLensOptions < WorkDoneProgressOptions
|
5
|
+
def initialize(work_done_progress: nil, resolve_provider: nil)
|
9
6
|
@attributes = {}
|
10
7
|
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
11
9
|
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
12
10
|
|
13
11
|
@attributes.freeze
|
@@ -1,10 +1,11 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CodeLensParams
|
5
|
-
def initialize(text_document:)
|
4
|
+
class CodeLensParams < 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
|
@@ -1,23 +1,16 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CodeLensRegistrationOptions <
|
5
|
-
def initialize(
|
4
|
+
class CodeLensRegistrationOptions < CodeLensOptions
|
5
|
+
def initialize(work_done_progress: nil, resolve_provider: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
8
9
|
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
9
10
|
|
10
11
|
@attributes.freeze
|
11
12
|
end
|
12
13
|
|
13
|
-
#
|
14
|
-
# Code lens has a resolve provider as well.
|
15
|
-
#
|
16
|
-
# @return [boolean]
|
17
|
-
def resolve_provider
|
18
|
-
attributes.fetch(:resolveProvider)
|
19
|
-
end
|
20
|
-
|
21
14
|
attr_reader :attributes
|
22
15
|
|
23
16
|
def to_hash
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class CodeLensWorkspaceClientCapabilities
|
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 the
|
15
|
+
# server to the client.
|
16
|
+
#
|
17
|
+
# Note that this event is global and will force the client to refresh all
|
18
|
+
# code lenses currently shown. It should be used with absolute care and is
|
19
|
+
# useful for situation where a server for example detect a project wide
|
20
|
+
# 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
|
@@ -14,8 +14,8 @@ module LanguageServer
|
|
14
14
|
|
15
15
|
#
|
16
16
|
# The label of this color presentation. It will be shown on the color
|
17
|
-
# picker header. By default this is also the text that is inserted when
|
18
|
-
# this color presentation.
|
17
|
+
# picker header. By default this is also the text that is inserted when
|
18
|
+
# selecting this color presentation.
|
19
19
|
#
|
20
20
|
# @return [string]
|
21
21
|
def label
|
@@ -24,8 +24,8 @@ module LanguageServer
|
|
24
24
|
|
25
25
|
#
|
26
26
|
# An [edit](#TextEdit) which is applied to a document when selecting
|
27
|
-
# this presentation for the color. When `falsy` the
|
28
|
-
# is used.
|
27
|
+
# this presentation for the color. When `falsy` the
|
28
|
+
# [label](#ColorPresentation.label) is used.
|
29
29
|
#
|
30
30
|
# @return [TextEdit]
|
31
31
|
def text_edit
|
@@ -33,8 +33,9 @@ module LanguageServer
|
|
33
33
|
end
|
34
34
|
|
35
35
|
#
|
36
|
-
# An optional array of additional [text edits](#TextEdit) that are applied
|
37
|
-
# selecting this color presentation. Edits must not overlap with the
|
36
|
+
# An optional array of additional [text edits](#TextEdit) that are applied
|
37
|
+
# when selecting this color presentation. Edits must not overlap with the
|
38
|
+
# main [edit](#ColorPresentation.textEdit) nor with themselves.
|
38
39
|
#
|
39
40
|
# @return [TextEdit[]]
|
40
41
|
def additional_text_edits
|
@@ -1,10 +1,11 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class ColorPresentationParams
|
5
|
-
def initialize(text_document:, color:, range:)
|
4
|
+
class ColorPresentationParams < PartialResultParams
|
5
|
+
def initialize(partial_result_token: nil, text_document:, color:, range:)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
8
9
|
@attributes[:textDocument] = text_document
|
9
10
|
@attributes[:color] = color
|
10
11
|
@attributes[:range] = range
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class CompletionClientCapabilities
|
5
|
+
def initialize(dynamic_registration: nil, completion_item: nil, completion_item_kind: nil, context_support: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
@attributes[:completionItem] = completion_item if completion_item
|
10
|
+
@attributes[:completionItemKind] = completion_item_kind if completion_item_kind
|
11
|
+
@attributes[:contextSupport] = context_support if context_support
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# Whether completion supports dynamic registration.
|
18
|
+
#
|
19
|
+
# @return [boolean]
|
20
|
+
def dynamic_registration
|
21
|
+
attributes.fetch(:dynamicRegistration)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# The client supports the following `CompletionItem` specific
|
26
|
+
# capabilities.
|
27
|
+
#
|
28
|
+
# @return [{ snippetSupport?: boolean; commitCharactersSupport?: boolean; documentationFormat?: MarkupKind[]; deprecatedSupport?: boolean; preselectSupport?: boolean; tagSupport?: { valueSet: 1[]; }; insertReplaceSupport?: boolean; resolveSupport?: { ...; }; insertTextModeSupport?: { ...; }; }]
|
29
|
+
def completion_item
|
30
|
+
attributes.fetch(:completionItem)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @return [{ valueSet?: any[]; }]
|
34
|
+
def completion_item_kind
|
35
|
+
attributes.fetch(:completionItemKind)
|
36
|
+
end
|
37
|
+
|
38
|
+
#
|
39
|
+
# The client supports to send additional context information for a
|
40
|
+
# `textDocument/completion` request.
|
41
|
+
#
|
42
|
+
# @return [boolean]
|
43
|
+
def context_support
|
44
|
+
attributes.fetch(:contextSupport)
|
45
|
+
end
|
46
|
+
|
47
|
+
attr_reader :attributes
|
48
|
+
|
49
|
+
def to_hash
|
50
|
+
attributes
|
51
|
+
end
|
52
|
+
|
53
|
+
def to_json(*args)
|
54
|
+
to_hash.to_json(*args)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -2,7 +2,8 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
# Contains additional information about the context in which a completion
|
5
|
+
# Contains additional information about the context in which a completion
|
6
|
+
# request is triggered.
|
6
7
|
#
|
7
8
|
class CompletionContext
|
8
9
|
def initialize(trigger_kind:, trigger_character: nil)
|
@@ -23,8 +24,9 @@ module LanguageServer
|
|
23
24
|
end
|
24
25
|
|
25
26
|
#
|
26
|
-
# The trigger character (a single character) that has trigger code
|
27
|
-
# Is undefined if
|
27
|
+
# The trigger character (a single character) that has trigger code
|
28
|
+
# complete. Is undefined if
|
29
|
+
# `triggerKind !== CompletionTriggerKind.TriggerCharacter`
|
28
30
|
#
|
29
31
|
# @return [string]
|
30
32
|
def trigger_character
|
@@ -2,11 +2,12 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class CompletionItem
|
5
|
-
def initialize(label:, kind: nil, detail: nil, documentation: nil, deprecated: nil, preselect: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, text_edit: nil, additional_text_edits: nil, commit_characters: nil, command: nil, data: nil)
|
5
|
+
def initialize(label:, kind: nil, tags: nil, detail: nil, documentation: nil, deprecated: nil, preselect: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, insert_text_mode: nil, text_edit: nil, additional_text_edits: nil, commit_characters: nil, command: nil, data: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:label] = label
|
9
9
|
@attributes[:kind] = kind if kind
|
10
|
+
@attributes[:tags] = tags if tags
|
10
11
|
@attributes[:detail] = detail if detail
|
11
12
|
@attributes[:documentation] = documentation if documentation
|
12
13
|
@attributes[:deprecated] = deprecated if deprecated
|
@@ -15,6 +16,7 @@ module LanguageServer
|
|
15
16
|
@attributes[:filterText] = filter_text if filter_text
|
16
17
|
@attributes[:insertText] = insert_text if insert_text
|
17
18
|
@attributes[:insertTextFormat] = insert_text_format if insert_text_format
|
19
|
+
@attributes[:insertTextMode] = insert_text_mode if insert_text_mode
|
18
20
|
@attributes[:textEdit] = text_edit if text_edit
|
19
21
|
@attributes[:additionalTextEdits] = additional_text_edits if additional_text_edits
|
20
22
|
@attributes[:commitCharacters] = commit_characters if commit_characters
|
@@ -36,13 +38,22 @@ module LanguageServer
|
|
36
38
|
|
37
39
|
#
|
38
40
|
# The kind of this completion item. Based of the kind
|
39
|
-
# an icon is chosen by the editor.
|
41
|
+
# an icon is chosen by the editor. The standardized set
|
42
|
+
# of available values is defined in `CompletionItemKind`.
|
40
43
|
#
|
41
|
-
# @return [
|
44
|
+
# @return [any]
|
42
45
|
def kind
|
43
46
|
attributes.fetch(:kind)
|
44
47
|
end
|
45
48
|
|
49
|
+
#
|
50
|
+
# Tags for this completion item.
|
51
|
+
#
|
52
|
+
# @return [1[]]
|
53
|
+
def tags
|
54
|
+
attributes.fetch(:tags)
|
55
|
+
end
|
56
|
+
|
46
57
|
#
|
47
58
|
# A human-readable string with additional information
|
48
59
|
# about this item, like type or symbol information.
|
@@ -82,7 +93,8 @@ module LanguageServer
|
|
82
93
|
|
83
94
|
#
|
84
95
|
# A string that should be used when comparing this item
|
85
|
-
# with other items. When `falsy` the label is used
|
96
|
+
# with other items. When `falsy` the label is used
|
97
|
+
# as the sort text for this item.
|
86
98
|
#
|
87
99
|
# @return [string]
|
88
100
|
def sort_text
|
@@ -91,7 +103,8 @@ module LanguageServer
|
|
91
103
|
|
92
104
|
#
|
93
105
|
# A string that should be used when filtering a set of
|
94
|
-
# completion items. When `falsy` the label is used
|
106
|
+
# completion items. When `falsy` the label is used as the
|
107
|
+
# filter text for this item.
|
95
108
|
#
|
96
109
|
# @return [string]
|
97
110
|
def filter_text
|
@@ -100,14 +113,16 @@ module LanguageServer
|
|
100
113
|
|
101
114
|
#
|
102
115
|
# A string that should be inserted into a document when selecting
|
103
|
-
# this completion. When `falsy` the label is used
|
116
|
+
# this completion. When `falsy` the label is used as the insert text
|
117
|
+
# for this item.
|
104
118
|
#
|
105
119
|
# The `insertText` is subject to interpretation by the client side.
|
106
120
|
# Some tools might not take the string literally. For example
|
107
|
-
# VS Code when code complete is requested in this example
|
108
|
-
# and a completion item with an `insertText` of
|
109
|
-
# will only insert `sole`. Therefore it is
|
110
|
-
# since it avoids additional client
|
121
|
+
# VS Code when code complete is requested in this example
|
122
|
+
# `con<cursor position>` and a completion item with an `insertText` of
|
123
|
+
# `console` is provided it will only insert `sole`. Therefore it is
|
124
|
+
# recommended to use `textEdit` instead since it avoids additional client
|
125
|
+
# side interpretation.
|
111
126
|
#
|
112
127
|
# @return [string]
|
113
128
|
def insert_text
|
@@ -115,8 +130,9 @@ module LanguageServer
|
|
115
130
|
end
|
116
131
|
|
117
132
|
#
|
118
|
-
# The format of the insert text. The format applies to both the
|
119
|
-
# and the `newText` property of a provided
|
133
|
+
# The format of the insert text. The format applies to both the
|
134
|
+
# `insertText` property and the `newText` property of a provided
|
135
|
+
# `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.
|
120
136
|
#
|
121
137
|
# @return [InsertTextFormat]
|
122
138
|
def insert_text_format
|
@@ -124,25 +140,50 @@ module LanguageServer
|
|
124
140
|
end
|
125
141
|
|
126
142
|
#
|
127
|
-
#
|
128
|
-
#
|
143
|
+
# How whitespace and indentation is handled during completion
|
144
|
+
# item insertion. If not provided the client's default value depends on
|
145
|
+
# the `textDocument.completion.insertTextMode` client capability.
|
146
|
+
#
|
147
|
+
# @return [InsertTextMode]
|
148
|
+
def insert_text_mode
|
149
|
+
attributes.fetch(:insertTextMode)
|
150
|
+
end
|
151
|
+
|
152
|
+
#
|
153
|
+
# An edit which is applied to a document when selecting this completion.
|
154
|
+
# When an edit is provided the value of `insertText` is ignored.
|
155
|
+
#
|
156
|
+
# *Note:* The range of the edit must be a single line range and it must
|
157
|
+
# contain the position at which completion has been requested.
|
158
|
+
#
|
159
|
+
# Most editors support two different operations when accepting a completion
|
160
|
+
# item. One is to insert a completion text and the other is to replace an
|
161
|
+
# existing text with a completion text. Since this can usually not be
|
162
|
+
# predetermined by a server it can report both ranges. Clients need to
|
163
|
+
# signal support for `InsertReplaceEdits` via the
|
164
|
+
# `textDocument.completion.insertReplaceSupport` client capability
|
165
|
+
# property.
|
129
166
|
#
|
130
|
-
# *Note:* The
|
131
|
-
#
|
167
|
+
# *Note 1:* The text edit's range as well as both ranges from an insert
|
168
|
+
# replace edit must be a [single line] and they must contain the position
|
169
|
+
# at which completion has been requested.
|
170
|
+
# *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
|
171
|
+
# must be a prefix of the edit's replace range, that means it must be
|
172
|
+
# contained and starting at the same position.
|
132
173
|
#
|
133
|
-
# @return [TextEdit]
|
174
|
+
# @return [TextEdit | InsertReplaceEdit]
|
134
175
|
def text_edit
|
135
176
|
attributes.fetch(:textEdit)
|
136
177
|
end
|
137
178
|
|
138
179
|
#
|
139
180
|
# An optional array of additional text edits that are applied when
|
140
|
-
# selecting this completion. Edits must not overlap (including the same
|
141
|
-
# with the main edit nor with themselves.
|
181
|
+
# selecting this completion. Edits must not overlap (including the same
|
182
|
+
# insert position) with the main edit nor with themselves.
|
142
183
|
#
|
143
|
-
# Additional text edits should be used to change text unrelated to the
|
144
|
-
# (for example adding an import statement at the
|
145
|
-
# insert an unqualified type).
|
184
|
+
# Additional text edits should be used to change text unrelated to the
|
185
|
+
# current cursor position (for example adding an import statement at the
|
186
|
+
# top of the file if the completion item will insert an unqualified type).
|
146
187
|
#
|
147
188
|
# @return [TextEdit[]]
|
148
189
|
def additional_text_edits
|
@@ -150,9 +191,10 @@ module LanguageServer
|
|
150
191
|
end
|
151
192
|
|
152
193
|
#
|
153
|
-
# An optional set of characters that when pressed while this completion is
|
154
|
-
# then type that character. *Note* that all
|
155
|
-
# characters
|
194
|
+
# An optional set of characters that when pressed while this completion is
|
195
|
+
# active will accept it first and then type that character. *Note* that all
|
196
|
+
# commit characters should have `length=1` and that superfluous characters
|
197
|
+
# will be ignored.
|
156
198
|
#
|
157
199
|
# @return [string[]]
|
158
200
|
def commit_characters
|
@@ -160,9 +202,9 @@ module LanguageServer
|
|
160
202
|
end
|
161
203
|
|
162
204
|
#
|
163
|
-
# An optional command that is executed *after* inserting this completion.
|
164
|
-
# additional modifications to the current document should be
|
165
|
-
# additionalTextEdits-property.
|
205
|
+
# An optional command that is executed *after* inserting this completion.
|
206
|
+
# *Note* that additional modifications to the current document should be
|
207
|
+
# described with the additionalTextEdits-property.
|
166
208
|
#
|
167
209
|
# @return [Command]
|
168
210
|
def command
|
@@ -170,7 +212,7 @@ module LanguageServer
|
|
170
212
|
end
|
171
213
|
|
172
214
|
#
|
173
|
-
#
|
215
|
+
# A data entry field that is preserved on a completion item between
|
174
216
|
# a completion and a completion resolve request.
|
175
217
|
#
|
176
218
|
# @return [any]
|