language_server-protocol 3.15.0.2 → 3.16.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/lib/language_server/protocol/constant/code_action_kind.rb +6 -4
- data/lib/language_server/protocol/constant/completion_item_tag.rb +2 -2
- data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
- data/lib/language_server/protocol/constant/diagnostic_tag.rb +2 -2
- data/lib/language_server/protocol/constant/error_codes.rb +26 -3
- data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
- data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
- data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
- data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
- data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
- data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +2 -1
- data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
- data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
- data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -2
- data/lib/language_server/protocol/constant/token_format.rb +9 -0
- data/lib/language_server/protocol/constant.rb +10 -0
- data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
- data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +15 -4
- data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
- data/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
- data/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
- data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
- data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
- data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
- data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/change_annotation.rb +57 -0
- data/lib/language_server/protocol/interface/client_capabilities.rb +12 -3
- data/lib/language_server/protocol/interface/code_action.rb +43 -8
- data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +44 -1
- data/lib/language_server/protocol/interface/code_action_context.rb +7 -6
- data/lib/language_server/protocol/interface/code_action_options.rb +19 -4
- data/lib/language_server/protocol/interface/code_action_params.rb +20 -2
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +38 -2
- data/lib/language_server/protocol/interface/code_description.rb +36 -0
- data/lib/language_server/protocol/interface/code_lens.rb +5 -3
- data/lib/language_server/protocol/interface/code_lens_options.rb +6 -1
- data/lib/language_server/protocol/interface/code_lens_params.rb +20 -2
- data/lib/language_server/protocol/interface/code_lens_registration_options.rb +25 -2
- data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
- data/lib/language_server/protocol/interface/color_presentation.rb +7 -6
- data/lib/language_server/protocol/interface/color_presentation_params.rb +20 -2
- data/lib/language_server/protocol/interface/completion_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/completion_context.rb +5 -3
- data/lib/language_server/protocol/interface/completion_item.rb +60 -29
- data/lib/language_server/protocol/interface/completion_list.rb +2 -2
- data/lib/language_server/protocol/interface/completion_options.rb +21 -13
- data/lib/language_server/protocol/interface/completion_params.rb +40 -3
- data/lib/language_server/protocol/interface/completion_registration_options.rb +57 -2
- data/lib/language_server/protocol/interface/create_file.rb +10 -1
- data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
- data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/declaration_options.rb +6 -1
- data/lib/language_server/protocol/interface/declaration_params.rb +38 -2
- data/lib/language_server/protocol/interface/declaration_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/definition_options.rb +6 -1
- data/lib/language_server/protocol/interface/definition_params.rb +38 -2
- data/lib/language_server/protocol/interface/definition_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/delete_file.rb +10 -1
- data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
- data/lib/language_server/protocol/interface/diagnostic.rb +21 -1
- data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
- data/lib/language_server/protocol/interface/did_change_text_document_params.rb +11 -9
- data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/document_color_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_color_params.rb +20 -2
- data/lib/language_server/protocol/interface/document_color_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/document_filter.rb +7 -3
- data/lib/language_server/protocol/interface/document_formatting_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_formatting_params.rb +9 -1
- data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
- data/lib/language_server/protocol/interface/document_highlight_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_highlight_params.rb +38 -2
- data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_link.rb +6 -5
- data/lib/language_server/protocol/interface/document_link_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_link_params.rb +20 -2
- data/lib/language_server/protocol/interface/document_link_registration_options.rb +25 -2
- data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +17 -1
- data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +28 -2
- data/lib/language_server/protocol/interface/document_range_formatting_options.rb +6 -1
- data/lib/language_server/protocol/interface/document_range_formatting_params.rb +9 -1
- data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_symbol.rb +23 -11
- data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +24 -2
- data/lib/language_server/protocol/interface/document_symbol_options.rb +17 -2
- data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -2
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/execute_command_options.rb +6 -1
- data/lib/language_server/protocol/interface/execute_command_params.rb +9 -1
- data/lib/language_server/protocol/interface/execute_command_registration_options.rb +14 -1
- data/lib/language_server/protocol/interface/file_create.rb +36 -0
- data/lib/language_server/protocol/interface/file_delete.rb +36 -0
- data/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
- data/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
- data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
- data/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
- data/lib/language_server/protocol/interface/file_rename.rb +45 -0
- data/lib/language_server/protocol/interface/file_system_watcher.rb +7 -3
- data/lib/language_server/protocol/interface/folding_range.rb +17 -8
- data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +10 -7
- data/lib/language_server/protocol/interface/folding_range_options.rb +6 -1
- data/lib/language_server/protocol/interface/folding_range_params.rb +20 -2
- data/lib/language_server/protocol/interface/folding_range_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/hover.rb +1 -1
- data/lib/language_server/protocol/interface/hover_client_capabilities.rb +3 -2
- data/lib/language_server/protocol/interface/hover_options.rb +6 -1
- data/lib/language_server/protocol/interface/hover_params.rb +28 -2
- data/lib/language_server/protocol/interface/hover_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/implementation_options.rb +6 -1
- data/lib/language_server/protocol/interface/implementation_params.rb +38 -2
- data/lib/language_server/protocol/interface/implementation_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/initialize_params.rb +29 -6
- data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
- data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
- data/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
- data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/linked_editing_ranges.rb +45 -0
- data/lib/language_server/protocol/interface/location_link.rb +9 -7
- data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
- data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
- data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/markup_content.rb +9 -7
- data/lib/language_server/protocol/interface/moniker.rb +64 -0
- data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/moniker_options.rb +30 -0
- data/lib/language_server/protocol/interface/moniker_params.rb +61 -0
- data/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/notification_message.rb +6 -1
- data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
- data/lib/language_server/protocol/interface/parameter_information.rb +7 -5
- data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
- data/lib/language_server/protocol/interface/position.rb +5 -5
- data/lib/language_server/protocol/interface/prepare_rename_params.rb +17 -1
- data/lib/language_server/protocol/interface/progress_params.rb +1 -1
- data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +21 -1
- data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +2 -1
- data/lib/language_server/protocol/interface/reference_options.rb +6 -1
- data/lib/language_server/protocol/interface/reference_params.rb +38 -2
- data/lib/language_server/protocol/interface/reference_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/rename_client_capabilities.rb +27 -1
- data/lib/language_server/protocol/interface/rename_file.rb +10 -1
- data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
- data/lib/language_server/protocol/interface/rename_options.rb +6 -1
- data/lib/language_server/protocol/interface/rename_params.rb +28 -2
- data/lib/language_server/protocol/interface/rename_registration_options.rb +25 -2
- data/lib/language_server/protocol/interface/request_message.rb +6 -1
- data/lib/language_server/protocol/interface/response_message.rb +6 -1
- data/lib/language_server/protocol/interface/selection_range.rb +2 -1
- data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -3
- data/lib/language_server/protocol/interface/selection_range_options.rb +6 -1
- data/lib/language_server/protocol/interface/selection_range_params.rb +20 -2
- data/lib/language_server/protocol/interface/selection_range_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
- data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
- data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
- data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
- data/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
- data/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
- data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
- data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
- data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
- data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
- data/lib/language_server/protocol/interface/server_capabilities.rb +47 -9
- data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
- data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
- data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
- data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
- data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
- data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
- data/lib/language_server/protocol/interface/signature_help.rb +3 -3
- data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/signature_help_context.rb +10 -7
- data/lib/language_server/protocol/interface/signature_help_options.rb +9 -3
- data/lib/language_server/protocol/interface/signature_help_params.rb +31 -4
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +38 -2
- data/lib/language_server/protocol/interface/signature_information.rb +12 -1
- data/lib/language_server/protocol/interface/symbol_information.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +11 -2
- data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +39 -2
- data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
- data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
- data/lib/language_server/protocol/interface/text_document_registration_options.rb +3 -3
- data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_sync_options.rb +13 -15
- data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/type_definition_options.rb +6 -1
- data/lib/language_server/protocol/interface/type_definition_params.rb +38 -2
- data/lib/language_server/protocol/interface/type_definition_registration_options.rb +27 -2
- data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +12 -8
- data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_begin.rb +3 -3
- data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_params.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_report.rb +5 -5
- data/lib/language_server/protocol/interface/workspace_edit.rb +24 -7
- data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +23 -1
- data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +13 -2
- data/lib/language_server/protocol/interface/workspace_symbol_options.rb +6 -1
- data/lib/language_server/protocol/interface/workspace_symbol_params.rb +20 -2
- data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +6 -1
- data/lib/language_server/protocol/interface.rb +112 -0
- data/lib/language_server/protocol/transport/io/reader.rb +8 -24
- data/lib/language_server/protocol/transport/io/writer.rb +1 -0
- data/lib/language_server/protocol/version.rb +1 -1
- metadata +68 -21
@@ -1,16 +1,34 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentSymbolParams
|
5
|
-
def initialize(partial_result_token: nil, text_document:)
|
4
|
+
class DocumentSymbolParams
|
5
|
+
def initialize(work_done_token: nil, partial_result_token: nil, text_document:)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
8
9
|
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
9
10
|
@attributes[:textDocument] = text_document
|
10
11
|
|
11
12
|
@attributes.freeze
|
12
13
|
end
|
13
14
|
|
15
|
+
#
|
16
|
+
# An optional token that a server can use to report work done progress.
|
17
|
+
#
|
18
|
+
# @return [ProgressToken]
|
19
|
+
def work_done_token
|
20
|
+
attributes.fetch(:workDoneToken)
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# An optional token that a server can use to report partial results (e.g.
|
25
|
+
# streaming) to the client.
|
26
|
+
#
|
27
|
+
# @return [ProgressToken]
|
28
|
+
def partial_result_token
|
29
|
+
attributes.fetch(:partialResultToken)
|
30
|
+
end
|
31
|
+
|
14
32
|
#
|
15
33
|
# The text document.
|
16
34
|
#
|
@@ -1,15 +1,40 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentSymbolRegistrationOptions
|
5
|
-
def initialize(work_done_progress: nil)
|
4
|
+
class DocumentSymbolRegistrationOptions
|
5
|
+
def initialize(document_selector:, work_done_progress: nil, label: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:documentSelector] = document_selector
|
8
9
|
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
10
|
+
@attributes[:label] = label if label
|
9
11
|
|
10
12
|
@attributes.freeze
|
11
13
|
end
|
12
14
|
|
15
|
+
#
|
16
|
+
# A document selector to identify the scope of the registration. If set to
|
17
|
+
# null the document selector provided on the client side will be used.
|
18
|
+
#
|
19
|
+
# @return [DocumentSelector]
|
20
|
+
def document_selector
|
21
|
+
attributes.fetch(:documentSelector)
|
22
|
+
end
|
23
|
+
|
24
|
+
# @return [boolean]
|
25
|
+
def work_done_progress
|
26
|
+
attributes.fetch(:workDoneProgress)
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# A human-readable string that is shown when multiple outlines trees
|
31
|
+
# are shown for the same document.
|
32
|
+
#
|
33
|
+
# @return [string]
|
34
|
+
def label
|
35
|
+
attributes.fetch(:label)
|
36
|
+
end
|
37
|
+
|
13
38
|
attr_reader :attributes
|
14
39
|
|
15
40
|
def to_hash
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class ExecuteCommandOptions
|
4
|
+
class ExecuteCommandOptions
|
5
5
|
def initialize(work_done_progress: nil, commands:)
|
6
6
|
@attributes = {}
|
7
7
|
|
@@ -11,6 +11,11 @@ module LanguageServer
|
|
11
11
|
@attributes.freeze
|
12
12
|
end
|
13
13
|
|
14
|
+
# @return [boolean]
|
15
|
+
def work_done_progress
|
16
|
+
attributes.fetch(:workDoneProgress)
|
17
|
+
end
|
18
|
+
|
14
19
|
#
|
15
20
|
# The commands to be executed on the server
|
16
21
|
#
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class ExecuteCommandParams
|
4
|
+
class ExecuteCommandParams
|
5
5
|
def initialize(work_done_token: nil, command:, arguments: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
@@ -12,6 +12,14 @@ module LanguageServer
|
|
12
12
|
@attributes.freeze
|
13
13
|
end
|
14
14
|
|
15
|
+
#
|
16
|
+
# An optional token that a server can use to report work done progress.
|
17
|
+
#
|
18
|
+
# @return [ProgressToken]
|
19
|
+
def work_done_token
|
20
|
+
attributes.fetch(:workDoneToken)
|
21
|
+
end
|
22
|
+
|
15
23
|
#
|
16
24
|
# The identifier of the actual command handler.
|
17
25
|
#
|
@@ -4,7 +4,7 @@ module LanguageServer
|
|
4
4
|
#
|
5
5
|
# Execute command registration options.
|
6
6
|
#
|
7
|
-
class ExecuteCommandRegistrationOptions
|
7
|
+
class ExecuteCommandRegistrationOptions
|
8
8
|
def initialize(work_done_progress: nil, commands:)
|
9
9
|
@attributes = {}
|
10
10
|
|
@@ -14,6 +14,19 @@ module LanguageServer
|
|
14
14
|
@attributes.freeze
|
15
15
|
end
|
16
16
|
|
17
|
+
# @return [boolean]
|
18
|
+
def work_done_progress
|
19
|
+
attributes.fetch(:workDoneProgress)
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# The commands to be executed on the server
|
24
|
+
#
|
25
|
+
# @return [string[]]
|
26
|
+
def commands
|
27
|
+
attributes.fetch(:commands)
|
28
|
+
end
|
29
|
+
|
17
30
|
attr_reader :attributes
|
18
31
|
|
19
32
|
def to_hash
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Represents information on a file/folder create.
|
6
|
+
#
|
7
|
+
class FileCreate
|
8
|
+
def initialize(uri:)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:uri] = uri
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# A file:// URI for the location of the file/folder being created.
|
18
|
+
#
|
19
|
+
# @return [string]
|
20
|
+
def uri
|
21
|
+
attributes.fetch(:uri)
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :attributes
|
25
|
+
|
26
|
+
def to_hash
|
27
|
+
attributes
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_json(*args)
|
31
|
+
to_hash.to_json(*args)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Represents information on a file/folder delete.
|
6
|
+
#
|
7
|
+
class FileDelete
|
8
|
+
def initialize(uri:)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:uri] = uri
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# A file:// URI for the location of the file/folder being deleted.
|
18
|
+
#
|
19
|
+
# @return [string]
|
20
|
+
def uri
|
21
|
+
attributes.fetch(:uri)
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :attributes
|
25
|
+
|
26
|
+
def to_hash
|
27
|
+
attributes
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_json(*args)
|
31
|
+
to_hash.to_json(*args)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# A filter to describe in which file operation requests or notifications
|
6
|
+
# the server is interested in.
|
7
|
+
#
|
8
|
+
class FileOperationFilter
|
9
|
+
def initialize(scheme: nil, pattern:)
|
10
|
+
@attributes = {}
|
11
|
+
|
12
|
+
@attributes[:scheme] = scheme if scheme
|
13
|
+
@attributes[:pattern] = pattern
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# A Uri like `file` or `untitled`.
|
20
|
+
#
|
21
|
+
# @return [string]
|
22
|
+
def scheme
|
23
|
+
attributes.fetch(:scheme)
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# The actual file operation pattern.
|
28
|
+
#
|
29
|
+
# @return [FileOperationPattern]
|
30
|
+
def pattern
|
31
|
+
attributes.fetch(:pattern)
|
32
|
+
end
|
33
|
+
|
34
|
+
attr_reader :attributes
|
35
|
+
|
36
|
+
def to_hash
|
37
|
+
attributes
|
38
|
+
end
|
39
|
+
|
40
|
+
def to_json(*args)
|
41
|
+
to_hash.to_json(*args)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# A pattern to describe in which file operation requests or notifications
|
6
|
+
# the server is interested in.
|
7
|
+
#
|
8
|
+
class FileOperationPattern
|
9
|
+
def initialize(glob:, matches: nil, options: nil)
|
10
|
+
@attributes = {}
|
11
|
+
|
12
|
+
@attributes[:glob] = glob
|
13
|
+
@attributes[:matches] = matches if matches
|
14
|
+
@attributes[:options] = options if options
|
15
|
+
|
16
|
+
@attributes.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# The glob pattern to match. Glob patterns can have the following syntax:
|
21
|
+
# - `*` to match one or more characters in a path segment
|
22
|
+
# - `?` to match on one character in a path segment
|
23
|
+
# - `**` to match any number of path segments, including none
|
24
|
+
# - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}`
|
25
|
+
# matches all TypeScript and JavaScript files)
|
26
|
+
# - `[]` to declare a range of characters to match in a path segment
|
27
|
+
# (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
|
28
|
+
# - `[!...]` to negate a range of characters to match in a path segment
|
29
|
+
# (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but
|
30
|
+
# not `example.0`)
|
31
|
+
#
|
32
|
+
# @return [string]
|
33
|
+
def glob
|
34
|
+
attributes.fetch(:glob)
|
35
|
+
end
|
36
|
+
|
37
|
+
#
|
38
|
+
# Whether to match files or folders with this pattern.
|
39
|
+
#
|
40
|
+
# Matches both if undefined.
|
41
|
+
#
|
42
|
+
# @return [FileOperationPatternKind]
|
43
|
+
def matches
|
44
|
+
attributes.fetch(:matches)
|
45
|
+
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# Additional options used during matching.
|
49
|
+
#
|
50
|
+
# @return [FileOperationPatternOptions]
|
51
|
+
def options
|
52
|
+
attributes.fetch(:options)
|
53
|
+
end
|
54
|
+
|
55
|
+
attr_reader :attributes
|
56
|
+
|
57
|
+
def to_hash
|
58
|
+
attributes
|
59
|
+
end
|
60
|
+
|
61
|
+
def to_json(*args)
|
62
|
+
to_hash.to_json(*args)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Matching options for the file operation pattern.
|
6
|
+
#
|
7
|
+
class FileOperationPatternOptions
|
8
|
+
def initialize(ignore_case: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:ignoreCase] = ignore_case if ignore_case
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# The pattern should be matched ignoring casing.
|
18
|
+
#
|
19
|
+
# @return [boolean]
|
20
|
+
def ignore_case
|
21
|
+
attributes.fetch(:ignoreCase)
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :attributes
|
25
|
+
|
26
|
+
def to_hash
|
27
|
+
attributes
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_json(*args)
|
31
|
+
to_hash.to_json(*args)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# The options to register for file operations.
|
6
|
+
#
|
7
|
+
class FileOperationRegistrationOptions
|
8
|
+
def initialize(filters:)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:filters] = filters
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# The actual filters.
|
18
|
+
#
|
19
|
+
# @return [FileOperationFilter[]]
|
20
|
+
def filters
|
21
|
+
attributes.fetch(:filters)
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :attributes
|
25
|
+
|
26
|
+
def to_hash
|
27
|
+
attributes
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_json(*args)
|
31
|
+
to_hash.to_json(*args)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Represents information on a file/folder rename.
|
6
|
+
#
|
7
|
+
class FileRename
|
8
|
+
def initialize(old_uri:, new_uri:)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:oldUri] = old_uri
|
12
|
+
@attributes[:newUri] = new_uri
|
13
|
+
|
14
|
+
@attributes.freeze
|
15
|
+
end
|
16
|
+
|
17
|
+
#
|
18
|
+
# A file:// URI for the original location of the file/folder being renamed.
|
19
|
+
#
|
20
|
+
# @return [string]
|
21
|
+
def old_uri
|
22
|
+
attributes.fetch(:oldUri)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# A file:// URI for the new location of the file/folder being renamed.
|
27
|
+
#
|
28
|
+
# @return [string]
|
29
|
+
def new_uri
|
30
|
+
attributes.fetch(:newUri)
|
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
|