language_server-protocol 3.14.0.2 → 3.16.0.1
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.rb +18 -0
- data/lib/language_server/protocol/constant/code_action_kind.rb +17 -11
- data/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
- data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -1
- data/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
- data/lib/language_server/protocol/constant/error_codes.rb +26 -3
- data/lib/language_server/protocol/constant/failure_handling_kind.rb +6 -5
- data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
- data/lib/language_server/protocol/constant/initialize_error.rb +2 -1
- data/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
- data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
- data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +24 -0
- data/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
- data/lib/language_server/protocol/constant/text_document_save_reason.rb +2 -2
- data/lib/language_server/protocol/constant/text_document_sync_kind.rb +2 -1
- data/lib/language_server/protocol/constant/token_format.rb +9 -0
- data/lib/language_server/protocol/interface.rb +270 -6
- data/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
- data/lib/language_server/protocol/interface/apply_workspace_edit_response.rb +24 -1
- data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +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 +20 -2
- data/lib/language_server/protocol/interface/code_action.rb +52 -4
- data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +95 -0
- data/lib/language_server/protocol/interface/code_action_context.rb +8 -3
- data/lib/language_server/protocol/interface/code_action_options.rb +19 -6
- data/lib/language_server/protocol/interface/code_action_params.rb +20 -1
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +39 -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_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/code_lens_options.rb +7 -4
- data/lib/language_server/protocol/interface/code_lens_params.rb +20 -1
- data/lib/language_server/protocol/interface/code_lens_registration_options.rb +17 -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 -1
- data/lib/language_server/protocol/interface/completion_client_capabilities.rb +59 -0
- data/lib/language_server/protocol/interface/completion_context.rb +5 -3
- data/lib/language_server/protocol/interface/completion_item.rb +71 -29
- data/lib/language_server/protocol/interface/completion_list.rb +2 -2
- data/lib/language_server/protocol/interface/completion_options.rb +39 -9
- data/lib/language_server/protocol/interface/completion_params.rb +39 -3
- data/lib/language_server/protocol/interface/completion_registration_options.rb +41 -9
- data/lib/language_server/protocol/interface/create_file.rb +10 -1
- data/lib/language_server/protocol/interface/create_files_params.rb +37 -0
- data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/declaration_options.rb +30 -0
- data/lib/language_server/protocol/interface/declaration_params.rb +61 -0
- data/lib/language_server/protocol/interface/declaration_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
- data/lib/language_server/protocol/interface/definition_options.rb +30 -0
- data/lib/language_server/protocol/interface/definition_params.rb +61 -0
- data/lib/language_server/protocol/interface/definition_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/delete_file.rb +10 -1
- data/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
- data/lib/language_server/protocol/interface/diagnostic.rb +31 -2
- data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
- data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/did_change_text_document_params.rb +13 -3
- data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +35 -0
- data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
- data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_color_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_color_params.rb +52 -0
- data/lib/language_server/protocol/interface/document_color_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/document_filter.rb +7 -3
- data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_formatting_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_formatting_params.rb +10 -1
- data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_highlight.rb +1 -1
- data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/document_highlight_options.rb +30 -0
- data/lib/language_server/protocol/interface/document_highlight_params.rb +61 -0
- data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_link.rb +17 -3
- data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
- data/lib/language_server/protocol/interface/document_link_options.rb +7 -4
- data/lib/language_server/protocol/interface/document_link_params.rb +20 -1
- data/lib/language_server/protocol/interface/document_link_registration_options.rb +17 -2
- 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 +2 -2
- data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +10 -1
- 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 +30 -0
- data/lib/language_server/protocol/interface/document_range_formatting_params.rb +10 -1
- data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_symbol.rb +108 -0
- data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +73 -0
- data/lib/language_server/protocol/interface/document_symbol_options.rb +40 -0
- data/lib/language_server/protocol/interface/document_symbol_params.rb +20 -1
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/execute_command_options.rb +7 -4
- data/lib/language_server/protocol/interface/execute_command_params.rb +10 -1
- data/lib/language_server/protocol/interface/execute_command_registration_options.rb +7 -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 +58 -0
- data/lib/language_server/protocol/interface/folding_range_options.rb +30 -0
- data/lib/language_server/protocol/interface/folding_range_params.rb +20 -1
- data/lib/language_server/protocol/interface/folding_range_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/formatting_options.rb +28 -1
- data/lib/language_server/protocol/interface/hover.rb +1 -1
- data/lib/language_server/protocol/interface/hover_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/hover_options.rb +30 -0
- data/lib/language_server/protocol/interface/hover_params.rb +51 -0
- data/lib/language_server/protocol/interface/hover_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/implementation_options.rb +30 -0
- data/lib/language_server/protocol/interface/implementation_params.rb +61 -0
- data/lib/language_server/protocol/interface/implementation_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/initialize_params.rb +38 -7
- data/lib/language_server/protocol/interface/initialize_result.rb +10 -1
- data/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
- data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/linked_editing_range_options.rb +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 +11 -6
- data/lib/language_server/protocol/interface/log_message_params.rb +1 -1
- data/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
- data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/markup_content.rb +9 -7
- data/lib/language_server/protocol/interface/moniker.rb +64 -0
- data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/moniker_options.rb +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 +7 -2
- 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 +34 -0
- data/lib/language_server/protocol/interface/position.rb +5 -5
- data/lib/language_server/protocol/interface/prepare_rename_params.rb +42 -0
- data/lib/language_server/protocol/interface/progress_params.rb +42 -0
- data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +73 -0
- data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +11 -1
- data/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
- data/lib/language_server/protocol/interface/reference_options.rb +30 -0
- data/lib/language_server/protocol/interface/reference_params.rb +37 -2
- data/lib/language_server/protocol/interface/reference_registration_options.rb +40 -0
- data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
- data/lib/language_server/protocol/interface/rename_client_capabilities.rb +69 -0
- data/lib/language_server/protocol/interface/rename_file.rb +10 -1
- data/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
- data/lib/language_server/protocol/interface/rename_options.rb +7 -4
- data/lib/language_server/protocol/interface/rename_params.rb +12 -3
- data/lib/language_server/protocol/interface/rename_registration_options.rb +18 -3
- data/lib/language_server/protocol/interface/request_message.rb +7 -2
- data/lib/language_server/protocol/interface/response_error.rb +2 -2
- data/lib/language_server/protocol/interface/response_message.rb +10 -5
- data/lib/language_server/protocol/interface/save_options.rb +0 -3
- data/lib/language_server/protocol/interface/selection_range.rb +43 -0
- data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/selection_range_options.rb +30 -0
- data/lib/language_server/protocol/interface/selection_range_params.rb +61 -0
- data/lib/language_server/protocol/interface/selection_range_registration_options.rb +50 -0
- data/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
- data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +97 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
- data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
- data/lib/language_server/protocol/interface/{folding_range_provider_options.rb → semantic_tokens_delta_partial_result.rb} +8 -5
- 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/{color_provider_options.rb → semantic_tokens_partial_result.rb} +8 -5
- 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 +108 -60
- data/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
- data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
- data/lib/language_server/protocol/interface/show_document_params.rb +71 -0
- data/lib/language_server/protocol/interface/show_document_result.rb +36 -0
- data/lib/language_server/protocol/interface/show_message_params.rb +1 -1
- data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
- data/lib/language_server/protocol/interface/show_message_request_params.rb +1 -1
- data/lib/language_server/protocol/interface/signature_help.rb +7 -4
- data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
- data/lib/language_server/protocol/interface/signature_help_context.rb +74 -0
- data/lib/language_server/protocol/interface/signature_help_options.rb +20 -4
- data/lib/language_server/protocol/interface/signature_help_params.rb +62 -0
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +30 -2
- data/lib/language_server/protocol/interface/signature_information.rb +12 -1
- data/lib/language_server/protocol/interface/symbol_information.rb +11 -2
- data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +11 -2
- data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +123 -86
- data/lib/language_server/protocol/interface/text_document_content_change_event.rb +10 -6
- data/lib/language_server/protocol/interface/text_document_edit.rb +2 -2
- data/lib/language_server/protocol/interface/text_document_registration_options.rb +6 -3
- data/lib/language_server/protocol/interface/text_document_save_registration_options.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
- data/lib/language_server/protocol/interface/text_document_sync_options.rb +14 -8
- data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/type_definition_options.rb +30 -0
- data/lib/language_server/protocol/interface/type_definition_params.rb +61 -0
- data/lib/language_server/protocol/interface/type_definition_registration_options.rb +50 -0
- 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 +80 -0
- data/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
- data/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
- data/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
- data/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
- data/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
- data/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
- data/lib/language_server/protocol/interface/workspace_edit.rb +25 -8
- data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +75 -0
- data/lib/language_server/protocol/interface/workspace_folder.rb +2 -2
- data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
- data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +53 -0
- data/lib/language_server/protocol/interface/workspace_symbol_options.rb +30 -0
- data/lib/language_server/protocol/interface/workspace_symbol_params.rb +22 -2
- data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +30 -0
- data/lib/language_server/protocol/transport/io/reader.rb +1 -1
- data/lib/language_server/protocol/version.rb +1 -1
- metadata +154 -15
- data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +0 -104
@@ -0,0 +1,51 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class CallHierarchyPrepareParams
|
5
|
+
def initialize(text_document:, position:, work_done_token: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:textDocument] = text_document
|
9
|
+
@attributes[:position] = position
|
10
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
11
|
+
|
12
|
+
@attributes.freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# The text document.
|
17
|
+
#
|
18
|
+
# @return [TextDocumentIdentifier]
|
19
|
+
def text_document
|
20
|
+
attributes.fetch(:textDocument)
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# The position inside the text document.
|
25
|
+
#
|
26
|
+
# @return [Position]
|
27
|
+
def position
|
28
|
+
attributes.fetch(:position)
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# An optional token that a server can use to report work done progress.
|
33
|
+
#
|
34
|
+
# @return [ProgressToken]
|
35
|
+
def work_done_token
|
36
|
+
attributes.fetch(:workDoneToken)
|
37
|
+
end
|
38
|
+
|
39
|
+
attr_reader :attributes
|
40
|
+
|
41
|
+
def to_hash
|
42
|
+
attributes
|
43
|
+
end
|
44
|
+
|
45
|
+
def to_json(*args)
|
46
|
+
to_hash.to_json(*args)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class CallHierarchyRegistrationOptions
|
5
|
+
def initialize(document_selector:, work_done_progress: nil, id: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:documentSelector] = document_selector
|
9
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
10
|
+
@attributes[:id] = id if id
|
11
|
+
|
12
|
+
@attributes.freeze
|
13
|
+
end
|
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
|
+
# The id used to register the request. The id can be used to deregister
|
31
|
+
# the request again. See also Registration#id.
|
32
|
+
#
|
33
|
+
# @return [string]
|
34
|
+
def id
|
35
|
+
attributes.fetch(:id)
|
36
|
+
end
|
37
|
+
|
38
|
+
attr_reader :attributes
|
39
|
+
|
40
|
+
def to_hash
|
41
|
+
attributes
|
42
|
+
end
|
43
|
+
|
44
|
+
def to_json(*args)
|
45
|
+
to_hash.to_json(*args)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Additional information that describes document changes.
|
6
|
+
#
|
7
|
+
class ChangeAnnotation
|
8
|
+
def initialize(label:, needs_confirmation: nil, description: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:label] = label
|
12
|
+
@attributes[:needsConfirmation] = needs_confirmation if needs_confirmation
|
13
|
+
@attributes[:description] = description if description
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# A human-readable string describing the actual change. The string
|
20
|
+
# is rendered prominent in the user interface.
|
21
|
+
#
|
22
|
+
# @return [string]
|
23
|
+
def label
|
24
|
+
attributes.fetch(:label)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# A flag which indicates that user confirmation is needed
|
29
|
+
# before applying the change.
|
30
|
+
#
|
31
|
+
# @return [boolean]
|
32
|
+
def needs_confirmation
|
33
|
+
attributes.fetch(:needsConfirmation)
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# A human-readable string which is rendered less prominent in
|
38
|
+
# the user interface.
|
39
|
+
#
|
40
|
+
# @return [string]
|
41
|
+
def description
|
42
|
+
attributes.fetch(:description)
|
43
|
+
end
|
44
|
+
|
45
|
+
attr_reader :attributes
|
46
|
+
|
47
|
+
def to_hash
|
48
|
+
attributes
|
49
|
+
end
|
50
|
+
|
51
|
+
def to_json(*args)
|
52
|
+
to_hash.to_json(*args)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -2,11 +2,13 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class ClientCapabilities
|
5
|
-
def initialize(workspace: nil, text_document: 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
|
+
@attributes[:window] = window if window
|
11
|
+
@attributes[:general] = general if general
|
10
12
|
@attributes[:experimental] = experimental if experimental
|
11
13
|
|
12
14
|
@attributes.freeze
|
@@ -15,7 +17,7 @@ module LanguageServer
|
|
15
17
|
#
|
16
18
|
# Workspace specific client capabilities.
|
17
19
|
#
|
18
|
-
# @return [
|
20
|
+
# @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: DidChangeConfigurationClientCapabilities; ... 7 more ...; fileOperations?: { ...; }; }]
|
19
21
|
def workspace
|
20
22
|
attributes.fetch(:workspace)
|
21
23
|
end
|
@@ -28,6 +30,22 @@ module LanguageServer
|
|
28
30
|
attributes.fetch(:textDocument)
|
29
31
|
end
|
30
32
|
|
33
|
+
#
|
34
|
+
# Window specific client capabilities.
|
35
|
+
#
|
36
|
+
# @return [{ workDoneProgress?: boolean; showMessage?: ShowMessageRequestClientCapabilities; showDocument?: ShowDocumentClientCapabilities; }]
|
37
|
+
def window
|
38
|
+
attributes.fetch(:window)
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# General client capabilities.
|
43
|
+
#
|
44
|
+
# @return [{ regularExpressions?: RegularExpressionsClientCapabilities; markdown?: MarkdownClientCapabilities; }]
|
45
|
+
def general
|
46
|
+
attributes.fetch(:general)
|
47
|
+
end
|
48
|
+
|
31
49
|
#
|
32
50
|
# Experimental client capabilities.
|
33
51
|
#
|
@@ -2,20 +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, 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
|
18
|
+
@attributes[:isPreferred] = is_preferred if is_preferred
|
19
|
+
@attributes[:disabled] = disabled if disabled
|
17
20
|
@attributes[:edit] = edit if edit
|
18
21
|
@attributes[:command] = command if command
|
22
|
+
@attributes[:data] = data if data
|
19
23
|
|
20
24
|
@attributes.freeze
|
21
25
|
end
|
@@ -46,6 +50,41 @@ module LanguageServer
|
|
46
50
|
attributes.fetch(:diagnostics)
|
47
51
|
end
|
48
52
|
|
53
|
+
#
|
54
|
+
# Marks this as a preferred action. Preferred actions are used by the
|
55
|
+
# `auto fix` command and can be targeted by keybindings.
|
56
|
+
#
|
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.
|
60
|
+
#
|
61
|
+
# @return [boolean]
|
62
|
+
def is_preferred
|
63
|
+
attributes.fetch(:isPreferred)
|
64
|
+
end
|
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
|
+
|
49
88
|
#
|
50
89
|
# The workspace edit this code action performs.
|
51
90
|
#
|
@@ -64,6 +103,15 @@ module LanguageServer
|
|
64
103
|
attributes.fetch(:command)
|
65
104
|
end
|
66
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
|
+
|
67
115
|
attr_reader :attributes
|
68
116
|
|
69
117
|
def to_hash
|
@@ -0,0 +1,95 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class CodeActionClientCapabilities
|
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
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
|
+
@attributes[:codeActionLiteralSupport] = code_action_literal_support if code_action_literal_support
|
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
|
15
|
+
|
16
|
+
@attributes.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Whether code action supports dynamic registration.
|
21
|
+
#
|
22
|
+
# @return [boolean]
|
23
|
+
def dynamic_registration
|
24
|
+
attributes.fetch(:dynamicRegistration)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# The client supports code action literals as a valid
|
29
|
+
# response of the `textDocument/codeAction` request.
|
30
|
+
#
|
31
|
+
# @return [{ codeActionKind: { valueSet: string[]; }; }]
|
32
|
+
def code_action_literal_support
|
33
|
+
attributes.fetch(:codeActionLiteralSupport)
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# Whether code action supports the `isPreferred` property.
|
38
|
+
#
|
39
|
+
# @return [boolean]
|
40
|
+
def is_preferred_support
|
41
|
+
attributes.fetch(:isPreferredSupport)
|
42
|
+
end
|
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
|
+
|
83
|
+
attr_reader :attributes
|
84
|
+
|
85
|
+
def to_hash
|
86
|
+
attributes
|
87
|
+
end
|
88
|
+
|
89
|
+
def to_json(*args)
|
90
|
+
to_hash.to_json(*args)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -16,7 +16,12 @@ module LanguageServer
|
|
16
16
|
end
|
17
17
|
|
18
18
|
#
|
19
|
-
# An array of diagnostics
|
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
|
24
|
+
# to compute code actions is the provided range.
|
20
25
|
#
|
21
26
|
# @return [Diagnostic[]]
|
22
27
|
def diagnostics
|
@@ -26,8 +31,8 @@ module LanguageServer
|
|
26
31
|
#
|
27
32
|
# Requested kind of actions to return.
|
28
33
|
#
|
29
|
-
# Actions not of this kind are filtered out by the client before being
|
30
|
-
# 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.
|
31
36
|
#
|
32
37
|
# @return [string[]]
|
33
38
|
def only
|
@@ -1,29 +1,42 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
#
|
5
|
-
# Code Action options.
|
6
|
-
#
|
7
4
|
class CodeActionOptions
|
8
|
-
def initialize(code_action_kinds: nil)
|
5
|
+
def initialize(work_done_progress: nil, code_action_kinds: nil, resolve_provider: nil)
|
9
6
|
@attributes = {}
|
10
7
|
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
11
9
|
@attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
|
10
|
+
@attributes[:resolveProvider] = resolve_provider if resolve_provider
|
12
11
|
|
13
12
|
@attributes.freeze
|
14
13
|
end
|
15
14
|
|
15
|
+
# @return [boolean]
|
16
|
+
def work_done_progress
|
17
|
+
attributes.fetch(:workDoneProgress)
|
18
|
+
end
|
19
|
+
|
16
20
|
#
|
17
21
|
# CodeActionKinds that this server may return.
|
18
22
|
#
|
19
|
-
# The list of kinds may be generic, such as `CodeActionKind.Refactor`,
|
20
|
-
# 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.
|
21
25
|
#
|
22
26
|
# @return [string[]]
|
23
27
|
def code_action_kinds
|
24
28
|
attributes.fetch(:codeActionKinds)
|
25
29
|
end
|
26
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
|
+
|
27
40
|
attr_reader :attributes
|
28
41
|
|
29
42
|
def to_hash
|