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,15 +1,30 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentHighlightRegistrationOptions
|
5
|
-
def initialize(work_done_progress: nil)
|
4
|
+
class DocumentHighlightRegistrationOptions
|
5
|
+
def initialize(document_selector:, work_done_progress: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:documentSelector] = document_selector
|
8
9
|
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
10
|
|
10
11
|
@attributes.freeze
|
11
12
|
end
|
12
13
|
|
14
|
+
#
|
15
|
+
# A document selector to identify the scope of the registration. If set to
|
16
|
+
# null the document selector provided on the client side will be used.
|
17
|
+
#
|
18
|
+
# @return [DocumentSelector]
|
19
|
+
def document_selector
|
20
|
+
attributes.fetch(:documentSelector)
|
21
|
+
end
|
22
|
+
|
23
|
+
# @return [boolean]
|
24
|
+
def work_done_progress
|
25
|
+
attributes.fetch(:workDoneProgress)
|
26
|
+
end
|
27
|
+
|
13
28
|
attr_reader :attributes
|
14
29
|
|
15
30
|
def to_hash
|
@@ -2,8 +2,8 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
# A document link is a range in a text document that links to an internal or
|
6
|
-
# text document or a web site.
|
5
|
+
# A document link is a range in a text document that links to an internal or
|
6
|
+
# external resource, like another text document or a web site.
|
7
7
|
#
|
8
8
|
class DocumentLink
|
9
9
|
def initialize(range:, target: nil, tooltip: nil, data: nil)
|
@@ -36,9 +36,10 @@ module LanguageServer
|
|
36
36
|
#
|
37
37
|
# The tooltip text when you hover over this link.
|
38
38
|
#
|
39
|
-
# If a tooltip is provided, is will be displayed in a string that includes
|
40
|
-
# trigger the link, such as `{0} (ctrl + click)`.
|
41
|
-
# user settings, and
|
39
|
+
# If a tooltip is provided, is will be displayed in a string that includes
|
40
|
+
# instructions on how to trigger the link, such as `{0} (ctrl + click)`.
|
41
|
+
# The specific instructions vary depending on OS, user settings, and
|
42
|
+
# localization.
|
42
43
|
#
|
43
44
|
# @return [string]
|
44
45
|
def tooltip
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentLinkOptions
|
4
|
+
class DocumentLinkOptions
|
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
|
# Document links have a resolve provider as well.
|
16
21
|
#
|
@@ -1,16 +1,34 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentLinkParams
|
5
|
-
def initialize(partial_result_token: nil, text_document:)
|
4
|
+
class DocumentLinkParams
|
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 document to provide document links for.
|
16
34
|
#
|
@@ -1,16 +1,39 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentLinkRegistrationOptions
|
5
|
-
def initialize(work_done_progress: nil, resolve_provider: nil)
|
4
|
+
class DocumentLinkRegistrationOptions
|
5
|
+
def initialize(document_selector:, work_done_progress: 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[:resolveProvider] = resolve_provider if resolve_provider
|
10
11
|
|
11
12
|
@attributes.freeze
|
12
13
|
end
|
13
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
|
+
# Document links have a resolve provider as well.
|
31
|
+
#
|
32
|
+
# @return [boolean]
|
33
|
+
def resolve_provider
|
34
|
+
attributes.fetch(:resolveProvider)
|
35
|
+
end
|
36
|
+
|
14
37
|
attr_reader :attributes
|
15
38
|
|
16
39
|
def to_hash
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentOnTypeFormattingParams
|
4
|
+
class DocumentOnTypeFormattingParams
|
5
5
|
def initialize(text_document:, position:, ch:, options:)
|
6
6
|
@attributes = {}
|
7
7
|
|
@@ -13,6 +13,22 @@ module LanguageServer
|
|
13
13
|
@attributes.freeze
|
14
14
|
end
|
15
15
|
|
16
|
+
#
|
17
|
+
# The text document.
|
18
|
+
#
|
19
|
+
# @return [TextDocumentIdentifier]
|
20
|
+
def text_document
|
21
|
+
attributes.fetch(:textDocument)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# The position inside the text document.
|
26
|
+
#
|
27
|
+
# @return [Position]
|
28
|
+
def position
|
29
|
+
attributes.fetch(:position)
|
30
|
+
end
|
31
|
+
|
16
32
|
#
|
17
33
|
# The character that has been typed.
|
18
34
|
#
|
data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb
CHANGED
@@ -1,16 +1,42 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentOnTypeFormattingRegistrationOptions
|
5
|
-
def initialize(first_trigger_character:, more_trigger_character: nil)
|
4
|
+
class DocumentOnTypeFormattingRegistrationOptions
|
5
|
+
def initialize(document_selector:, first_trigger_character:, more_trigger_character: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:documentSelector] = document_selector
|
8
9
|
@attributes[:firstTriggerCharacter] = first_trigger_character
|
9
10
|
@attributes[:moreTriggerCharacter] = more_trigger_character if more_trigger_character
|
10
11
|
|
11
12
|
@attributes.freeze
|
12
13
|
end
|
13
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
|
+
#
|
25
|
+
# A character on which formatting should be triggered, like `}`.
|
26
|
+
#
|
27
|
+
# @return [string]
|
28
|
+
def first_trigger_character
|
29
|
+
attributes.fetch(:firstTriggerCharacter)
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
# More trigger characters.
|
34
|
+
#
|
35
|
+
# @return [string[]]
|
36
|
+
def more_trigger_character
|
37
|
+
attributes.fetch(:moreTriggerCharacter)
|
38
|
+
end
|
39
|
+
|
14
40
|
attr_reader :attributes
|
15
41
|
|
16
42
|
def to_hash
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentRangeFormattingOptions
|
4
|
+
class DocumentRangeFormattingOptions
|
5
5
|
def initialize(work_done_progress: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
@@ -10,6 +10,11 @@ module LanguageServer
|
|
10
10
|
@attributes.freeze
|
11
11
|
end
|
12
12
|
|
13
|
+
# @return [boolean]
|
14
|
+
def work_done_progress
|
15
|
+
attributes.fetch(:workDoneProgress)
|
16
|
+
end
|
17
|
+
|
13
18
|
attr_reader :attributes
|
14
19
|
|
15
20
|
def to_hash
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentRangeFormattingParams
|
4
|
+
class DocumentRangeFormattingParams
|
5
5
|
def initialize(work_done_token: nil, text_document:, range:, options:)
|
6
6
|
@attributes = {}
|
7
7
|
|
@@ -13,6 +13,14 @@ module LanguageServer
|
|
13
13
|
@attributes.freeze
|
14
14
|
end
|
15
15
|
|
16
|
+
#
|
17
|
+
# An optional token that a server can use to report work done progress.
|
18
|
+
#
|
19
|
+
# @return [ProgressToken]
|
20
|
+
def work_done_token
|
21
|
+
attributes.fetch(:workDoneToken)
|
22
|
+
end
|
23
|
+
|
16
24
|
#
|
17
25
|
# The document to format.
|
18
26
|
#
|
data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb
CHANGED
@@ -1,15 +1,30 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentRangeFormattingRegistrationOptions
|
5
|
-
def initialize(work_done_progress: nil)
|
4
|
+
class DocumentRangeFormattingRegistrationOptions
|
5
|
+
def initialize(document_selector:, work_done_progress: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
|
+
@attributes[:documentSelector] = document_selector
|
8
9
|
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
10
|
|
10
11
|
@attributes.freeze
|
11
12
|
end
|
12
13
|
|
14
|
+
#
|
15
|
+
# A document selector to identify the scope of the registration. If set to
|
16
|
+
# null the document selector provided on the client side will be used.
|
17
|
+
#
|
18
|
+
# @return [DocumentSelector]
|
19
|
+
def document_selector
|
20
|
+
attributes.fetch(:documentSelector)
|
21
|
+
end
|
22
|
+
|
23
|
+
# @return [boolean]
|
24
|
+
def work_done_progress
|
25
|
+
attributes.fetch(:workDoneProgress)
|
26
|
+
end
|
27
|
+
|
13
28
|
attr_reader :attributes
|
14
29
|
|
15
30
|
def to_hash
|
@@ -2,17 +2,19 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
# Represents programming constructs like variables, classes, interfaces etc.
|
6
|
-
#
|
7
|
-
#
|
5
|
+
# Represents programming constructs like variables, classes, interfaces etc.
|
6
|
+
# that appear in a document. Document symbols can be hierarchical and they
|
7
|
+
# have two ranges: one that encloses its definition and one that points to its
|
8
|
+
# most interesting range, e.g. the range of an identifier.
|
8
9
|
#
|
9
10
|
class DocumentSymbol
|
10
|
-
def initialize(name:, detail: nil, kind:, deprecated: nil, range:, selection_range:, children: nil)
|
11
|
+
def initialize(name:, detail: nil, kind:, tags: nil, deprecated: nil, range:, selection_range:, children: nil)
|
11
12
|
@attributes = {}
|
12
13
|
|
13
14
|
@attributes[:name] = name
|
14
15
|
@attributes[:detail] = detail if detail
|
15
16
|
@attributes[:kind] = kind
|
17
|
+
@attributes[:tags] = tags if tags
|
16
18
|
@attributes[:deprecated] = deprecated if deprecated
|
17
19
|
@attributes[:range] = range
|
18
20
|
@attributes[:selectionRange] = selection_range
|
@@ -22,8 +24,9 @@ module LanguageServer
|
|
22
24
|
end
|
23
25
|
|
24
26
|
#
|
25
|
-
# The name of this symbol. Will be displayed in the user interface and
|
26
|
-
# an empty string or a string only consisting of
|
27
|
+
# The name of this symbol. Will be displayed in the user interface and
|
28
|
+
# therefore must not be an empty string or a string only consisting of
|
29
|
+
# white spaces.
|
27
30
|
#
|
28
31
|
# @return [string]
|
29
32
|
def name
|
@@ -46,6 +49,14 @@ module LanguageServer
|
|
46
49
|
attributes.fetch(:kind)
|
47
50
|
end
|
48
51
|
|
52
|
+
#
|
53
|
+
# Tags for this document symbol.
|
54
|
+
#
|
55
|
+
# @return [1[]]
|
56
|
+
def tags
|
57
|
+
attributes.fetch(:tags)
|
58
|
+
end
|
59
|
+
|
49
60
|
#
|
50
61
|
# Indicates if this symbol is deprecated.
|
51
62
|
#
|
@@ -55,9 +66,10 @@ module LanguageServer
|
|
55
66
|
end
|
56
67
|
|
57
68
|
#
|
58
|
-
# The range enclosing this symbol not including leading/trailing whitespace
|
59
|
-
# like comments. This information is typically used to
|
60
|
-
#
|
69
|
+
# The range enclosing this symbol not including leading/trailing whitespace
|
70
|
+
# but everything else like comments. This information is typically used to
|
71
|
+
# determine if the clients cursor is inside the symbol to reveal in the
|
72
|
+
# symbol in the UI.
|
61
73
|
#
|
62
74
|
# @return [Range]
|
63
75
|
def range
|
@@ -65,8 +77,8 @@ module LanguageServer
|
|
65
77
|
end
|
66
78
|
|
67
79
|
#
|
68
|
-
# The range that should be selected and revealed when this symbol is being
|
69
|
-
# Must be contained by the `range`.
|
80
|
+
# The range that should be selected and revealed when this symbol is being
|
81
|
+
# picked, e.g. the name of a function. Must be contained by the `range`.
|
70
82
|
#
|
71
83
|
# @return [Range]
|
72
84
|
def selection_range
|
@@ -2,12 +2,14 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class DocumentSymbolClientCapabilities
|
5
|
-
def initialize(dynamic_registration: nil, symbol_kind: nil, hierarchical_document_symbol_support: nil)
|
5
|
+
def initialize(dynamic_registration: nil, symbol_kind: nil, hierarchical_document_symbol_support: nil, tag_support: nil, label_support: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
9
|
@attributes[:symbolKind] = symbol_kind if symbol_kind
|
10
10
|
@attributes[:hierarchicalDocumentSymbolSupport] = hierarchical_document_symbol_support if hierarchical_document_symbol_support
|
11
|
+
@attributes[:tagSupport] = tag_support if tag_support
|
12
|
+
@attributes[:labelSupport] = label_support if label_support
|
11
13
|
|
12
14
|
@attributes.freeze
|
13
15
|
end
|
@@ -21,7 +23,8 @@ module LanguageServer
|
|
21
23
|
end
|
22
24
|
|
23
25
|
#
|
24
|
-
# Specific capabilities for the `SymbolKind` in the
|
26
|
+
# Specific capabilities for the `SymbolKind` in the
|
27
|
+
# `textDocument/documentSymbol` request.
|
25
28
|
#
|
26
29
|
# @return [{ valueSet?: any[]; }]
|
27
30
|
def symbol_kind
|
@@ -36,6 +39,25 @@ module LanguageServer
|
|
36
39
|
attributes.fetch(:hierarchicalDocumentSymbolSupport)
|
37
40
|
end
|
38
41
|
|
42
|
+
#
|
43
|
+
# The client supports tags on `SymbolInformation`. Tags are supported on
|
44
|
+
# `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
|
45
|
+
# Clients supporting tags have to handle unknown tags gracefully.
|
46
|
+
#
|
47
|
+
# @return [{ valueSet: 1[]; }]
|
48
|
+
def tag_support
|
49
|
+
attributes.fetch(:tagSupport)
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
# The client supports an additional label presented in the UI when
|
54
|
+
# registering a document symbol provider.
|
55
|
+
#
|
56
|
+
# @return [boolean]
|
57
|
+
def label_support
|
58
|
+
attributes.fetch(:labelSupport)
|
59
|
+
end
|
60
|
+
|
39
61
|
attr_reader :attributes
|
40
62
|
|
41
63
|
def to_hash
|
@@ -1,15 +1,30 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
-
class DocumentSymbolOptions
|
5
|
-
def initialize(work_done_progress: nil)
|
4
|
+
class DocumentSymbolOptions
|
5
|
+
def initialize(work_done_progress: nil, label: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
|
+
@attributes[:label] = label if label
|
9
10
|
|
10
11
|
@attributes.freeze
|
11
12
|
end
|
12
13
|
|
14
|
+
# @return [boolean]
|
15
|
+
def work_done_progress
|
16
|
+
attributes.fetch(:workDoneProgress)
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# A human-readable string that is shown when multiple outlines trees
|
21
|
+
# are shown for the same document.
|
22
|
+
#
|
23
|
+
# @return [string]
|
24
|
+
def label
|
25
|
+
attributes.fetch(:label)
|
26
|
+
end
|
27
|
+
|
13
28
|
attr_reader :attributes
|
14
29
|
|
15
30
|
def to_hash
|