language_server-protocol 3.16.0.1 → 3.17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/language_server/protocol/constant/code_action_kind.rb +25 -24
- data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +24 -0
- data/lib/language_server/protocol/constant/completion_item_tag.rb +4 -2
- data/lib/language_server/protocol/constant/completion_trigger_kind.rb +2 -3
- data/lib/language_server/protocol/constant/diagnostic_severity.rb +3 -0
- data/lib/language_server/protocol/constant/diagnostic_tag.rb +4 -2
- data/lib/language_server/protocol/constant/error_codes.rb +19 -14
- data/lib/language_server/protocol/constant/failure_handling_kind.rb +9 -10
- data/lib/language_server/protocol/constant/file_change_type.rb +1 -1
- data/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +4 -2
- data/lib/language_server/protocol/constant/folding_range_kind.rb +23 -0
- data/lib/language_server/protocol/constant/inlay_hint_kind.rb +21 -0
- data/lib/language_server/protocol/constant/insert_text_format.rb +2 -0
- data/lib/language_server/protocol/constant/insert_text_mode.rb +2 -0
- data/lib/language_server/protocol/constant/lsp_error_codes.rb +55 -0
- data/lib/language_server/protocol/constant/markup_kind.rb +2 -2
- data/lib/language_server/protocol/constant/message_type.rb +3 -0
- data/lib/language_server/protocol/constant/moniker_kind.rb +26 -0
- data/lib/language_server/protocol/constant/notebook_cell_kind.rb +21 -0
- data/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
- data/lib/language_server/protocol/constant/resource_operation_kind.rb +3 -6
- data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +25 -0
- data/lib/language_server/protocol/constant/semantic_token_types.rb +45 -0
- data/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +3 -2
- data/lib/language_server/protocol/constant/symbol_tag.rb +2 -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 +3 -3
- data/lib/language_server/protocol/constant/token_format.rb +1 -1
- data/lib/language_server/protocol/constant/trace_values.rb +20 -0
- data/lib/language_server/protocol/constant/uniqueness_level.rb +33 -0
- data/lib/language_server/protocol/constant.rb +22 -4
- data/lib/language_server/protocol/interface/annotated_text_edit.rb +12 -10
- data/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +4 -1
- data/lib/language_server/protocol/interface/{apply_workspace_edit_response.rb → apply_workspace_edit_result.rb} +11 -7
- data/lib/language_server/protocol/interface/base_symbol_information.rb +68 -0
- data/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +7 -5
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +5 -0
- data/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +16 -11
- data/lib/language_server/protocol/interface/call_hierarchy_item.rb +14 -10
- data/lib/language_server/protocol/interface/call_hierarchy_options.rb +6 -1
- data/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +8 -2
- data/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +16 -11
- data/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +6 -1
- data/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +10 -5
- data/lib/language_server/protocol/interface/cancel_params.rb +1 -1
- data/lib/language_server/protocol/interface/change_annotation.rb +4 -2
- data/lib/language_server/protocol/interface/client_capabilities.rb +22 -6
- data/lib/language_server/protocol/interface/code_action.rb +28 -26
- data/lib/language_server/protocol/interface/code_action_client_capabilities.rb +25 -9
- data/lib/language_server/protocol/interface/code_action_context.rb +20 -10
- data/lib/language_server/protocol/interface/code_action_options.rb +16 -11
- data/lib/language_server/protocol/interface/code_action_params.rb +21 -21
- data/lib/language_server/protocol/interface/code_action_registration_options.rb +19 -14
- data/lib/language_server/protocol/interface/code_description.rb +3 -1
- data/lib/language_server/protocol/interface/code_lens.rb +8 -9
- data/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/code_lens_options.rb +11 -8
- data/lib/language_server/protocol/interface/code_lens_params.rb +17 -14
- data/lib/language_server/protocol/interface/code_lens_registration_options.rb +14 -11
- data/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/color.rb +4 -4
- data/lib/language_server/protocol/interface/color_information.rb +3 -0
- data/lib/language_server/protocol/interface/color_presentation.rb +8 -9
- data/lib/language_server/protocol/interface/color_presentation_params.rb +24 -21
- data/lib/language_server/protocol/interface/command.rb +7 -1
- data/lib/language_server/protocol/interface/completion_client_capabilities.rb +33 -5
- data/lib/language_server/protocol/interface/completion_context.rb +4 -6
- data/lib/language_server/protocol/interface/completion_item.rb +92 -49
- data/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
- data/lib/language_server/protocol/interface/completion_list.rb +28 -5
- data/lib/language_server/protocol/interface/completion_options.rb +36 -25
- data/lib/language_server/protocol/interface/completion_params.rb +18 -16
- data/lib/language_server/protocol/interface/completion_registration_options.rb +42 -28
- data/lib/language_server/protocol/interface/configuration_item.rb +2 -2
- data/lib/language_server/protocol/interface/configuration_params.rb +3 -0
- data/lib/language_server/protocol/interface/create_file.rb +7 -5
- data/lib/language_server/protocol/interface/create_file_options.rb +2 -2
- data/lib/language_server/protocol/interface/create_files_params.rb +4 -2
- data/lib/language_server/protocol/interface/declaration_client_capabilities.rb +8 -5
- data/lib/language_server/protocol/interface/declaration_options.rb +1 -1
- data/lib/language_server/protocol/interface/declaration_params.rb +4 -4
- data/lib/language_server/protocol/interface/declaration_registration_options.rb +5 -5
- data/lib/language_server/protocol/interface/definition_client_capabilities.rb +7 -2
- data/lib/language_server/protocol/interface/definition_options.rb +4 -1
- data/lib/language_server/protocol/interface/definition_params.rb +7 -4
- data/lib/language_server/protocol/interface/definition_registration_options.rb +7 -4
- data/lib/language_server/protocol/interface/delete_file.rb +6 -4
- data/lib/language_server/protocol/interface/delete_file_options.rb +2 -2
- data/lib/language_server/protocol/interface/delete_files_params.rb +4 -2
- data/lib/language_server/protocol/interface/diagnostic.rb +25 -14
- data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
- data/lib/language_server/protocol/interface/diagnostic_options.rb +66 -0
- data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +86 -0
- data/lib/language_server/protocol/interface/diagnostic_related_information.rb +3 -3
- data/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +35 -0
- data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/did_change_configuration_params.rb +4 -1
- data/lib/language_server/protocol/interface/did_change_configuration_registration_options.rb +30 -0
- data/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +62 -0
- data/lib/language_server/protocol/interface/did_change_text_document_params.rb +12 -11
- data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +17 -5
- data/lib/language_server/protocol/interface/did_change_watched_files_params.rb +3 -0
- data/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +1 -1
- data/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +3 -0
- data/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +48 -0
- data/lib/language_server/protocol/interface/did_close_text_document_params.rb +3 -0
- data/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +48 -0
- data/lib/language_server/protocol/interface/did_open_text_document_params.rb +3 -0
- data/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +38 -0
- data/lib/language_server/protocol/interface/did_save_text_document_params.rb +4 -1
- data/lib/language_server/protocol/interface/document_color_client_capabilities.rb +4 -2
- data/lib/language_server/protocol/interface/document_color_options.rb +1 -1
- data/lib/language_server/protocol/interface/document_color_params.rb +17 -14
- data/lib/language_server/protocol/interface/document_color_registration_options.rb +11 -11
- data/lib/language_server/protocol/interface/document_diagnostic_params.rb +75 -0
- data/lib/language_server/protocol/interface/document_diagnostic_report.rb +77 -0
- data/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +35 -0
- data/lib/language_server/protocol/interface/document_filter.rb +25 -19
- data/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/document_formatting_options.rb +4 -1
- data/lib/language_server/protocol/interface/document_formatting_params.rb +13 -10
- data/lib/language_server/protocol/interface/document_formatting_registration_options.rb +7 -4
- data/lib/language_server/protocol/interface/document_highlight.rb +2 -2
- data/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/document_highlight_options.rb +4 -1
- data/lib/language_server/protocol/interface/document_highlight_params.rb +7 -4
- data/lib/language_server/protocol/interface/document_highlight_registration_options.rb +7 -4
- data/lib/language_server/protocol/interface/document_link.rb +10 -9
- data/lib/language_server/protocol/interface/document_link_client_capabilities.rb +7 -2
- data/lib/language_server/protocol/interface/document_link_options.rb +11 -8
- data/lib/language_server/protocol/interface/document_link_params.rb +17 -14
- data/lib/language_server/protocol/interface/document_link_registration_options.rb +14 -11
- data/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +5 -2
- data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +12 -4
- data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +8 -5
- data/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +5 -2
- data/lib/language_server/protocol/interface/document_range_formatting_options.rb +4 -1
- data/lib/language_server/protocol/interface/document_range_formatting_params.rb +13 -10
- data/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +7 -4
- data/lib/language_server/protocol/interface/document_symbol.rb +18 -16
- data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +12 -5
- data/lib/language_server/protocol/interface/document_symbol_options.rb +13 -8
- data/lib/language_server/protocol/interface/document_symbol_params.rb +17 -14
- data/lib/language_server/protocol/interface/document_symbol_registration_options.rb +16 -11
- data/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/execute_command_options.rb +10 -7
- data/lib/language_server/protocol/interface/execute_command_params.rb +14 -11
- data/lib/language_server/protocol/interface/execute_command_registration_options.rb +8 -8
- data/lib/language_server/protocol/interface/execution_summary.rb +45 -0
- data/lib/language_server/protocol/interface/file_create.rb +2 -0
- data/lib/language_server/protocol/interface/file_delete.rb +2 -0
- data/lib/language_server/protocol/interface/file_event.rb +3 -3
- data/lib/language_server/protocol/interface/file_operation_client_capabilities.rb +95 -0
- data/lib/language_server/protocol/interface/file_operation_filter.rb +5 -3
- data/lib/language_server/protocol/interface/file_operation_options.rb +83 -0
- data/lib/language_server/protocol/interface/file_operation_pattern.rb +8 -10
- data/lib/language_server/protocol/interface/file_operation_pattern_options.rb +3 -1
- data/lib/language_server/protocol/interface/file_operation_registration_options.rb +2 -0
- data/lib/language_server/protocol/interface/file_rename.rb +2 -0
- data/lib/language_server/protocol/interface/file_system_watcher.rb +4 -14
- data/lib/language_server/protocol/interface/folding_range.rb +30 -23
- data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +26 -4
- data/lib/language_server/protocol/interface/folding_range_options.rb +1 -1
- data/lib/language_server/protocol/interface/folding_range_params.rb +17 -14
- data/lib/language_server/protocol/interface/folding_range_registration_options.rb +5 -5
- data/lib/language_server/protocol/interface/formatting_options.rb +10 -4
- data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +58 -0
- data/lib/language_server/protocol/interface/general_client_capabilities.rb +91 -0
- data/lib/language_server/protocol/interface/glob_pattern.rb +48 -0
- data/lib/language_server/protocol/interface/hover.rb +3 -3
- data/lib/language_server/protocol/interface/hover_client_capabilities.rb +4 -5
- data/lib/language_server/protocol/interface/hover_options.rb +4 -1
- data/lib/language_server/protocol/interface/hover_params.rb +4 -1
- data/lib/language_server/protocol/interface/hover_registration_options.rb +7 -4
- data/lib/language_server/protocol/interface/implementation_client_capabilities.rb +10 -5
- data/lib/language_server/protocol/interface/implementation_options.rb +1 -1
- data/lib/language_server/protocol/interface/implementation_params.rb +4 -4
- data/lib/language_server/protocol/interface/implementation_registration_options.rb +5 -5
- data/lib/language_server/protocol/interface/initialize_error.rb +2 -1
- data/lib/language_server/protocol/interface/initialize_params.rb +41 -29
- data/lib/language_server/protocol/interface/initialize_result.rb +6 -1
- data/lib/language_server/protocol/interface/inlay_hint.rb +118 -0
- data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +48 -0
- data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +81 -0
- data/lib/language_server/protocol/interface/inlay_hint_options.rb +45 -0
- data/lib/language_server/protocol/interface/inlay_hint_params.rb +56 -0
- data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +65 -0
- data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/inline_value.rb +78 -0
- data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +38 -0
- data/lib/language_server/protocol/interface/inline_value_context.rb +46 -0
- data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +50 -0
- data/lib/language_server/protocol/interface/inline_value_options.rb +35 -0
- data/lib/language_server/protocol/interface/inline_value_params.rb +66 -0
- data/lib/language_server/protocol/interface/inline_value_registration_options.rb +55 -0
- data/lib/language_server/protocol/interface/inline_value_text.rb +47 -0
- data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +59 -0
- data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +44 -0
- data/lib/language_server/protocol/interface/insert_replace_edit.rb +2 -0
- data/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +8 -4
- data/lib/language_server/protocol/interface/linked_editing_range_options.rb +1 -1
- data/lib/language_server/protocol/interface/linked_editing_range_params.rb +1 -1
- data/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +5 -5
- data/lib/language_server/protocol/interface/linked_editing_ranges.rb +7 -2
- data/lib/language_server/protocol/interface/location.rb +5 -1
- data/lib/language_server/protocol/interface/location_link.rb +13 -11
- data/lib/language_server/protocol/interface/log_message_params.rb +4 -1
- data/lib/language_server/protocol/interface/log_trace_params.rb +1 -8
- data/lib/language_server/protocol/interface/{message.rb → lsp_object.rb} +6 -8
- data/lib/language_server/protocol/interface/markdown_client_capabilities.rb +16 -2
- data/lib/language_server/protocol/interface/markup_content.rb +16 -18
- data/lib/language_server/protocol/interface/moniker.rb +3 -1
- data/lib/language_server/protocol/interface/moniker_client_capabilities.rb +9 -5
- data/lib/language_server/protocol/interface/moniker_options.rb +1 -1
- data/lib/language_server/protocol/interface/moniker_params.rb +4 -4
- data/lib/language_server/protocol/interface/moniker_registration_options.rb +4 -4
- data/lib/language_server/protocol/interface/notebook_cell.rb +73 -0
- data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +57 -0
- data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +54 -0
- data/lib/language_server/protocol/interface/notebook_document.rb +78 -0
- data/lib/language_server/protocol/interface/notebook_document_change_event.rb +49 -0
- data/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +40 -0
- data/lib/language_server/protocol/interface/notebook_document_filter.rb +58 -0
- data/lib/language_server/protocol/interface/notebook_document_identifier.rb +38 -0
- data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +50 -0
- data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +58 -0
- data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +58 -0
- data/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +17 -18
- data/lib/language_server/protocol/interface/parameter_information.rb +7 -9
- data/lib/language_server/protocol/interface/partial_result_params.rb +3 -3
- data/lib/language_server/protocol/interface/position.rb +40 -7
- data/lib/language_server/protocol/interface/prepare_rename_params.rb +10 -1
- data/lib/language_server/protocol/interface/prepare_rename_result.rb +60 -0
- data/lib/language_server/protocol/interface/previous_result_id.rb +48 -0
- data/lib/language_server/protocol/interface/progress_params.rb +1 -1
- data/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +16 -5
- data/lib/language_server/protocol/interface/publish_diagnostics_params.rb +8 -4
- data/lib/language_server/protocol/interface/range.rb +13 -0
- data/lib/language_server/protocol/interface/reference_client_capabilities.rb +4 -1
- data/lib/language_server/protocol/interface/reference_context.rb +4 -0
- data/lib/language_server/protocol/interface/reference_options.rb +4 -1
- data/lib/language_server/protocol/interface/reference_params.rb +14 -11
- data/lib/language_server/protocol/interface/reference_registration_options.rb +7 -4
- data/lib/language_server/protocol/interface/registration.rb +2 -2
- data/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +3 -1
- data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +73 -0
- data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +66 -0
- data/lib/language_server/protocol/interface/relative_pattern.rb +50 -0
- data/lib/language_server/protocol/interface/rename_client_capabilities.rb +12 -7
- data/lib/language_server/protocol/interface/rename_file.rb +7 -5
- data/lib/language_server/protocol/interface/rename_file_options.rb +2 -2
- data/lib/language_server/protocol/interface/rename_files_params.rb +6 -4
- data/lib/language_server/protocol/interface/rename_options.rb +13 -8
- data/lib/language_server/protocol/interface/rename_params.rb +15 -12
- data/lib/language_server/protocol/interface/rename_registration_options.rb +16 -11
- data/lib/language_server/protocol/interface/resource_operation.rb +47 -0
- data/lib/language_server/protocol/interface/save_options.rb +4 -1
- data/lib/language_server/protocol/interface/selection_range.rb +6 -3
- data/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +4 -5
- data/lib/language_server/protocol/interface/selection_range_options.rb +1 -1
- data/lib/language_server/protocol/interface/selection_range_params.rb +23 -20
- data/lib/language_server/protocol/interface/selection_range_registration_options.rb +5 -5
- data/lib/language_server/protocol/interface/semantic_tokens.rb +5 -2
- data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +45 -11
- data/lib/language_server/protocol/interface/semantic_tokens_delta.rb +5 -3
- data/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +24 -21
- data/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +3 -0
- data/lib/language_server/protocol/interface/semantic_tokens_edit.rb +6 -3
- data/lib/language_server/protocol/interface/semantic_tokens_legend.rb +3 -0
- data/lib/language_server/protocol/interface/semantic_tokens_options.rb +12 -9
- data/lib/language_server/protocol/interface/semantic_tokens_params.rb +17 -14
- data/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +4 -1
- data/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +23 -20
- data/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +16 -13
- data/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +5 -2
- data/lib/language_server/protocol/interface/server_capabilities.rb +139 -56
- data/lib/language_server/protocol/interface/set_trace_params.rb +1 -4
- data/lib/language_server/protocol/interface/show_document_client_capabilities.rb +4 -2
- data/lib/language_server/protocol/interface/show_document_params.rb +6 -4
- data/lib/language_server/protocol/interface/show_document_result.rb +3 -1
- data/lib/language_server/protocol/interface/show_message_params.rb +4 -1
- data/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/show_message_request_params.rb +2 -2
- data/lib/language_server/protocol/interface/signature_help.rb +3 -4
- data/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +8 -3
- data/lib/language_server/protocol/interface/signature_help_context.rb +10 -11
- data/lib/language_server/protocol/interface/signature_help_options.rb +17 -14
- data/lib/language_server/protocol/interface/signature_help_params.rb +17 -13
- data/lib/language_server/protocol/interface/signature_help_registration_options.rb +20 -17
- data/lib/language_server/protocol/interface/signature_information.rb +5 -3
- data/lib/language_server/protocol/interface/static_registration_options.rb +3 -2
- data/lib/language_server/protocol/interface/symbol_information.rb +34 -30
- data/lib/language_server/protocol/interface/t.rb +24 -0
- data/lib/language_server/protocol/interface/text_document_change_registration_options.rb +12 -13
- data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +108 -43
- data/lib/language_server/protocol/interface/text_document_content_change_event.rb +8 -10
- data/lib/language_server/protocol/interface/text_document_edit.rb +10 -1
- data/lib/language_server/protocol/interface/text_document_filter.rb +69 -0
- data/lib/language_server/protocol/interface/text_document_identifier.rb +5 -2
- data/lib/language_server/protocol/interface/text_document_item.rb +7 -3
- data/lib/language_server/protocol/interface/text_document_position_params.rb +4 -0
- 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 +7 -4
- data/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +4 -4
- data/lib/language_server/protocol/interface/text_document_sync_options.rb +15 -17
- data/lib/language_server/protocol/interface/text_edit.rb +3 -0
- data/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +10 -5
- data/lib/language_server/protocol/interface/type_definition_options.rb +1 -1
- data/lib/language_server/protocol/interface/type_definition_params.rb +4 -4
- data/lib/language_server/protocol/interface/type_definition_registration_options.rb +5 -5
- data/lib/language_server/protocol/interface/type_hierarchy_client_capabilities.rb +38 -0
- data/lib/language_server/protocol/interface/type_hierarchy_item.rb +105 -0
- data/lib/language_server/protocol/interface/type_hierarchy_options.rb +35 -0
- data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +56 -0
- data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +55 -0
- data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +54 -0
- data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +54 -0
- data/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +52 -0
- data/lib/language_server/protocol/interface/unregistration.rb +2 -2
- data/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +47 -0
- data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +13 -13
- data/lib/language_server/protocol/interface/will_save_text_document_params.rb +1 -1
- data/lib/language_server/protocol/interface/window_client_capabilities.rb +63 -0
- data/lib/language_server/protocol/interface/work_done_progress_begin.rb +6 -6
- data/lib/language_server/protocol/interface/work_done_progress_end.rb +1 -1
- data/lib/language_server/protocol/interface/work_done_progress_options.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 +6 -7
- data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +176 -0
- data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +67 -0
- data/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +35 -0
- data/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +35 -0
- data/lib/language_server/protocol/interface/workspace_document_diagnostic_report.rb +77 -0
- data/lib/language_server/protocol/interface/workspace_edit.rb +28 -17
- data/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +15 -6
- data/lib/language_server/protocol/interface/workspace_folder.rb +4 -1
- data/lib/language_server/protocol/interface/workspace_folders_initialize_params.rb +39 -0
- data/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +3 -3
- data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +77 -0
- data/lib/language_server/protocol/interface/workspace_symbol.rb +95 -0
- data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +23 -6
- data/lib/language_server/protocol/interface/workspace_symbol_options.rb +17 -2
- data/lib/language_server/protocol/interface/workspace_symbol_params.rb +16 -16
- data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +17 -2
- data/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +70 -0
- data/lib/language_server/protocol/interface.rb +156 -14
- 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 +92 -24
- data/lib/language_server/protocol/constant/initialize_error.rb +0 -16
- data/lib/language_server/protocol/interface/notification_message.rb +0 -48
- data/lib/language_server/protocol/interface/request_message.rb +0 -57
- data/lib/language_server/protocol/interface/response_error.rb +0 -52
- data/lib/language_server/protocol/interface/response_message.rb +0 -58
@@ -1,25 +1,20 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
+
#
|
5
|
+
# The parameters of a [ExecuteCommandRequest](#ExecuteCommandRequest).
|
6
|
+
#
|
4
7
|
class ExecuteCommandParams
|
5
|
-
def initialize(
|
8
|
+
def initialize(command:, arguments: nil, work_done_token: nil)
|
6
9
|
@attributes = {}
|
7
10
|
|
8
|
-
@attributes[:workDoneToken] = work_done_token if work_done_token
|
9
11
|
@attributes[:command] = command
|
10
12
|
@attributes[:arguments] = arguments if arguments
|
13
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
11
14
|
|
12
15
|
@attributes.freeze
|
13
16
|
end
|
14
17
|
|
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
18
|
#
|
24
19
|
# The identifier of the actual command handler.
|
25
20
|
#
|
@@ -31,11 +26,19 @@ module LanguageServer
|
|
31
26
|
#
|
32
27
|
# Arguments that the command should be invoked with.
|
33
28
|
#
|
34
|
-
# @return [
|
29
|
+
# @return [LSPAny[] | nil]
|
35
30
|
def arguments
|
36
31
|
attributes.fetch(:arguments)
|
37
32
|
end
|
38
33
|
|
34
|
+
#
|
35
|
+
# An optional token that a server can use to report work done progress.
|
36
|
+
#
|
37
|
+
# @return [ProgressToken | nil]
|
38
|
+
def work_done_token
|
39
|
+
attributes.fetch(:workDoneToken)
|
40
|
+
end
|
41
|
+
|
39
42
|
attr_reader :attributes
|
40
43
|
|
41
44
|
def to_hash
|
@@ -2,23 +2,18 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
#
|
5
|
+
# Registration options for a [ExecuteCommandRequest](#ExecuteCommandRequest).
|
6
6
|
#
|
7
7
|
class ExecuteCommandRegistrationOptions
|
8
|
-
def initialize(work_done_progress: nil
|
8
|
+
def initialize(commands:, work_done_progress: nil)
|
9
9
|
@attributes = {}
|
10
10
|
|
11
|
-
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
12
11
|
@attributes[:commands] = commands
|
12
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
13
13
|
|
14
14
|
@attributes.freeze
|
15
15
|
end
|
16
16
|
|
17
|
-
# @return [boolean]
|
18
|
-
def work_done_progress
|
19
|
-
attributes.fetch(:workDoneProgress)
|
20
|
-
end
|
21
|
-
|
22
17
|
#
|
23
18
|
# The commands to be executed on the server
|
24
19
|
#
|
@@ -27,6 +22,11 @@ module LanguageServer
|
|
27
22
|
attributes.fetch(:commands)
|
28
23
|
end
|
29
24
|
|
25
|
+
# @return [boolean | nil]
|
26
|
+
def work_done_progress
|
27
|
+
attributes.fetch(:workDoneProgress)
|
28
|
+
end
|
29
|
+
|
30
30
|
attr_reader :attributes
|
31
31
|
|
32
32
|
def to_hash
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class ExecutionSummary
|
5
|
+
def initialize(execution_order:, success: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:executionOrder] = execution_order
|
9
|
+
@attributes[:success] = success if success
|
10
|
+
|
11
|
+
@attributes.freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
#
|
15
|
+
# A strict monotonically increasing value
|
16
|
+
# indicating the execution order of a cell
|
17
|
+
# inside a notebook.
|
18
|
+
#
|
19
|
+
# @return [uinteger]
|
20
|
+
def execution_order
|
21
|
+
attributes.fetch(:executionOrder)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# Whether the execution was successful or
|
26
|
+
# not if known by the client.
|
27
|
+
#
|
28
|
+
# @return [boolean | nil]
|
29
|
+
def success
|
30
|
+
attributes.fetch(:success)
|
31
|
+
end
|
32
|
+
|
33
|
+
attr_reader :attributes
|
34
|
+
|
35
|
+
def to_hash
|
36
|
+
attributes
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_json(*args)
|
40
|
+
to_hash.to_json(*args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -15,9 +15,9 @@ module LanguageServer
|
|
15
15
|
end
|
16
16
|
|
17
17
|
#
|
18
|
-
# The file's
|
18
|
+
# The file's uri.
|
19
19
|
#
|
20
|
-
# @return [
|
20
|
+
# @return [DocumentUri]
|
21
21
|
def uri
|
22
22
|
attributes.fetch(:uri)
|
23
23
|
end
|
@@ -25,7 +25,7 @@ module LanguageServer
|
|
25
25
|
#
|
26
26
|
# The change type.
|
27
27
|
#
|
28
|
-
# @return [
|
28
|
+
# @return [FileChangeType]
|
29
29
|
def type
|
30
30
|
attributes.fetch(:type)
|
31
31
|
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Capabilities relating to events from file operations by the user in the client.
|
6
|
+
#
|
7
|
+
# These events do not come from the file system, they come from user operations
|
8
|
+
# like renaming a file in the UI.
|
9
|
+
#
|
10
|
+
# @since 3.16.0
|
11
|
+
#
|
12
|
+
class FileOperationClientCapabilities
|
13
|
+
def initialize(dynamic_registration: nil, did_create: nil, will_create: nil, did_rename: nil, will_rename: nil, did_delete: nil, will_delete: nil)
|
14
|
+
@attributes = {}
|
15
|
+
|
16
|
+
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
17
|
+
@attributes[:didCreate] = did_create if did_create
|
18
|
+
@attributes[:willCreate] = will_create if will_create
|
19
|
+
@attributes[:didRename] = did_rename if did_rename
|
20
|
+
@attributes[:willRename] = will_rename if will_rename
|
21
|
+
@attributes[:didDelete] = did_delete if did_delete
|
22
|
+
@attributes[:willDelete] = will_delete if will_delete
|
23
|
+
|
24
|
+
@attributes.freeze
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Whether the client supports dynamic registration for file requests/notifications.
|
29
|
+
#
|
30
|
+
# @return [boolean | nil]
|
31
|
+
def dynamic_registration
|
32
|
+
attributes.fetch(:dynamicRegistration)
|
33
|
+
end
|
34
|
+
|
35
|
+
#
|
36
|
+
# The client has support for sending didCreateFiles notifications.
|
37
|
+
#
|
38
|
+
# @return [boolean | nil]
|
39
|
+
def did_create
|
40
|
+
attributes.fetch(:didCreate)
|
41
|
+
end
|
42
|
+
|
43
|
+
#
|
44
|
+
# The client has support for sending willCreateFiles requests.
|
45
|
+
#
|
46
|
+
# @return [boolean | nil]
|
47
|
+
def will_create
|
48
|
+
attributes.fetch(:willCreate)
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# The client has support for sending didRenameFiles notifications.
|
53
|
+
#
|
54
|
+
# @return [boolean | nil]
|
55
|
+
def did_rename
|
56
|
+
attributes.fetch(:didRename)
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# The client has support for sending willRenameFiles requests.
|
61
|
+
#
|
62
|
+
# @return [boolean | nil]
|
63
|
+
def will_rename
|
64
|
+
attributes.fetch(:willRename)
|
65
|
+
end
|
66
|
+
|
67
|
+
#
|
68
|
+
# The client has support for sending didDeleteFiles notifications.
|
69
|
+
#
|
70
|
+
# @return [boolean | nil]
|
71
|
+
def did_delete
|
72
|
+
attributes.fetch(:didDelete)
|
73
|
+
end
|
74
|
+
|
75
|
+
#
|
76
|
+
# The client has support for sending willDeleteFiles requests.
|
77
|
+
#
|
78
|
+
# @return [boolean | nil]
|
79
|
+
def will_delete
|
80
|
+
attributes.fetch(:willDelete)
|
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
|
@@ -3,7 +3,9 @@ module LanguageServer
|
|
3
3
|
module Interface
|
4
4
|
#
|
5
5
|
# A filter to describe in which file operation requests or notifications
|
6
|
-
# the server is interested in.
|
6
|
+
# the server is interested in receiving.
|
7
|
+
#
|
8
|
+
# @since 3.16.0
|
7
9
|
#
|
8
10
|
class FileOperationFilter
|
9
11
|
def initialize(scheme: nil, pattern:)
|
@@ -16,9 +18,9 @@ module LanguageServer
|
|
16
18
|
end
|
17
19
|
|
18
20
|
#
|
19
|
-
# A Uri like `file` or `untitled`.
|
21
|
+
# A Uri scheme like `file` or `untitled`.
|
20
22
|
#
|
21
|
-
# @return [string]
|
23
|
+
# @return [string | nil]
|
22
24
|
def scheme
|
23
25
|
attributes.fetch(:scheme)
|
24
26
|
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Options for notifications/requests for user operations on files.
|
6
|
+
#
|
7
|
+
# @since 3.16.0
|
8
|
+
#
|
9
|
+
class FileOperationOptions
|
10
|
+
def initialize(did_create: nil, will_create: nil, did_rename: nil, will_rename: nil, did_delete: nil, will_delete: nil)
|
11
|
+
@attributes = {}
|
12
|
+
|
13
|
+
@attributes[:didCreate] = did_create if did_create
|
14
|
+
@attributes[:willCreate] = will_create if will_create
|
15
|
+
@attributes[:didRename] = did_rename if did_rename
|
16
|
+
@attributes[:willRename] = will_rename if will_rename
|
17
|
+
@attributes[:didDelete] = did_delete if did_delete
|
18
|
+
@attributes[:willDelete] = will_delete if will_delete
|
19
|
+
|
20
|
+
@attributes.freeze
|
21
|
+
end
|
22
|
+
|
23
|
+
#
|
24
|
+
# The server is interested in receiving didCreateFiles notifications.
|
25
|
+
#
|
26
|
+
# @return [FileOperationRegistrationOptions | nil]
|
27
|
+
def did_create
|
28
|
+
attributes.fetch(:didCreate)
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# The server is interested in receiving willCreateFiles requests.
|
33
|
+
#
|
34
|
+
# @return [FileOperationRegistrationOptions | nil]
|
35
|
+
def will_create
|
36
|
+
attributes.fetch(:willCreate)
|
37
|
+
end
|
38
|
+
|
39
|
+
#
|
40
|
+
# The server is interested in receiving didRenameFiles notifications.
|
41
|
+
#
|
42
|
+
# @return [FileOperationRegistrationOptions | nil]
|
43
|
+
def did_rename
|
44
|
+
attributes.fetch(:didRename)
|
45
|
+
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# The server is interested in receiving willRenameFiles requests.
|
49
|
+
#
|
50
|
+
# @return [FileOperationRegistrationOptions | nil]
|
51
|
+
def will_rename
|
52
|
+
attributes.fetch(:willRename)
|
53
|
+
end
|
54
|
+
|
55
|
+
#
|
56
|
+
# The server is interested in receiving didDeleteFiles file notifications.
|
57
|
+
#
|
58
|
+
# @return [FileOperationRegistrationOptions | nil]
|
59
|
+
def did_delete
|
60
|
+
attributes.fetch(:didDelete)
|
61
|
+
end
|
62
|
+
|
63
|
+
#
|
64
|
+
# The server is interested in receiving willDeleteFiles file requests.
|
65
|
+
#
|
66
|
+
# @return [FileOperationRegistrationOptions | nil]
|
67
|
+
def will_delete
|
68
|
+
attributes.fetch(:willDelete)
|
69
|
+
end
|
70
|
+
|
71
|
+
attr_reader :attributes
|
72
|
+
|
73
|
+
def to_hash
|
74
|
+
attributes
|
75
|
+
end
|
76
|
+
|
77
|
+
def to_json(*args)
|
78
|
+
to_hash.to_json(*args)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -3,7 +3,9 @@ module LanguageServer
|
|
3
3
|
module Interface
|
4
4
|
#
|
5
5
|
# A pattern to describe in which file operation requests or notifications
|
6
|
-
# the server is interested in.
|
6
|
+
# the server is interested in receiving.
|
7
|
+
#
|
8
|
+
# @since 3.16.0
|
7
9
|
#
|
8
10
|
class FileOperationPattern
|
9
11
|
def initialize(glob:, matches: nil, options: nil)
|
@@ -21,13 +23,9 @@ module LanguageServer
|
|
21
23
|
# - `*` to match one or more characters in a path segment
|
22
24
|
# - `?` to match on one character in a path segment
|
23
25
|
# - `**` to match any number of path segments, including none
|
24
|
-
# - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}`
|
25
|
-
#
|
26
|
-
# - `[]` to
|
27
|
-
# (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
|
28
|
-
# - `[!...]` to negate a range of characters to match in a path segment
|
29
|
-
# (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but
|
30
|
-
# not `example.0`)
|
26
|
+
# - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
|
27
|
+
# - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
|
28
|
+
# - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
|
31
29
|
#
|
32
30
|
# @return [string]
|
33
31
|
def glob
|
@@ -39,7 +37,7 @@ module LanguageServer
|
|
39
37
|
#
|
40
38
|
# Matches both if undefined.
|
41
39
|
#
|
42
|
-
# @return [FileOperationPatternKind]
|
40
|
+
# @return [FileOperationPatternKind | nil]
|
43
41
|
def matches
|
44
42
|
attributes.fetch(:matches)
|
45
43
|
end
|
@@ -47,7 +45,7 @@ module LanguageServer
|
|
47
45
|
#
|
48
46
|
# Additional options used during matching.
|
49
47
|
#
|
50
|
-
# @return [FileOperationPatternOptions]
|
48
|
+
# @return [FileOperationPatternOptions | nil]
|
51
49
|
def options
|
52
50
|
attributes.fetch(:options)
|
53
51
|
end
|
@@ -4,6 +4,8 @@ module LanguageServer
|
|
4
4
|
#
|
5
5
|
# Matching options for the file operation pattern.
|
6
6
|
#
|
7
|
+
# @since 3.16.0
|
8
|
+
#
|
7
9
|
class FileOperationPatternOptions
|
8
10
|
def initialize(ignore_case: nil)
|
9
11
|
@attributes = {}
|
@@ -16,7 +18,7 @@ module LanguageServer
|
|
16
18
|
#
|
17
19
|
# The pattern should be matched ignoring casing.
|
18
20
|
#
|
19
|
-
# @return [boolean]
|
21
|
+
# @return [boolean | nil]
|
20
22
|
def ignore_case
|
21
23
|
attributes.fetch(:ignoreCase)
|
22
24
|
end
|
@@ -12,21 +12,11 @@ module LanguageServer
|
|
12
12
|
end
|
13
13
|
|
14
14
|
#
|
15
|
-
# The
|
15
|
+
# The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
|
16
16
|
#
|
17
|
-
#
|
18
|
-
# - `*` to match one or more characters in a path segment
|
19
|
-
# - `?` to match on one character in a path segment
|
20
|
-
# - `**` to match any number of path segments, including none
|
21
|
-
# - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}`
|
22
|
-
# matches all TypeScript and JavaScript files)
|
23
|
-
# - `[]` to declare a range of characters to match in a path segment
|
24
|
-
# (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
|
25
|
-
# - `[!...]` to negate a range of characters to match in a path segment
|
26
|
-
# (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not
|
27
|
-
# `example.0`)
|
17
|
+
# @since 3.17.0 support for relative patterns.
|
28
18
|
#
|
29
|
-
# @return [
|
19
|
+
# @return [GlobPattern]
|
30
20
|
def glob_pattern
|
31
21
|
attributes.fetch(:globPattern)
|
32
22
|
end
|
@@ -36,7 +26,7 @@ module LanguageServer
|
|
36
26
|
# to WatchKind.Create | WatchKind.Change | WatchKind.Delete
|
37
27
|
# which is 7.
|
38
28
|
#
|
39
|
-
# @return [
|
29
|
+
# @return [WatchKind | nil]
|
40
30
|
def kind
|
41
31
|
attributes.fetch(:kind)
|
42
32
|
end
|
@@ -2,12 +2,11 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
# Represents a folding range. To be valid, start and end line must be bigger
|
6
|
-
# than
|
7
|
-
# are free to ignore invalid ranges.
|
5
|
+
# Represents a folding range. To be valid, start and end line must be bigger than zero and smaller
|
6
|
+
# than the number of lines in the document. Clients are free to ignore invalid ranges.
|
8
7
|
#
|
9
8
|
class FoldingRange
|
10
|
-
def initialize(start_line:, start_character: nil, end_line:, end_character: nil, kind: nil)
|
9
|
+
def initialize(start_line:, start_character: nil, end_line:, end_character: nil, kind: nil, collapsed_text: nil)
|
11
10
|
@attributes = {}
|
12
11
|
|
13
12
|
@attributes[:startLine] = start_line
|
@@ -15,59 +14,67 @@ module LanguageServer
|
|
15
14
|
@attributes[:endLine] = end_line
|
16
15
|
@attributes[:endCharacter] = end_character if end_character
|
17
16
|
@attributes[:kind] = kind if kind
|
17
|
+
@attributes[:collapsedText] = collapsed_text if collapsed_text
|
18
18
|
|
19
19
|
@attributes.freeze
|
20
20
|
end
|
21
21
|
|
22
22
|
#
|
23
|
-
# The zero-based start line of the range to fold. The folded area starts
|
24
|
-
#
|
25
|
-
# larger and smaller than the number of lines in the document.
|
23
|
+
# The zero-based start line of the range to fold. The folded area starts after the line's last character.
|
24
|
+
# To be valid, the end must be zero or larger and smaller than the number of lines in the document.
|
26
25
|
#
|
27
|
-
# @return [
|
26
|
+
# @return [uinteger]
|
28
27
|
def start_line
|
29
28
|
attributes.fetch(:startLine)
|
30
29
|
end
|
31
30
|
|
32
31
|
#
|
33
|
-
# The zero-based character offset from where the folded range starts. If
|
34
|
-
# not defined, defaults to the length of the start line.
|
32
|
+
# The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line.
|
35
33
|
#
|
36
|
-
# @return [
|
34
|
+
# @return [uinteger | nil]
|
37
35
|
def start_character
|
38
36
|
attributes.fetch(:startCharacter)
|
39
37
|
end
|
40
38
|
|
41
39
|
#
|
42
|
-
# The zero-based end line of the range to fold. The folded area ends with
|
43
|
-
#
|
44
|
-
# and smaller than the number of lines in the document.
|
40
|
+
# The zero-based end line of the range to fold. The folded area ends with the line's last character.
|
41
|
+
# To be valid, the end must be zero or larger and smaller than the number of lines in the document.
|
45
42
|
#
|
46
|
-
# @return [
|
43
|
+
# @return [uinteger]
|
47
44
|
def end_line
|
48
45
|
attributes.fetch(:endLine)
|
49
46
|
end
|
50
47
|
|
51
48
|
#
|
52
|
-
# The zero-based character offset before the folded range ends. If not
|
53
|
-
# defined, defaults to the length of the end line.
|
49
|
+
# The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line.
|
54
50
|
#
|
55
|
-
# @return [
|
51
|
+
# @return [uinteger | nil]
|
56
52
|
def end_character
|
57
53
|
attributes.fetch(:endCharacter)
|
58
54
|
end
|
59
55
|
|
60
56
|
#
|
61
|
-
# Describes the kind of the folding range such as `comment
|
62
|
-
#
|
63
|
-
#
|
64
|
-
# enumeration of standardized kinds.
|
57
|
+
# Describes the kind of the folding range such as `comment' or 'region'. The kind
|
58
|
+
# is used to categorize folding ranges and used by commands like 'Fold all comments'.
|
59
|
+
# See [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds.
|
65
60
|
#
|
66
|
-
# @return [
|
61
|
+
# @return [FoldingRangeKind | nil]
|
67
62
|
def kind
|
68
63
|
attributes.fetch(:kind)
|
69
64
|
end
|
70
65
|
|
66
|
+
#
|
67
|
+
# The text that the client should show when the specified range is
|
68
|
+
# collapsed. If not defined or not supported by the client, a default
|
69
|
+
# will be chosen by the client.
|
70
|
+
#
|
71
|
+
# @since 3.17.0
|
72
|
+
#
|
73
|
+
# @return [string | nil]
|
74
|
+
def collapsed_text
|
75
|
+
attributes.fetch(:collapsedText)
|
76
|
+
end
|
77
|
+
|
71
78
|
attr_reader :attributes
|
72
79
|
|
73
80
|
def to_hash
|
@@ -2,12 +2,14 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
class FoldingRangeClientCapabilities
|
5
|
-
def initialize(dynamic_registration: nil, range_limit: nil, line_folding_only: nil)
|
5
|
+
def initialize(dynamic_registration: nil, range_limit: nil, line_folding_only: nil, folding_range_kind: nil, folding_range: nil)
|
6
6
|
@attributes = {}
|
7
7
|
|
8
8
|
@attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
|
9
9
|
@attributes[:rangeLimit] = range_limit if range_limit
|
10
10
|
@attributes[:lineFoldingOnly] = line_folding_only if line_folding_only
|
11
|
+
@attributes[:foldingRangeKind] = folding_range_kind if folding_range_kind
|
12
|
+
@attributes[:foldingRange] = folding_range if folding_range
|
11
13
|
|
12
14
|
@attributes.freeze
|
13
15
|
end
|
@@ -18,7 +20,7 @@ module LanguageServer
|
|
18
20
|
# `FoldingRangeRegistrationOptions` return value for the corresponding
|
19
21
|
# server capability as well.
|
20
22
|
#
|
21
|
-
# @return [boolean]
|
23
|
+
# @return [boolean | nil]
|
22
24
|
def dynamic_registration
|
23
25
|
attributes.fetch(:dynamicRegistration)
|
24
26
|
end
|
@@ -28,7 +30,7 @@ module LanguageServer
|
|
28
30
|
# per document. The value serves as a hint, servers are free to follow the
|
29
31
|
# limit.
|
30
32
|
#
|
31
|
-
# @return [
|
33
|
+
# @return [uinteger | nil]
|
32
34
|
def range_limit
|
33
35
|
attributes.fetch(:rangeLimit)
|
34
36
|
end
|
@@ -38,11 +40,31 @@ module LanguageServer
|
|
38
40
|
# If set, client will ignore specified `startCharacter` and `endCharacter`
|
39
41
|
# properties in a FoldingRange.
|
40
42
|
#
|
41
|
-
# @return [boolean]
|
43
|
+
# @return [boolean | nil]
|
42
44
|
def line_folding_only
|
43
45
|
attributes.fetch(:lineFoldingOnly)
|
44
46
|
end
|
45
47
|
|
48
|
+
#
|
49
|
+
# Specific options for the folding range kind.
|
50
|
+
#
|
51
|
+
# @since 3.17.0
|
52
|
+
#
|
53
|
+
# @return [{ valueSet:FoldingRangeKind[] } | nil]
|
54
|
+
def folding_range_kind
|
55
|
+
attributes.fetch(:foldingRangeKind)
|
56
|
+
end
|
57
|
+
|
58
|
+
#
|
59
|
+
# Specific options for the folding range.
|
60
|
+
#
|
61
|
+
# @since 3.17.0
|
62
|
+
#
|
63
|
+
# @return [{ collapsedText:boolean } | nil]
|
64
|
+
def folding_range
|
65
|
+
attributes.fetch(:foldingRange)
|
66
|
+
end
|
67
|
+
|
46
68
|
attr_reader :attributes
|
47
69
|
|
48
70
|
def to_hash
|