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,33 +1,33 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
+
#
|
5
|
+
# A text document identifier to denote a specific version of a text document.
|
6
|
+
#
|
4
7
|
class VersionedTextDocumentIdentifier
|
5
|
-
def initialize(
|
8
|
+
def initialize(version:, uri:)
|
6
9
|
@attributes = {}
|
7
10
|
|
8
|
-
@attributes[:uri] = uri
|
9
11
|
@attributes[:version] = version
|
12
|
+
@attributes[:uri] = uri
|
10
13
|
|
11
14
|
@attributes.freeze
|
12
15
|
end
|
13
16
|
|
14
17
|
#
|
15
|
-
# The
|
18
|
+
# The version number of this document.
|
16
19
|
#
|
17
|
-
# @return [
|
18
|
-
def
|
19
|
-
attributes.fetch(:
|
20
|
+
# @return [integer]
|
21
|
+
def version
|
22
|
+
attributes.fetch(:version)
|
20
23
|
end
|
21
24
|
|
22
25
|
#
|
23
|
-
# The
|
24
|
-
#
|
25
|
-
# The version number of a document will increase after each change,
|
26
|
-
# including undo/redo. The number doesn't need to be consecutive.
|
26
|
+
# The text document's uri.
|
27
27
|
#
|
28
|
-
# @return [
|
29
|
-
def
|
30
|
-
attributes.fetch(:
|
28
|
+
# @return [DocumentUri]
|
29
|
+
def uri
|
30
|
+
attributes.fetch(:uri)
|
31
31
|
end
|
32
32
|
|
33
33
|
attr_reader :attributes
|
@@ -2,7 +2,7 @@ module LanguageServer
|
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
4
|
#
|
5
|
-
# The parameters
|
5
|
+
# The parameters sent in a will save text document notification.
|
6
6
|
#
|
7
7
|
class WillSaveTextDocumentParams
|
8
8
|
def initialize(text_document:, reason:)
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class WindowClientCapabilities
|
5
|
+
def initialize(work_done_progress: nil, show_message: nil, show_document: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:workDoneProgress] = work_done_progress if work_done_progress
|
9
|
+
@attributes[:showMessage] = show_message if show_message
|
10
|
+
@attributes[:showDocument] = show_document if show_document
|
11
|
+
|
12
|
+
@attributes.freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# It indicates whether the client supports server initiated
|
17
|
+
# progress using the `window/workDoneProgress/create` request.
|
18
|
+
#
|
19
|
+
# The capability also controls Whether client supports handling
|
20
|
+
# of progress notifications. If set servers are allowed to report a
|
21
|
+
# `workDoneProgress` property in the request specific server
|
22
|
+
# capabilities.
|
23
|
+
#
|
24
|
+
# @since 3.15.0
|
25
|
+
#
|
26
|
+
# @return [boolean | nil]
|
27
|
+
def work_done_progress
|
28
|
+
attributes.fetch(:workDoneProgress)
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# Capabilities specific to the showMessage request.
|
33
|
+
#
|
34
|
+
# @since 3.16.0
|
35
|
+
#
|
36
|
+
# @return [ShowMessageRequestClientCapabilities | nil]
|
37
|
+
def show_message
|
38
|
+
attributes.fetch(:showMessage)
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# Capabilities specific to the showDocument request.
|
43
|
+
#
|
44
|
+
# @since 3.16.0
|
45
|
+
#
|
46
|
+
# @return [ShowDocumentClientCapabilities | nil]
|
47
|
+
def show_document
|
48
|
+
attributes.fetch(:showDocument)
|
49
|
+
end
|
50
|
+
|
51
|
+
attr_reader :attributes
|
52
|
+
|
53
|
+
def to_hash
|
54
|
+
attributes
|
55
|
+
end
|
56
|
+
|
57
|
+
def to_json(*args)
|
58
|
+
to_hash.to_json(*args)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -32,10 +32,10 @@ module LanguageServer
|
|
32
32
|
|
33
33
|
#
|
34
34
|
# Controls if a cancel button should show to allow the user to cancel the
|
35
|
-
# long running operation. Clients that don't support cancellation are
|
36
|
-
#
|
35
|
+
# long running operation. Clients that don't support cancellation are allowed
|
36
|
+
# to ignore the setting.
|
37
37
|
#
|
38
|
-
# @return [boolean]
|
38
|
+
# @return [boolean | nil]
|
39
39
|
def cancellable
|
40
40
|
attributes.fetch(:cancellable)
|
41
41
|
end
|
@@ -47,7 +47,7 @@ module LanguageServer
|
|
47
47
|
# Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
|
48
48
|
# If unset, the previous progress message (if any) is still valid.
|
49
49
|
#
|
50
|
-
# @return [string]
|
50
|
+
# @return [string | nil]
|
51
51
|
def message
|
52
52
|
attributes.fetch(:message)
|
53
53
|
end
|
@@ -58,9 +58,9 @@ module LanguageServer
|
|
58
58
|
# to ignore the `percentage` value in subsequent in report notifications.
|
59
59
|
#
|
60
60
|
# The value should be steadily rising. Clients are free to ignore values
|
61
|
-
# that are not following this rule. The value range is [0, 100]
|
61
|
+
# that are not following this rule. The value range is [0, 100].
|
62
62
|
#
|
63
|
-
# @return [
|
63
|
+
# @return [uinteger | nil]
|
64
64
|
def percentage
|
65
65
|
attributes.fetch(:percentage)
|
66
66
|
end
|
@@ -19,13 +19,12 @@ module LanguageServer
|
|
19
19
|
end
|
20
20
|
|
21
21
|
#
|
22
|
-
# Controls enablement state of a cancel button.
|
23
|
-
# if a cancel button got requested in the `WorkDoneProgressStart` payload.
|
22
|
+
# Controls enablement state of a cancel button.
|
24
23
|
#
|
25
|
-
# Clients that don't support cancellation or don't support
|
26
|
-
#
|
24
|
+
# Clients that don't support cancellation or don't support controlling the button's
|
25
|
+
# enablement state are allowed to ignore the property.
|
27
26
|
#
|
28
|
-
# @return [boolean]
|
27
|
+
# @return [boolean | nil]
|
29
28
|
def cancellable
|
30
29
|
attributes.fetch(:cancellable)
|
31
30
|
end
|
@@ -37,7 +36,7 @@ module LanguageServer
|
|
37
36
|
# Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
|
38
37
|
# If unset, the previous progress message (if any) is still valid.
|
39
38
|
#
|
40
|
-
# @return [string]
|
39
|
+
# @return [string | nil]
|
41
40
|
def message
|
42
41
|
attributes.fetch(:message)
|
43
42
|
end
|
@@ -50,7 +49,7 @@ module LanguageServer
|
|
50
49
|
# The value should be steadily rising. Clients are free to ignore values
|
51
50
|
# that are not following this rule. The value range is [0, 100]
|
52
51
|
#
|
53
|
-
# @return [
|
52
|
+
# @return [uinteger | nil]
|
54
53
|
def percentage
|
55
54
|
attributes.fetch(:percentage)
|
56
55
|
end
|
@@ -0,0 +1,176 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Workspace specific client capabilities.
|
6
|
+
#
|
7
|
+
class WorkspaceClientCapabilities
|
8
|
+
def initialize(apply_edit: nil, workspace_edit: nil, did_change_configuration: nil, did_change_watched_files: nil, symbol: nil, execute_command: nil, workspace_folders: nil, configuration: nil, semantic_tokens: nil, code_lens: nil, file_operations: nil, inline_value: nil, inlay_hint: nil, diagnostics: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:applyEdit] = apply_edit if apply_edit
|
12
|
+
@attributes[:workspaceEdit] = workspace_edit if workspace_edit
|
13
|
+
@attributes[:didChangeConfiguration] = did_change_configuration if did_change_configuration
|
14
|
+
@attributes[:didChangeWatchedFiles] = did_change_watched_files if did_change_watched_files
|
15
|
+
@attributes[:symbol] = symbol if symbol
|
16
|
+
@attributes[:executeCommand] = execute_command if execute_command
|
17
|
+
@attributes[:workspaceFolders] = workspace_folders if workspace_folders
|
18
|
+
@attributes[:configuration] = configuration if configuration
|
19
|
+
@attributes[:semanticTokens] = semantic_tokens if semantic_tokens
|
20
|
+
@attributes[:codeLens] = code_lens if code_lens
|
21
|
+
@attributes[:fileOperations] = file_operations if file_operations
|
22
|
+
@attributes[:inlineValue] = inline_value if inline_value
|
23
|
+
@attributes[:inlayHint] = inlay_hint if inlay_hint
|
24
|
+
@attributes[:diagnostics] = diagnostics if diagnostics
|
25
|
+
|
26
|
+
@attributes.freeze
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# The client supports applying batch edits
|
31
|
+
# to the workspace by supporting the request
|
32
|
+
# 'workspace/applyEdit'
|
33
|
+
#
|
34
|
+
# @return [boolean | nil]
|
35
|
+
def apply_edit
|
36
|
+
attributes.fetch(:applyEdit)
|
37
|
+
end
|
38
|
+
|
39
|
+
#
|
40
|
+
# Capabilities specific to `WorkspaceEdit`s.
|
41
|
+
#
|
42
|
+
# @return [WorkspaceEditClientCapabilities | nil]
|
43
|
+
def workspace_edit
|
44
|
+
attributes.fetch(:workspaceEdit)
|
45
|
+
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# Capabilities specific to the `workspace/didChangeConfiguration` notification.
|
49
|
+
#
|
50
|
+
# @return [DidChangeConfigurationClientCapabilities | nil]
|
51
|
+
def did_change_configuration
|
52
|
+
attributes.fetch(:didChangeConfiguration)
|
53
|
+
end
|
54
|
+
|
55
|
+
#
|
56
|
+
# Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
|
57
|
+
#
|
58
|
+
# @return [DidChangeWatchedFilesClientCapabilities | nil]
|
59
|
+
def did_change_watched_files
|
60
|
+
attributes.fetch(:didChangeWatchedFiles)
|
61
|
+
end
|
62
|
+
|
63
|
+
#
|
64
|
+
# Capabilities specific to the `workspace/symbol` request.
|
65
|
+
#
|
66
|
+
# @return [WorkspaceSymbolClientCapabilities | nil]
|
67
|
+
def symbol
|
68
|
+
attributes.fetch(:symbol)
|
69
|
+
end
|
70
|
+
|
71
|
+
#
|
72
|
+
# Capabilities specific to the `workspace/executeCommand` request.
|
73
|
+
#
|
74
|
+
# @return [ExecuteCommandClientCapabilities | nil]
|
75
|
+
def execute_command
|
76
|
+
attributes.fetch(:executeCommand)
|
77
|
+
end
|
78
|
+
|
79
|
+
#
|
80
|
+
# The client has support for workspace folders.
|
81
|
+
#
|
82
|
+
# @since 3.6.0
|
83
|
+
#
|
84
|
+
# @return [boolean | nil]
|
85
|
+
def workspace_folders
|
86
|
+
attributes.fetch(:workspaceFolders)
|
87
|
+
end
|
88
|
+
|
89
|
+
#
|
90
|
+
# The client supports `workspace/configuration` requests.
|
91
|
+
#
|
92
|
+
# @since 3.6.0
|
93
|
+
#
|
94
|
+
# @return [boolean | nil]
|
95
|
+
def configuration
|
96
|
+
attributes.fetch(:configuration)
|
97
|
+
end
|
98
|
+
|
99
|
+
#
|
100
|
+
# Capabilities specific to the semantic token requests scoped to the
|
101
|
+
# workspace.
|
102
|
+
#
|
103
|
+
# @since 3.16.0.
|
104
|
+
#
|
105
|
+
# @return [SemanticTokensWorkspaceClientCapabilities | nil]
|
106
|
+
def semantic_tokens
|
107
|
+
attributes.fetch(:semanticTokens)
|
108
|
+
end
|
109
|
+
|
110
|
+
#
|
111
|
+
# Capabilities specific to the code lens requests scoped to the
|
112
|
+
# workspace.
|
113
|
+
#
|
114
|
+
# @since 3.16.0.
|
115
|
+
#
|
116
|
+
# @return [CodeLensWorkspaceClientCapabilities | nil]
|
117
|
+
def code_lens
|
118
|
+
attributes.fetch(:codeLens)
|
119
|
+
end
|
120
|
+
|
121
|
+
#
|
122
|
+
# The client has support for file notifications/requests for user operations on files.
|
123
|
+
#
|
124
|
+
# Since 3.16.0
|
125
|
+
#
|
126
|
+
# @return [FileOperationClientCapabilities | nil]
|
127
|
+
def file_operations
|
128
|
+
attributes.fetch(:fileOperations)
|
129
|
+
end
|
130
|
+
|
131
|
+
#
|
132
|
+
# Capabilities specific to the inline values requests scoped to the
|
133
|
+
# workspace.
|
134
|
+
#
|
135
|
+
# @since 3.17.0.
|
136
|
+
#
|
137
|
+
# @return [InlineValueWorkspaceClientCapabilities | nil]
|
138
|
+
def inline_value
|
139
|
+
attributes.fetch(:inlineValue)
|
140
|
+
end
|
141
|
+
|
142
|
+
#
|
143
|
+
# Capabilities specific to the inlay hint requests scoped to the
|
144
|
+
# workspace.
|
145
|
+
#
|
146
|
+
# @since 3.17.0.
|
147
|
+
#
|
148
|
+
# @return [InlayHintWorkspaceClientCapabilities | nil]
|
149
|
+
def inlay_hint
|
150
|
+
attributes.fetch(:inlayHint)
|
151
|
+
end
|
152
|
+
|
153
|
+
#
|
154
|
+
# Capabilities specific to the diagnostic requests scoped to the
|
155
|
+
# workspace.
|
156
|
+
#
|
157
|
+
# @since 3.17.0.
|
158
|
+
#
|
159
|
+
# @return [DiagnosticWorkspaceClientCapabilities | nil]
|
160
|
+
def diagnostics
|
161
|
+
attributes.fetch(:diagnostics)
|
162
|
+
end
|
163
|
+
|
164
|
+
attr_reader :attributes
|
165
|
+
|
166
|
+
def to_hash
|
167
|
+
attributes
|
168
|
+
end
|
169
|
+
|
170
|
+
def to_json(*args)
|
171
|
+
to_hash.to_json(*args)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Parameters of the workspace diagnostic request.
|
6
|
+
#
|
7
|
+
# @since 3.17.0
|
8
|
+
#
|
9
|
+
class WorkspaceDiagnosticParams
|
10
|
+
def initialize(identifier: nil, previous_result_ids:, work_done_token: nil, partial_result_token: nil)
|
11
|
+
@attributes = {}
|
12
|
+
|
13
|
+
@attributes[:identifier] = identifier if identifier
|
14
|
+
@attributes[:previousResultIds] = previous_result_ids
|
15
|
+
@attributes[:workDoneToken] = work_done_token if work_done_token
|
16
|
+
@attributes[:partialResultToken] = partial_result_token if partial_result_token
|
17
|
+
|
18
|
+
@attributes.freeze
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# The additional identifier provided during registration.
|
23
|
+
#
|
24
|
+
# @return [string | nil]
|
25
|
+
def identifier
|
26
|
+
attributes.fetch(:identifier)
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# The currently known diagnostic reports with their
|
31
|
+
# previous result ids.
|
32
|
+
#
|
33
|
+
# @return [PreviousResultId[]]
|
34
|
+
def previous_result_ids
|
35
|
+
attributes.fetch(:previousResultIds)
|
36
|
+
end
|
37
|
+
|
38
|
+
#
|
39
|
+
# An optional token that a server can use to report work done progress.
|
40
|
+
#
|
41
|
+
# @return [ProgressToken | nil]
|
42
|
+
def work_done_token
|
43
|
+
attributes.fetch(:workDoneToken)
|
44
|
+
end
|
45
|
+
|
46
|
+
#
|
47
|
+
# An optional token that a server can use to report partial results (e.g. streaming) to
|
48
|
+
# the client.
|
49
|
+
#
|
50
|
+
# @return [ProgressToken | nil]
|
51
|
+
def partial_result_token
|
52
|
+
attributes.fetch(:partialResultToken)
|
53
|
+
end
|
54
|
+
|
55
|
+
attr_reader :attributes
|
56
|
+
|
57
|
+
def to_hash
|
58
|
+
attributes
|
59
|
+
end
|
60
|
+
|
61
|
+
def to_json(*args)
|
62
|
+
to_hash.to_json(*args)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# A workspace diagnostic report.
|
6
|
+
#
|
7
|
+
# @since 3.17.0
|
8
|
+
#
|
9
|
+
class WorkspaceDiagnosticReport
|
10
|
+
def initialize(items:)
|
11
|
+
@attributes = {}
|
12
|
+
|
13
|
+
@attributes[:items] = items
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [WorkspaceDocumentDiagnosticReport[]]
|
19
|
+
def items
|
20
|
+
attributes.fetch(:items)
|
21
|
+
end
|
22
|
+
|
23
|
+
attr_reader :attributes
|
24
|
+
|
25
|
+
def to_hash
|
26
|
+
attributes
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_json(*args)
|
30
|
+
to_hash.to_json(*args)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# A partial result for a workspace diagnostic report.
|
6
|
+
#
|
7
|
+
# @since 3.17.0
|
8
|
+
#
|
9
|
+
class WorkspaceDiagnosticReportPartialResult
|
10
|
+
def initialize(items:)
|
11
|
+
@attributes = {}
|
12
|
+
|
13
|
+
@attributes[:items] = items
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [WorkspaceDocumentDiagnosticReport[]]
|
19
|
+
def items
|
20
|
+
attributes.fetch(:items)
|
21
|
+
end
|
22
|
+
|
23
|
+
attr_reader :attributes
|
24
|
+
|
25
|
+
def to_hash
|
26
|
+
attributes
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_json(*args)
|
30
|
+
to_hash.to_json(*args)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# A workspace diagnostic document report.
|
6
|
+
#
|
7
|
+
# @since 3.17.0
|
8
|
+
#
|
9
|
+
class WorkspaceDocumentDiagnosticReport
|
10
|
+
def initialize(uri:, version:, kind:, result_id: nil, items:)
|
11
|
+
@attributes = {}
|
12
|
+
|
13
|
+
@attributes[:uri] = uri
|
14
|
+
@attributes[:version] = version
|
15
|
+
@attributes[:kind] = kind
|
16
|
+
@attributes[:resultId] = result_id if result_id
|
17
|
+
@attributes[:items] = items
|
18
|
+
|
19
|
+
@attributes.freeze
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# The URI for which diagnostic information is reported.
|
24
|
+
#
|
25
|
+
# @return [DocumentUri]
|
26
|
+
def uri
|
27
|
+
attributes.fetch(:uri)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# The version number for which the diagnostics are reported.
|
32
|
+
# If the document is not marked as open `null` can be provided.
|
33
|
+
#
|
34
|
+
# @return [integer | null]
|
35
|
+
def version
|
36
|
+
attributes.fetch(:version)
|
37
|
+
end
|
38
|
+
|
39
|
+
#
|
40
|
+
# A full document diagnostic report.
|
41
|
+
#
|
42
|
+
# @return ["full"]
|
43
|
+
def kind
|
44
|
+
attributes.fetch(:kind)
|
45
|
+
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# An optional result id. If provided it will
|
49
|
+
# be sent on the next diagnostic request for the
|
50
|
+
# same document.
|
51
|
+
#
|
52
|
+
# @return [string | nil]
|
53
|
+
def result_id
|
54
|
+
attributes.fetch(:resultId)
|
55
|
+
end
|
56
|
+
|
57
|
+
#
|
58
|
+
# The actual items.
|
59
|
+
#
|
60
|
+
# @return [Diagnostic[]]
|
61
|
+
def items
|
62
|
+
attributes.fetch(:items)
|
63
|
+
end
|
64
|
+
|
65
|
+
attr_reader :attributes
|
66
|
+
|
67
|
+
def to_hash
|
68
|
+
attributes
|
69
|
+
end
|
70
|
+
|
71
|
+
def to_json(*args)
|
72
|
+
to_hash.to_json(*args)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -1,6 +1,20 @@
|
|
1
1
|
module LanguageServer
|
2
2
|
module Protocol
|
3
3
|
module Interface
|
4
|
+
#
|
5
|
+
# A workspace edit represents changes to many resources managed in the workspace. The edit
|
6
|
+
# should either provide `changes` or `documentChanges`. If documentChanges are present
|
7
|
+
# they are preferred over `changes` if the client can handle versioned document edits.
|
8
|
+
#
|
9
|
+
# Since version 3.13.0 a workspace edit can contain resource operations as well. If resource
|
10
|
+
# operations are present clients need to execute the operations in the order in which they
|
11
|
+
# are provided. So a workspace edit for example can consist of the following two changes:
|
12
|
+
# (1) a create file a.txt and (2) a text document edit which insert text into file a.txt.
|
13
|
+
#
|
14
|
+
# An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will
|
15
|
+
# cause failure of the operation. How the client recovers from the failure is described by
|
16
|
+
# the client capability: `workspace.workspaceEdit.failureHandling`
|
17
|
+
#
|
4
18
|
class WorkspaceEdit
|
5
19
|
def initialize(changes: nil, document_changes: nil, change_annotations: nil)
|
6
20
|
@attributes = {}
|
@@ -15,40 +29,37 @@ module LanguageServer
|
|
15
29
|
#
|
16
30
|
# Holds changes to existing resources.
|
17
31
|
#
|
18
|
-
# @return [
|
32
|
+
# @return [DocumentUri => TextEdit[] | nil]
|
19
33
|
def changes
|
20
34
|
attributes.fetch(:changes)
|
21
35
|
end
|
22
36
|
|
23
37
|
#
|
24
|
-
# Depending on the client capability
|
25
|
-
# `
|
26
|
-
#
|
27
|
-
#
|
28
|
-
# a text document. Or it can contain above `TextDocumentEdit`s mixed with
|
29
|
-
# create, rename and delete file / folder operations.
|
38
|
+
# Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
|
39
|
+
# are either an array of `TextDocumentEdit`s to express changes to n different text documents
|
40
|
+
# where each text document edit addresses a specific version of a text document. Or it can contain
|
41
|
+
# above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.
|
30
42
|
#
|
31
43
|
# Whether a client supports versioned document edits is expressed via
|
32
44
|
# `workspace.workspaceEdit.documentChanges` client capability.
|
33
45
|
#
|
34
|
-
# If a client neither supports `documentChanges` nor
|
35
|
-
#
|
36
|
-
# using the `changes` property are supported.
|
46
|
+
# If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
|
47
|
+
# only plain `TextEdit`s using the `changes` property are supported.
|
37
48
|
#
|
38
|
-
# @return [TextDocumentEdit
|
49
|
+
# @return [TextDocumentEdit | CreateFile | RenameFile | DeleteFile[] | nil]
|
39
50
|
def document_changes
|
40
51
|
attributes.fetch(:documentChanges)
|
41
52
|
end
|
42
53
|
|
43
54
|
#
|
44
|
-
# A map of change annotations that can be referenced in
|
45
|
-
#
|
46
|
-
# operations.
|
55
|
+
# A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and
|
56
|
+
# delete file / folder operations.
|
47
57
|
#
|
48
|
-
# Whether clients honor this property depends on the client capability
|
49
|
-
# `workspace.changeAnnotationSupport`.
|
58
|
+
# Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`.
|
50
59
|
#
|
51
|
-
# @
|
60
|
+
# @since 3.16.0
|
61
|
+
#
|
62
|
+
# @return [ChangeAnnotationIdentifier => ChangeAnnotation | nil]
|
52
63
|
def change_annotations
|
53
64
|
attributes.fetch(:changeAnnotations)
|
54
65
|
end
|