language_server-protocol 3.7.0.0 → 3.15.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/language_server/protocol/constant.rb +14 -0
- data/lib/language_server/protocol/constant/code_action_kind.rb +75 -0
- data/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
- data/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
- data/lib/language_server/protocol/constant/error_codes.rb +1 -0
- data/lib/language_server/protocol/constant/failure_handling_kind.rb +29 -0
- data/lib/language_server/protocol/constant/resource_operation_kind.rb +23 -0
- data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +23 -0
- data/lib/language_server/protocol/constant/text_document_sync_kind.rb +1 -0
- data/lib/language_server/protocol/interface.rb +186 -6
- data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +13 -1
- data/lib/language_server/protocol/interface/client_capabilities.rb +11 -2
- data/lib/language_server/protocol/interface/code_action.rb +92 -0
- data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +52 -0
- data/lib/language_server/protocol/interface/code_action_context.rb +18 -2
- data/lib/language_server/protocol/interface/code_action_options.rb +37 -0
- data/lib/language_server/protocol/interface/code_action_params.rb +3 -2
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +26 -0
- 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/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_item.rb +29 -5
- data/lib/language_server/protocol/interface/completion_options.rb +33 -11
- data/lib/language_server/protocol/interface/completion_params.rb +4 -3
- data/lib/language_server/protocol/interface/completion_registration_options.rb +4 -26
- data/lib/language_server/protocol/interface/create_file.rb +54 -0
- data/lib/language_server/protocol/interface/create_file_options.rb +45 -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/{color_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 +54 -0
- data/lib/language_server/protocol/interface/delete_file_options.rb +45 -0
- data/lib/language_server/protocol/interface/diagnostic.rb +11 -2
- data/lib/language_server/protocol/interface/diagnostic_related_information.rb +1 -1
- 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 +10 -2
- 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 +8 -0
- 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_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 +14 -1
- 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 +96 -0
- data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +51 -0
- data/lib/language_server/protocol/interface/document_symbol_options.rb +25 -0
- data/lib/language_server/protocol/interface/document_symbol_params.rb +3 -2
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +25 -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_system_watcher.rb +9 -1
- data/lib/language_server/protocol/interface/folding_range.rb +74 -0
- data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +55 -0
- data/lib/language_server/protocol/interface/folding_range_options.rb +25 -0
- data/lib/language_server/protocol/interface/folding_range_params.rb +34 -0
- data/lib/language_server/protocol/interface/folding_range_registration_options.rb +25 -0
- data/lib/language_server/protocol/interface/formatting_options.rb +28 -1
- data/lib/language_server/protocol/interface/hover_client_capabilities.rb +43 -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 +12 -4
- data/lib/language_server/protocol/interface/initialize_result.rb +10 -1
- data/lib/language_server/protocol/interface/location_link.rb +66 -0
- data/lib/language_server/protocol/interface/markup_content.rb +1 -1
- data/lib/language_server/protocol/interface/notification_message.rb +2 -1
- data/lib/language_server/protocol/interface/parameter_information.rb +9 -3
- data/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
- 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 +53 -0
- data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +10 -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/rename_client_capabilities.rb +43 -0
- data/lib/language_server/protocol/interface/rename_file.rb +63 -0
- data/lib/language_server/protocol/interface/rename_file_options.rb +45 -0
- data/lib/language_server/protocol/interface/rename_options.rb +34 -0
- data/lib/language_server/protocol/interface/rename_params.rb +3 -20
- data/lib/language_server/protocol/interface/rename_registration_options.rb +26 -0
- 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 +42 -0
- data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +35 -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/server_capabilities.rb +78 -53
- data/lib/language_server/protocol/interface/signature_help.rb +8 -5
- data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
- data/lib/language_server/protocol/interface/signature_help_context.rb +71 -0
- data/lib/language_server/protocol/interface/signature_help_options.rb +15 -5
- data/lib/language_server/protocol/interface/signature_help_params.rb +35 -0
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +4 -11
- data/lib/language_server/protocol/interface/symbol_information.rb +1 -1
- 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 +97 -75
- data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -0
- 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 -6
- 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 +5 -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 +11 -5
- data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +53 -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 +42 -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.rb +1 -0
- data/lib/language_server/protocol/transport/io.rb +2 -0
- data/lib/language_server/protocol/transport/io/reader.rb +47 -0
- data/lib/language_server/protocol/transport/io/writer.rb +34 -0
- data/lib/language_server/protocol/transport/stdio/reader.rb +3 -29
- data/lib/language_server/protocol/transport/stdio/writer.rb +3 -18
- data/lib/language_server/protocol/version.rb +1 -1
- metadata +105 -29
- data/.gitignore +0 -10
- data/.travis.yml +0 -5
- data/CHANGELOG.md +0 -13
- 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 -27
- data/docker-compose.ci.yml +0 -14
- data/docker-compose.override.yml +0 -15
- data/docker-compose.yml +0 -31
- data/language_server-protocol.gemspec +0 -31
- data/lib/language_server/protocol/interface/text_document_content_change_event.rb +0 -55
- data/lib/language_server/protocol/interface/workspace_client_capabilites.rb +0 -82
- data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
- data/package.json +0 -10
- data/scripts/generateFiles.ts +0 -252
- data/yarn.lock +0 -293
@@ -0,0 +1,35 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SelectionRangeClientCapabilities
|
5
|
+
def initialize(dynamic_registration: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
#
|
14
|
+
# Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
|
15
|
+
# the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
|
16
|
+
# capability as well.
|
17
|
+
#
|
18
|
+
# @return [boolean]
|
19
|
+
def dynamic_registration
|
20
|
+
attributes.fetch(:dynamicRegistration)
|
21
|
+
end
|
22
|
+
|
23
|
+
attr_reader :attributes
|
24
|
+
|
25
|
+
def to_hash
|
26
|
+
attributes
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_json(*args)
|
30
|
+
to_hash.to_json(*args)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SelectionRangeOptions < WorkDoneProgressOptions
|
5
|
+
def initialize(work_done_progress: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_reader :attributes
|
14
|
+
|
15
|
+
def to_hash
|
16
|
+
attributes
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_json(*args)
|
20
|
+
to_hash.to_json(*args)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SelectionRangeParams < PartialResultParams
|
5
|
+
def initialize(partial_result_token: nil, text_document:, positions:)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
9
|
+
@attributes[:textDocument] = text_document
|
10
|
+
@attributes[:positions] = positions
|
11
|
+
|
12
|
+
@attributes.freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# The text document.
|
17
|
+
#
|
18
|
+
# @return [TextDocumentIdentifier]
|
19
|
+
def text_document
|
20
|
+
attributes.fetch(:textDocument)
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# The positions inside the text document.
|
25
|
+
#
|
26
|
+
# @return [Position[]]
|
27
|
+
def positions
|
28
|
+
attributes.fetch(:positions)
|
29
|
+
end
|
30
|
+
|
31
|
+
attr_reader :attributes
|
32
|
+
|
33
|
+
def to_hash
|
34
|
+
attributes
|
35
|
+
end
|
36
|
+
|
37
|
+
def to_json(*args)
|
38
|
+
to_hash.to_json(*args)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SelectionRangeRegistrationOptions < StaticRegistrationOptions
|
5
|
+
def initialize(id: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:id] = id if id
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_reader :attributes
|
14
|
+
|
15
|
+
def to_hash
|
16
|
+
attributes
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_json(*args)
|
20
|
+
to_hash.to_json(*args)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -2,29 +2,32 @@ 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, 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[:
|
26
|
-
@attributes[:colorProvider] = color_provider if color_provider
|
27
|
+
@attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
|
27
28
|
@attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
|
29
|
+
@attributes[:selectionRangeProvider] = selection_range_provider if selection_range_provider
|
30
|
+
@attributes[:workspaceSymbolProvider] = workspace_symbol_provider if workspace_symbol_provider
|
28
31
|
@attributes[:workspace] = workspace if workspace
|
29
32
|
@attributes[:experimental] = experimental if experimental
|
30
33
|
|
@@ -40,14 +43,6 @@ module LanguageServer
|
|
40
43
|
attributes.fetch(:textDocumentSync)
|
41
44
|
end
|
42
45
|
|
43
|
-
#
|
44
|
-
# The server provides hover support.
|
45
|
-
#
|
46
|
-
# @return [boolean]
|
47
|
-
def hover_provider
|
48
|
-
attributes.fetch(:hoverProvider)
|
49
|
-
end
|
50
|
-
|
51
46
|
#
|
52
47
|
# The server provides completion support.
|
53
48
|
#
|
@@ -56,6 +51,14 @@ module LanguageServer
|
|
56
51
|
attributes.fetch(:completionProvider)
|
57
52
|
end
|
58
53
|
|
54
|
+
#
|
55
|
+
# The server provides hover support.
|
56
|
+
#
|
57
|
+
# @return [boolean | HoverOptions]
|
58
|
+
def hover_provider
|
59
|
+
attributes.fetch(:hoverProvider)
|
60
|
+
end
|
61
|
+
|
59
62
|
#
|
60
63
|
# The server provides signature help support.
|
61
64
|
#
|
@@ -64,30 +67,34 @@ module LanguageServer
|
|
64
67
|
attributes.fetch(:signatureHelpProvider)
|
65
68
|
end
|
66
69
|
|
70
|
+
#
|
71
|
+
# The server provides go to declaration support.
|
72
|
+
#
|
73
|
+
# @return [boolean | DeclarationOptions | DeclarationRegistrationOptions]
|
74
|
+
def declaration_provider
|
75
|
+
attributes.fetch(:declarationProvider)
|
76
|
+
end
|
77
|
+
|
67
78
|
#
|
68
79
|
# The server provides goto definition support.
|
69
80
|
#
|
70
|
-
# @return [boolean]
|
81
|
+
# @return [boolean | DefinitionOptions]
|
71
82
|
def definition_provider
|
72
83
|
attributes.fetch(:definitionProvider)
|
73
84
|
end
|
74
85
|
|
75
86
|
#
|
76
|
-
# The server provides
|
77
|
-
#
|
78
|
-
# Since 3.6.0
|
87
|
+
# The server provides goto type definition support.
|
79
88
|
#
|
80
|
-
# @return [boolean |
|
89
|
+
# @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]
|
81
90
|
def type_definition_provider
|
82
91
|
attributes.fetch(:typeDefinitionProvider)
|
83
92
|
end
|
84
93
|
|
85
94
|
#
|
86
|
-
# The server provides
|
95
|
+
# The server provides goto implementation support.
|
87
96
|
#
|
88
|
-
#
|
89
|
-
#
|
90
|
-
# @return [boolean | (TextDocumentRegistrationOptions & StaticRegistrationOptions)]
|
97
|
+
# @return [boolean | ImplementationOptions | ImplementationRegistrationOptions]
|
91
98
|
def implementation_provider
|
92
99
|
attributes.fetch(:implementationProvider)
|
93
100
|
end
|
@@ -95,7 +102,7 @@ module LanguageServer
|
|
95
102
|
#
|
96
103
|
# The server provides find references support.
|
97
104
|
#
|
98
|
-
# @return [boolean]
|
105
|
+
# @return [boolean | ReferenceOptions]
|
99
106
|
def references_provider
|
100
107
|
attributes.fetch(:referencesProvider)
|
101
108
|
end
|
@@ -103,7 +110,7 @@ module LanguageServer
|
|
103
110
|
#
|
104
111
|
# The server provides document highlight support.
|
105
112
|
#
|
106
|
-
# @return [boolean]
|
113
|
+
# @return [boolean | DocumentHighlightOptions]
|
107
114
|
def document_highlight_provider
|
108
115
|
attributes.fetch(:documentHighlightProvider)
|
109
116
|
end
|
@@ -111,23 +118,17 @@ module LanguageServer
|
|
111
118
|
#
|
112
119
|
# The server provides document symbol support.
|
113
120
|
#
|
114
|
-
# @return [boolean]
|
121
|
+
# @return [boolean | DocumentSymbolOptions]
|
115
122
|
def document_symbol_provider
|
116
123
|
attributes.fetch(:documentSymbolProvider)
|
117
124
|
end
|
118
125
|
|
119
126
|
#
|
120
|
-
# The server provides
|
121
|
-
#
|
122
|
-
#
|
123
|
-
def workspace_symbol_provider
|
124
|
-
attributes.fetch(:workspaceSymbolProvider)
|
125
|
-
end
|
126
|
-
|
127
|
-
#
|
128
|
-
# The server provides code actions.
|
127
|
+
# The server provides code actions. The `CodeActionOptions` return type is only
|
128
|
+
# valid if the client signals code action literal support via the property
|
129
|
+
# `textDocument.codeAction.codeActionLiteralSupport`.
|
129
130
|
#
|
130
|
-
# @return [boolean]
|
131
|
+
# @return [boolean | CodeActionOptions]
|
131
132
|
def code_action_provider
|
132
133
|
attributes.fetch(:codeActionProvider)
|
133
134
|
end
|
@@ -140,10 +141,26 @@ module LanguageServer
|
|
140
141
|
attributes.fetch(:codeLensProvider)
|
141
142
|
end
|
142
143
|
|
144
|
+
#
|
145
|
+
# The server provides document link support.
|
146
|
+
#
|
147
|
+
# @return [DocumentLinkOptions]
|
148
|
+
def document_link_provider
|
149
|
+
attributes.fetch(:documentLinkProvider)
|
150
|
+
end
|
151
|
+
|
152
|
+
#
|
153
|
+
# The server provides color provider support.
|
154
|
+
#
|
155
|
+
# @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]
|
156
|
+
def color_provider
|
157
|
+
attributes.fetch(:colorProvider)
|
158
|
+
end
|
159
|
+
|
143
160
|
#
|
144
161
|
# The server provides document formatting.
|
145
162
|
#
|
146
|
-
# @return [boolean]
|
163
|
+
# @return [boolean | DocumentFormattingOptions]
|
147
164
|
def document_formatting_provider
|
148
165
|
attributes.fetch(:documentFormattingProvider)
|
149
166
|
end
|
@@ -151,7 +168,7 @@ module LanguageServer
|
|
151
168
|
#
|
152
169
|
# The server provides document range formatting.
|
153
170
|
#
|
154
|
-
# @return [boolean]
|
171
|
+
# @return [boolean | DocumentRangeFormattingOptions]
|
155
172
|
def document_range_formatting_provider
|
156
173
|
attributes.fetch(:documentRangeFormattingProvider)
|
157
174
|
end
|
@@ -165,43 +182,51 @@ module LanguageServer
|
|
165
182
|
end
|
166
183
|
|
167
184
|
#
|
168
|
-
# The server provides rename support.
|
185
|
+
# The server provides rename support. RenameOptions may only be
|
186
|
+
# specified if the client states that it supports
|
187
|
+
# `prepareSupport` in its initial `initialize` request.
|
169
188
|
#
|
170
|
-
# @return [boolean]
|
189
|
+
# @return [boolean | RenameOptions]
|
171
190
|
def rename_provider
|
172
191
|
attributes.fetch(:renameProvider)
|
173
192
|
end
|
174
193
|
|
175
194
|
#
|
176
|
-
# The server provides
|
195
|
+
# The server provides folding provider support.
|
177
196
|
#
|
178
|
-
# @return [
|
179
|
-
def
|
180
|
-
attributes.fetch(:
|
197
|
+
# @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]
|
198
|
+
def folding_range_provider
|
199
|
+
attributes.fetch(:foldingRangeProvider)
|
181
200
|
end
|
182
201
|
|
183
202
|
#
|
184
|
-
# The server provides
|
203
|
+
# The server provides execute command support.
|
185
204
|
#
|
186
|
-
#
|
205
|
+
# @return [ExecuteCommandOptions]
|
206
|
+
def execute_command_provider
|
207
|
+
attributes.fetch(:executeCommandProvider)
|
208
|
+
end
|
209
|
+
|
187
210
|
#
|
188
|
-
#
|
189
|
-
|
190
|
-
|
211
|
+
# The server provides selection range support.
|
212
|
+
#
|
213
|
+
# @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]
|
214
|
+
def selection_range_provider
|
215
|
+
attributes.fetch(:selectionRangeProvider)
|
191
216
|
end
|
192
217
|
|
193
218
|
#
|
194
|
-
# The server provides
|
219
|
+
# The server provides workspace symbol support.
|
195
220
|
#
|
196
|
-
# @return [
|
197
|
-
def
|
198
|
-
attributes.fetch(:
|
221
|
+
# @return [boolean]
|
222
|
+
def workspace_symbol_provider
|
223
|
+
attributes.fetch(:workspaceSymbolProvider)
|
199
224
|
end
|
200
225
|
|
201
226
|
#
|
202
227
|
# Workspace specific server capabilities
|
203
228
|
#
|
204
|
-
# @return [{ workspaceFolders?:
|
229
|
+
# @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; }]
|
205
230
|
def workspace
|
206
231
|
attributes.fetch(:workspace)
|
207
232
|
end
|
@@ -18,7 +18,8 @@ module LanguageServer
|
|
18
18
|
end
|
19
19
|
|
20
20
|
#
|
21
|
-
# One or more signatures.
|
21
|
+
# One or more signatures. If no signaures are availabe the signature help
|
22
|
+
# request should return `null`.
|
22
23
|
#
|
23
24
|
# @return [SignatureInformation[]]
|
24
25
|
def signatures
|
@@ -27,10 +28,12 @@ module LanguageServer
|
|
27
28
|
|
28
29
|
#
|
29
30
|
# The active signature. If omitted or the value lies outside the
|
30
|
-
# range of `signatures` the value defaults to zero or is
|
31
|
-
# `
|
32
|
-
#
|
33
|
-
#
|
31
|
+
# range of `signatures` the value defaults to zero or is ignore if
|
32
|
+
# the `SignatureHelp` as no signatures.
|
33
|
+
#
|
34
|
+
# Whenever possible implementors should make an active decision about
|
35
|
+
# the active signature and shouldn't rely on a default value.
|
36
|
+
#
|
34
37
|
# In future version of the protocol this property might become
|
35
38
|
# mandatory to better express this.
|
36
39
|
#
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class SignatureHelpClientCapabilities
|
5
|
+
def initialize(dynamic_registration: nil, signature_information: nil, context_support: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
@attributes[:signatureInformation] = signature_information if signature_information
|
10
|
+
@attributes[:contextSupport] = context_support if context_support
|
11
|
+
|
12
|
+
@attributes.freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# Whether signature help supports dynamic registration.
|
17
|
+
#
|
18
|
+
# @return [boolean]
|
19
|
+
def dynamic_registration
|
20
|
+
attributes.fetch(:dynamicRegistration)
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# The client supports the following `SignatureInformation`
|
25
|
+
# specific properties.
|
26
|
+
#
|
27
|
+
# @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; }]
|
28
|
+
def signature_information
|
29
|
+
attributes.fetch(:signatureInformation)
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
# The client supports to send additional context information for a
|
34
|
+
# `textDocument/signatureHelp` request. A client that opts into
|
35
|
+
# contextSupport will also support the `retriggerCharacters` on
|
36
|
+
# `SignatureHelpOptions`.
|
37
|
+
#
|
38
|
+
# @return [boolean]
|
39
|
+
def context_support
|
40
|
+
attributes.fetch(:contextSupport)
|
41
|
+
end
|
42
|
+
|
43
|
+
attr_reader :attributes
|
44
|
+
|
45
|
+
def to_hash
|
46
|
+
attributes
|
47
|
+
end
|
48
|
+
|
49
|
+
def to_json(*args)
|
50
|
+
to_hash.to_json(*args)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|