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
@@ -2,14 +2,16 @@ 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, 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, 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
|
14
|
+
@attributes[:preselect] = preselect if preselect
|
13
15
|
@attributes[:sortText] = sort_text if sort_text
|
14
16
|
@attributes[:filterText] = filter_text if filter_text
|
15
17
|
@attributes[:insertText] = insert_text if insert_text
|
@@ -35,13 +37,22 @@ module LanguageServer
|
|
35
37
|
|
36
38
|
#
|
37
39
|
# The kind of this completion item. Based of the kind
|
38
|
-
# an icon is chosen by the editor.
|
40
|
+
# an icon is chosen by the editor. The standardized set
|
41
|
+
# of available values is defined in `CompletionItemKind`.
|
39
42
|
#
|
40
43
|
# @return [number]
|
41
44
|
def kind
|
42
45
|
attributes.fetch(:kind)
|
43
46
|
end
|
44
47
|
|
48
|
+
#
|
49
|
+
# Tags for this completion item.
|
50
|
+
#
|
51
|
+
# @return [1[]]
|
52
|
+
def tags
|
53
|
+
attributes.fetch(:tags)
|
54
|
+
end
|
55
|
+
|
45
56
|
#
|
46
57
|
# A human-readable string with additional information
|
47
58
|
# about this item, like type or symbol information.
|
@@ -67,6 +78,18 @@ module LanguageServer
|
|
67
78
|
attributes.fetch(:deprecated)
|
68
79
|
end
|
69
80
|
|
81
|
+
#
|
82
|
+
# Select this item when showing.
|
83
|
+
#
|
84
|
+
# *Note* that only one completion item can be selected and that the
|
85
|
+
# tool / client decides which item that is. The rule is that the *first*
|
86
|
+
# item of those that match best is selected.
|
87
|
+
#
|
88
|
+
# @return [boolean]
|
89
|
+
def preselect
|
90
|
+
attributes.fetch(:preselect)
|
91
|
+
end
|
92
|
+
|
70
93
|
#
|
71
94
|
# A string that should be used when comparing this item
|
72
95
|
# with other items. When `falsy` the label is used.
|
@@ -103,9 +126,10 @@ module LanguageServer
|
|
103
126
|
|
104
127
|
#
|
105
128
|
# The format of the insert text. The format applies to both the `insertText` property
|
106
|
-
# and the `newText` property of a provided `textEdit`.
|
129
|
+
# and the `newText` property of a provided `textEdit`. If omitted defaults to
|
130
|
+
# `InsertTextFormat.PlainText`.
|
107
131
|
#
|
108
|
-
# @return [
|
132
|
+
# @return [DiagnosticTag]
|
109
133
|
def insert_text_format
|
110
134
|
attributes.fetch(:insertTextFormat)
|
111
135
|
end
|
@@ -157,7 +181,7 @@ module LanguageServer
|
|
157
181
|
end
|
158
182
|
|
159
183
|
#
|
160
|
-
#
|
184
|
+
# A data entry field that is preserved on a completion item between
|
161
185
|
# a completion and a completion resolve request.
|
162
186
|
#
|
163
187
|
# @return [any]
|
@@ -4,31 +4,53 @@ module LanguageServer
|
|
4
4
|
#
|
5
5
|
# Completion options.
|
6
6
|
#
|
7
|
-
class CompletionOptions
|
8
|
-
def initialize(
|
7
|
+
class CompletionOptions < WorkDoneProgressOptions
|
8
|
+
def initialize(work_done_progress: nil, trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil)
|
9
9
|
@attributes = {}
|
10
10
|
|
11
|
-
@attributes[:
|
11
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
12
12
|
@attributes[:triggerCharacters] = trigger_characters if trigger_characters
|
13
|
+
@attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
|
14
|
+
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
13
15
|
|
14
16
|
@attributes.freeze
|
15
17
|
end
|
16
18
|
|
17
19
|
#
|
18
|
-
#
|
19
|
-
#
|
20
|
+
# Most tools trigger completion request automatically without explicitly requesting
|
21
|
+
# it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
|
22
|
+
# starts to type an identifier. For example if the user types `c` in a JavaScript file
|
23
|
+
# code complete will automatically pop up present `console` besides others as a
|
24
|
+
# completion item. Characters that make up identifiers don't need to be listed here.
|
20
25
|
#
|
21
|
-
#
|
22
|
-
|
23
|
-
|
26
|
+
# If code complete should automatically be trigger on characters not being valid inside
|
27
|
+
# an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
|
28
|
+
#
|
29
|
+
# @return [string[]]
|
30
|
+
def trigger_characters
|
31
|
+
attributes.fetch(:triggerCharacters)
|
24
32
|
end
|
25
33
|
|
26
34
|
#
|
27
|
-
# The characters that
|
35
|
+
# The list of all possible characters that commit a completion. This field can be used
|
36
|
+
# if clients don't support individual commit characters per completion item. See
|
37
|
+
# `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`.
|
38
|
+
#
|
39
|
+
# If a server provides both `allCommitCharacters` and commit characters on an individual
|
40
|
+
# completion item the ones on the completion item win.
|
28
41
|
#
|
29
42
|
# @return [string[]]
|
30
|
-
def
|
31
|
-
attributes.fetch(:
|
43
|
+
def all_commit_characters
|
44
|
+
attributes.fetch(:allCommitCharacters)
|
45
|
+
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# The server provides support to resolve additional
|
49
|
+
# information for a completion item.
|
50
|
+
#
|
51
|
+
# @return [boolean]
|
52
|
+
def resolve_provider
|
53
|
+
attributes.fetch(:resolveProvider)
|
32
54
|
end
|
33
55
|
|
34
56
|
attr_reader :attributes
|
@@ -1,17 +1,18 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CompletionParams <
|
5
|
-
def initialize(
|
4
|
+
class CompletionParams < PartialResultParams
|
5
|
+
def initialize(partial_result_token: nil, context: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
8
9
|
@attributes[:context] = context if context
|
9
10
|
|
10
11
|
@attributes.freeze
|
11
12
|
end
|
12
13
|
|
13
14
|
#
|
14
|
-
# The completion context. This is only available
|
15
|
+
# The completion context. This is only available if the client specifies
|
15
16
|
# to send this using `ClientCapabilities.textDocument.completion.contextSupport === true`
|
16
17
|
#
|
17
18
|
# @return [CompletionContext]
|
@@ -1,40 +1,18 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CompletionRegistrationOptions <
|
5
|
-
def initialize(
|
4
|
+
class CompletionRegistrationOptions < CompletionOptions
|
5
|
+
def initialize(work_done_progress: nil, trigger_characters: nil, all_commit_characters: nil, resolve_provider: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
8
9
|
@attributes[:triggerCharacters] = trigger_characters if trigger_characters
|
10
|
+
@attributes[:allCommitCharacters] = all_commit_characters if all_commit_characters
|
9
11
|
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
10
12
|
|
11
13
|
@attributes.freeze
|
12
14
|
end
|
13
15
|
|
14
|
-
#
|
15
|
-
# Most tools trigger completion request automatically without explicitly requesting
|
16
|
-
# it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
|
17
|
-
# starts to type an identifier. For example if the user types `c` in a JavaScript file
|
18
|
-
# code complete will automatically pop up present `console` besides others as a
|
19
|
-
# completion item. Characters that make up identifiers don't need to be listed here.
|
20
|
-
#
|
21
|
-
# If code complete should automatically be trigger on characters not being valid inside
|
22
|
-
# an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
|
23
|
-
#
|
24
|
-
# @return [string[]]
|
25
|
-
def trigger_characters
|
26
|
-
attributes.fetch(:triggerCharacters)
|
27
|
-
end
|
28
|
-
|
29
|
-
#
|
30
|
-
# The server provides support to resolve additional
|
31
|
-
# information for a completion item.
|
32
|
-
#
|
33
|
-
# @return [boolean]
|
34
|
-
def resolve_provider
|
35
|
-
attributes.fetch(:resolveProvider)
|
36
|
-
end
|
37
|
-
|
38
16
|
attr_reader :attributes
|
39
17
|
|
40
18
|
def to_hash
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Create file operation
|
6
|
+
#
|
7
|
+
class CreateFile
|
8
|
+
def initialize(kind:, uri:, options: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:kind] = kind
|
12
|
+
@attributes[:uri] = uri
|
13
|
+
@attributes[:options] = options if options
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# A create
|
20
|
+
#
|
21
|
+
# @return ["create"]
|
22
|
+
def kind
|
23
|
+
attributes.fetch(:kind)
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# The resource to create.
|
28
|
+
#
|
29
|
+
# @return [string]
|
30
|
+
def uri
|
31
|
+
attributes.fetch(:uri)
|
32
|
+
end
|
33
|
+
|
34
|
+
#
|
35
|
+
# Additional options
|
36
|
+
#
|
37
|
+
# @return [CreateFileOptions]
|
38
|
+
def options
|
39
|
+
attributes.fetch(:options)
|
40
|
+
end
|
41
|
+
|
42
|
+
attr_reader :attributes
|
43
|
+
|
44
|
+
def to_hash
|
45
|
+
attributes
|
46
|
+
end
|
47
|
+
|
48
|
+
def to_json(*args)
|
49
|
+
to_hash.to_json(*args)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Options to create a file.
|
6
|
+
#
|
7
|
+
class CreateFileOptions
|
8
|
+
def initialize(overwrite: nil, ignore_if_exists: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:overwrite] = overwrite if overwrite
|
12
|
+
@attributes[:ignoreIfExists] = ignore_if_exists if ignore_if_exists
|
13
|
+
|
14
|
+
@attributes.freeze
|
15
|
+
end
|
16
|
+
|
17
|
+
#
|
18
|
+
# Overwrite existing file. Overwrite wins over `ignoreIfExists`
|
19
|
+
#
|
20
|
+
# @return [boolean]
|
21
|
+
def overwrite
|
22
|
+
attributes.fetch(:overwrite)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# Ignore if exists.
|
27
|
+
#
|
28
|
+
# @return [boolean]
|
29
|
+
def ignore_if_exists
|
30
|
+
attributes.fetch(:ignoreIfExists)
|
31
|
+
end
|
32
|
+
|
33
|
+
attr_reader :attributes
|
34
|
+
|
35
|
+
def to_hash
|
36
|
+
attributes
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_json(*args)
|
40
|
+
to_hash.to_json(*args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class DeclarationClientCapabilities
|
5
|
+
def initialize(dynamic_registration: nil, link_support: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
@attributes[:linkSupport] = link_support if link_support
|
10
|
+
|
11
|
+
@attributes.freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
#
|
15
|
+
# Whether declaration supports dynamic registration. If this is set to `true`
|
16
|
+
# the client supports the new `DeclarationRegistrationOptions` return value
|
17
|
+
# for the corresponding server capability as well.
|
18
|
+
#
|
19
|
+
# @return [boolean]
|
20
|
+
def dynamic_registration
|
21
|
+
attributes.fetch(:dynamicRegistration)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# The client supports additional metadata in the form of declaration links.
|
26
|
+
#
|
27
|
+
# @return [boolean]
|
28
|
+
def link_support
|
29
|
+
attributes.fetch(:linkSupport)
|
30
|
+
end
|
31
|
+
|
32
|
+
attr_reader :attributes
|
33
|
+
|
34
|
+
def to_hash
|
35
|
+
attributes
|
36
|
+
end
|
37
|
+
|
38
|
+
def to_json(*args)
|
39
|
+
to_hash.to_json(*args)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class DeclarationOptions < 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,25 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class DeclarationParams < PartialResultParams
|
5
|
+
def initialize(partial_result_token: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
9
|
+
|
10
|
+
@attributes.freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_reader :attributes
|
14
|
+
|
15
|
+
def to_hash
|
16
|
+
attributes
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_json(*args)
|
20
|
+
to_hash.to_json(*args)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,13 +1,11 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
|
5
|
-
|
6
|
-
#
|
7
|
-
class ColorProviderOptions
|
8
|
-
def initialize()
|
4
|
+
class DeclarationRegistrationOptions < StaticRegistrationOptions
|
5
|
+
def initialize(id: nil)
|
9
6
|
@attributes = {}
|
10
7
|
|
8
|
+
@attributes[:id] = id if id
|
11
9
|
|
12
10
|
@attributes.freeze
|
13
11
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class DefinitionClientCapabilities
|
5
|
+
def initialize(dynamic_registration: nil, link_support: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
@attributes[:linkSupport] = link_support if link_support
|
10
|
+
|
11
|
+
@attributes.freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
#
|
15
|
+
# Whether definition supports dynamic registration.
|
16
|
+
#
|
17
|
+
# @return [boolean]
|
18
|
+
def dynamic_registration
|
19
|
+
attributes.fetch(:dynamicRegistration)
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# The client supports additional metadata in the form of definition links.
|
24
|
+
#
|
25
|
+
# @return [boolean]
|
26
|
+
def link_support
|
27
|
+
attributes.fetch(:linkSupport)
|
28
|
+
end
|
29
|
+
|
30
|
+
attr_reader :attributes
|
31
|
+
|
32
|
+
def to_hash
|
33
|
+
attributes
|
34
|
+
end
|
35
|
+
|
36
|
+
def to_json(*args)
|
37
|
+
to_hash.to_json(*args)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|