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
@@ -2,12 +2,13 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class ClientCapabilities
|
5
|
-
def initialize(workspace: nil, text_document: nil, window: nil, experimental: nil)
|
5
|
+
def initialize(workspace: nil, text_document: nil, window: nil, general: nil, experimental: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:workspace] = workspace if workspace
|
9
9
|
@attributes[:textDocument] = text_document if text_document
|
10
10
|
@attributes[:window] = window if window
|
11
|
+
@attributes[:general] = general if general
|
11
12
|
@attributes[:experimental] = experimental if experimental
|
12
13
|
|
13
14
|
@attributes.freeze
|
@@ -16,7 +17,7 @@ module LanguageServer
|
|
16
17
|
#
|
17
18
|
# Workspace specific client capabilities.
|
18
19
|
#
|
19
|
-
# @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: ...]
|
20
|
+
# @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: DidChangeConfigurationClientCapabilities; ... 7 more ...; fileOperations?: { ...; }; }]
|
20
21
|
def workspace
|
21
22
|
attributes.fetch(:workspace)
|
22
23
|
end
|
@@ -32,11 +33,19 @@ module LanguageServer
|
|
32
33
|
#
|
33
34
|
# Window specific client capabilities.
|
34
35
|
#
|
35
|
-
# @return [{ workDoneProgress?: boolean; }]
|
36
|
+
# @return [{ workDoneProgress?: boolean; showMessage?: ShowMessageRequestClientCapabilities; showDocument?: ShowDocumentClientCapabilities; }]
|
36
37
|
def window
|
37
38
|
attributes.fetch(:window)
|
38
39
|
end
|
39
40
|
|
41
|
+
#
|
42
|
+
# General client capabilities.
|
43
|
+
#
|
44
|
+
# @return [{ regularExpressions?: RegularExpressionsClientCapabilities; markdown?: MarkdownClientCapabilities; }]
|
45
|
+
def general
|
46
|
+
attributes.fetch(:general)
|
47
|
+
end
|
48
|
+
|
40
49
|
#
|
41
50
|
# Experimental client capabilities.
|
42
51
|
#
|
@@ -2,21 +2,24 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
# A code action represents a change that can be performed in code, e.g. to fix
|
6
|
-
# to refactor code.
|
5
|
+
# A code action represents a change that can be performed in code, e.g. to fix
|
6
|
+
# a problem or to refactor code.
|
7
7
|
#
|
8
|
-
# A CodeAction must set either `edit` and/or a `command`. If both are supplied,
|
8
|
+
# A CodeAction must set either `edit` and/or a `command`. If both are supplied,
|
9
|
+
# the `edit` is applied first, then the `command` is executed.
|
9
10
|
#
|
10
11
|
class CodeAction
|
11
|
-
def initialize(title:, kind: nil, diagnostics: nil, is_preferred: nil, edit: nil, command: nil)
|
12
|
+
def initialize(title:, kind: nil, diagnostics: nil, is_preferred: nil, disabled: nil, edit: nil, command: nil, data: nil)
|
12
13
|
@attributes = {}
|
13
14
|
|
14
15
|
@attributes[:title] = title
|
15
16
|
@attributes[:kind] = kind if kind
|
16
17
|
@attributes[:diagnostics] = diagnostics if diagnostics
|
17
18
|
@attributes[:isPreferred] = is_preferred if is_preferred
|
19
|
+
@attributes[:disabled] = disabled if disabled
|
18
20
|
@attributes[:edit] = edit if edit
|
19
21
|
@attributes[:command] = command if command
|
22
|
+
@attributes[:data] = data if data
|
20
23
|
|
21
24
|
@attributes.freeze
|
22
25
|
end
|
@@ -48,17 +51,40 @@ module LanguageServer
|
|
48
51
|
end
|
49
52
|
|
50
53
|
#
|
51
|
-
# Marks this as a preferred action. Preferred actions are used by the
|
52
|
-
# by keybindings.
|
54
|
+
# Marks this as a preferred action. Preferred actions are used by the
|
55
|
+
# `auto fix` command and can be targeted by keybindings.
|
53
56
|
#
|
54
|
-
# A quick fix should be marked preferred if it properly addresses the
|
55
|
-
# A refactoring should be marked preferred if it is the
|
57
|
+
# A quick fix should be marked preferred if it properly addresses the
|
58
|
+
# underlying error. A refactoring should be marked preferred if it is the
|
59
|
+
# most reasonable choice of actions to take.
|
56
60
|
#
|
57
61
|
# @return [boolean]
|
58
62
|
def is_preferred
|
59
63
|
attributes.fetch(:isPreferred)
|
60
64
|
end
|
61
65
|
|
66
|
+
#
|
67
|
+
# Marks that the code action cannot currently be applied.
|
68
|
+
#
|
69
|
+
# Clients should follow the following guidelines regarding disabled code
|
70
|
+
# actions:
|
71
|
+
#
|
72
|
+
# - Disabled code actions are not shown in automatic lightbulbs code
|
73
|
+
# action menus.
|
74
|
+
#
|
75
|
+
# - Disabled actions are shown as faded out in the code action menu when
|
76
|
+
# the user request a more specific type of code action, such as
|
77
|
+
# refactorings.
|
78
|
+
#
|
79
|
+
# - If the user has a keybinding that auto applies a code action and only
|
80
|
+
# a disabled code actions are returned, the client should show the user
|
81
|
+
# an error message with `reason` in the editor.
|
82
|
+
#
|
83
|
+
# @return [{ reason: string; }]
|
84
|
+
def disabled
|
85
|
+
attributes.fetch(:disabled)
|
86
|
+
end
|
87
|
+
|
62
88
|
#
|
63
89
|
# The workspace edit this code action performs.
|
64
90
|
#
|
@@ -77,6 +103,15 @@ module LanguageServer
|
|
77
103
|
attributes.fetch(:command)
|
78
104
|
end
|
79
105
|
|
106
|
+
#
|
107
|
+
# A data entry field that is preserved on a code action between
|
108
|
+
# a `textDocument/codeAction` and a `codeAction/resolve` request.
|
109
|
+
#
|
110
|
+
# @return [any]
|
111
|
+
def data
|
112
|
+
attributes.fetch(:data)
|
113
|
+
end
|
114
|
+
|
80
115
|
attr_reader :attributes
|
81
116
|
|
82
117
|
def to_hash
|
@@ -2,12 +2,16 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class CodeActionClientCapabilities
|
5
|
-
def initialize(dynamic_registration: nil, code_action_literal_support: nil, is_preferred_support: nil)
|
5
|
+
def initialize(dynamic_registration: nil, code_action_literal_support: nil, is_preferred_support: nil, disabled_support: nil, data_support: nil, resolve_support: nil, honors_change_annotations: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
9
|
@attributes[:codeActionLiteralSupport] = code_action_literal_support if code_action_literal_support
|
10
10
|
@attributes[:isPreferredSupport] = is_preferred_support if is_preferred_support
|
11
|
+
@attributes[:disabledSupport] = disabled_support if disabled_support
|
12
|
+
@attributes[:dataSupport] = data_support if data_support
|
13
|
+
@attributes[:resolveSupport] = resolve_support if resolve_support
|
14
|
+
@attributes[:honorsChangeAnnotations] = honors_change_annotations if honors_change_annotations
|
11
15
|
|
12
16
|
@attributes.freeze
|
13
17
|
end
|
@@ -37,6 +41,45 @@ module LanguageServer
|
|
37
41
|
attributes.fetch(:isPreferredSupport)
|
38
42
|
end
|
39
43
|
|
44
|
+
#
|
45
|
+
# Whether code action supports the `disabled` property.
|
46
|
+
#
|
47
|
+
# @return [boolean]
|
48
|
+
def disabled_support
|
49
|
+
attributes.fetch(:disabledSupport)
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
# Whether code action supports the `data` property which is
|
54
|
+
# preserved between a `textDocument/codeAction` and a
|
55
|
+
# `codeAction/resolve` request.
|
56
|
+
#
|
57
|
+
# @return [boolean]
|
58
|
+
def data_support
|
59
|
+
attributes.fetch(:dataSupport)
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# Whether the client supports resolving additional code action
|
64
|
+
# properties via a separate `codeAction/resolve` request.
|
65
|
+
#
|
66
|
+
# @return [{ properties: string[]; }]
|
67
|
+
def resolve_support
|
68
|
+
attributes.fetch(:resolveSupport)
|
69
|
+
end
|
70
|
+
|
71
|
+
#
|
72
|
+
# Whether the client honors the change annotations in
|
73
|
+
# text edits and resource operations returned via the
|
74
|
+
# `CodeAction#edit` property by for example presenting
|
75
|
+
# the workspace edit in the user interface and asking
|
76
|
+
# for confirmation.
|
77
|
+
#
|
78
|
+
# @return [boolean]
|
79
|
+
def honors_change_annotations
|
80
|
+
attributes.fetch(:honorsChangeAnnotations)
|
81
|
+
end
|
82
|
+
|
40
83
|
attr_reader :attributes
|
41
84
|
|
42
85
|
def to_hash
|
@@ -16,10 +16,11 @@ module LanguageServer
|
|
16
16
|
end
|
17
17
|
|
18
18
|
#
|
19
|
-
# An array of diagnostics known on the client side overlapping the range
|
20
|
-
# `textDocument/codeAction` request. They are provided so
|
21
|
-
# errors are currently presented to the user
|
22
|
-
#
|
19
|
+
# An array of diagnostics known on the client side overlapping the range
|
20
|
+
# provided to the `textDocument/codeAction` request. They are provided so
|
21
|
+
# that the server knows which errors are currently presented to the user
|
22
|
+
# for the given range. There is no guarantee that these accurately reflect
|
23
|
+
# the error state of the resource. The primary parameter
|
23
24
|
# to compute code actions is the provided range.
|
24
25
|
#
|
25
26
|
# @return [Diagnostic[]]
|
@@ -30,8 +31,8 @@ module LanguageServer
|
|
30
31
|
#
|
31
32
|
# Requested kind of actions to return.
|
32
33
|
#
|
33
|
-
# Actions not of this kind are filtered out by the client before being
|
34
|
-
# can omit computing them.
|
34
|
+
# Actions not of this kind are filtered out by the client before being
|
35
|
+
# shown. So servers can omit computing them.
|
35
36
|
#
|
36
37
|
# @return [string[]]
|
37
38
|
def only
|
@@ -1,27 +1,42 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CodeActionOptions
|
5
|
-
def initialize(work_done_progress: nil, code_action_kinds: nil)
|
4
|
+
class CodeActionOptions
|
5
|
+
def initialize(work_done_progress: nil, code_action_kinds: nil, resolve_provider: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
9
|
@attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
|
10
|
+
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
10
11
|
|
11
12
|
@attributes.freeze
|
12
13
|
end
|
13
14
|
|
15
|
+
# @return [boolean]
|
16
|
+
def work_done_progress
|
17
|
+
attributes.fetch(:workDoneProgress)
|
18
|
+
end
|
19
|
+
|
14
20
|
#
|
15
21
|
# CodeActionKinds that this server may return.
|
16
22
|
#
|
17
|
-
# The list of kinds may be generic, such as `CodeActionKind.Refactor`,
|
18
|
-
# may list out every specific kind they provide.
|
23
|
+
# The list of kinds may be generic, such as `CodeActionKind.Refactor`,
|
24
|
+
# or the server may list out every specific kind they provide.
|
19
25
|
#
|
20
26
|
# @return [string[]]
|
21
27
|
def code_action_kinds
|
22
28
|
attributes.fetch(:codeActionKinds)
|
23
29
|
end
|
24
30
|
|
31
|
+
#
|
32
|
+
# The server provides support to resolve additional
|
33
|
+
# information for a code action.
|
34
|
+
#
|
35
|
+
# @return [boolean]
|
36
|
+
def resolve_provider
|
37
|
+
attributes.fetch(:resolveProvider)
|
38
|
+
end
|
39
|
+
|
25
40
|
attr_reader :attributes
|
26
41
|
|
27
42
|
def to_hash
|
@@ -4,10 +4,11 @@ module LanguageServer
|
|
4
4
|
#
|
5
5
|
# Params for the CodeActionRequest
|
6
6
|
#
|
7
|
-
class CodeActionParams
|
8
|
-
def initialize(partial_result_token: nil, text_document:, range:, context:)
|
7
|
+
class CodeActionParams
|
8
|
+
def initialize(work_done_token: nil, partial_result_token: nil, text_document:, range:, context:)
|
9
9
|
@attributes = {}
|
10
10
|
|
11
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
11
12
|
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
12
13
|
@attributes[:textDocument] = text_document
|
13
14
|
@attributes[:range] = range
|
@@ -16,6 +17,23 @@ module LanguageServer
|
|
16
17
|
@attributes.freeze
|
17
18
|
end
|
18
19
|
|
20
|
+
#
|
21
|
+
# An optional token that a server can use to report work done progress.
|
22
|
+
#
|
23
|
+
# @return [ProgressToken]
|
24
|
+
def work_done_token
|
25
|
+
attributes.fetch(:workDoneToken)
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# An optional token that a server can use to report partial results (e.g.
|
30
|
+
# streaming) to the client.
|
31
|
+
#
|
32
|
+
# @return [ProgressToken]
|
33
|
+
def partial_result_token
|
34
|
+
attributes.fetch(:partialResultToken)
|
35
|
+
end
|
36
|
+
|
19
37
|
#
|
20
38
|
# The document in which the command was invoked.
|
21
39
|
#
|
@@ -1,16 +1,52 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CodeActionRegistrationOptions
|
5
|
-
def initialize(work_done_progress: nil, code_action_kinds: nil)
|
4
|
+
class CodeActionRegistrationOptions
|
5
|
+
def initialize(document_selector:, work_done_progress: nil, code_action_kinds: nil, resolve_provider: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:documentSelector] = document_selector
|
8
9
|
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
10
|
@attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
|
11
|
+
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
10
12
|
|
11
13
|
@attributes.freeze
|
12
14
|
end
|
13
15
|
|
16
|
+
#
|
17
|
+
# A document selector to identify the scope of the registration. If set to
|
18
|
+
# null the document selector provided on the client side will be used.
|
19
|
+
#
|
20
|
+
# @return [DocumentSelector]
|
21
|
+
def document_selector
|
22
|
+
attributes.fetch(:documentSelector)
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [boolean]
|
26
|
+
def work_done_progress
|
27
|
+
attributes.fetch(:workDoneProgress)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# CodeActionKinds that this server may return.
|
32
|
+
#
|
33
|
+
# The list of kinds may be generic, such as `CodeActionKind.Refactor`,
|
34
|
+
# or the server may list out every specific kind they provide.
|
35
|
+
#
|
36
|
+
# @return [string[]]
|
37
|
+
def code_action_kinds
|
38
|
+
attributes.fetch(:codeActionKinds)
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# The server provides support to resolve additional
|
43
|
+
# information for a code action.
|
44
|
+
#
|
45
|
+
# @return [boolean]
|
46
|
+
def resolve_provider
|
47
|
+
attributes.fetch(:resolveProvider)
|
48
|
+
end
|
49
|
+
|
14
50
|
attr_reader :attributes
|
15
51
|
|
16
52
|
def to_hash
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Structure to capture a description for an error code.
|
6
|
+
#
|
7
|
+
class CodeDescription
|
8
|
+
def initialize(href:)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:href] = href
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# An URI to open with more information about the diagnostic error.
|
18
|
+
#
|
19
|
+
# @return [string]
|
20
|
+
def href
|
21
|
+
attributes.fetch(:href)
|
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
|
@@ -5,8 +5,9 @@ module LanguageServer
|
|
5
5
|
# A code lens represents a command that should be shown along with
|
6
6
|
# source text, like the number of references, a way to run tests, etc.
|
7
7
|
#
|
8
|
-
# A code lens is _unresolved_ when no command is associated to it. For
|
9
|
-
# reasons the creation of a code lens and resolving should be done
|
8
|
+
# A code lens is _unresolved_ when no command is associated to it. For
|
9
|
+
# performance reasons the creation of a code lens and resolving should be done
|
10
|
+
# in two stages.
|
10
11
|
#
|
11
12
|
class CodeLens
|
12
13
|
def initialize(range:, command: nil, data: nil)
|
@@ -20,7 +21,8 @@ module LanguageServer
|
|
20
21
|
end
|
21
22
|
|
22
23
|
#
|
23
|
-
# The range in which this code lens is valid. Should only span a single
|
24
|
+
# The range in which this code lens is valid. Should only span a single
|
25
|
+
# line.
|
24
26
|
#
|
25
27
|
# @return [Range]
|
26
28
|
def range
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class CodeLensOptions
|
4
|
+
class CodeLensOptions
|
5
5
|
def initialize(work_done_progress: nil, resolve_provider: nil)
|
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
|
# Code lens has a resolve provider as well.
|
16
21
|
#
|