This is page 14 of 14. Use http://codebase.md/oraios/serena?lines=true&page={x} to view the full context. # Directory Structure ``` ├── .devcontainer │ └── devcontainer.json ├── .dockerignore ├── .env.example ├── .github │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE │ │ ├── config.yml │ │ ├── feature_request.md │ │ └── issue--bug--performance-problem--question-.md │ └── workflows │ ├── codespell.yml │ ├── docker.yml │ ├── junie.yml │ ├── lint_and_docs.yaml │ ├── publish.yml │ └── pytest.yml ├── .gitignore ├── .serena │ ├── memories │ │ ├── adding_new_language_support_guide.md │ │ ├── serena_core_concepts_and_architecture.md │ │ ├── serena_repository_structure.md │ │ └── suggested_commands.md │ └── project.yml ├── .vscode │ └── settings.json ├── CHANGELOG.md ├── CLAUDE.md ├── compose.yaml ├── CONTRIBUTING.md ├── docker_build_and_run.sh ├── DOCKER.md ├── Dockerfile ├── docs │ ├── custom_agent.md │ └── serena_on_chatgpt.md ├── flake.lock ├── flake.nix ├── lessons_learned.md ├── LICENSE ├── llms-install.md ├── public │ └── .gitignore ├── pyproject.toml ├── README.md ├── resources │ ├── serena-icons.cdr │ ├── serena-logo-dark-mode.svg │ ├── serena-logo.cdr │ ├── serena-logo.svg │ └── vscode_sponsor_logo.png ├── roadmap.md ├── scripts │ ├── agno_agent.py │ ├── demo_run_tools.py │ ├── gen_prompt_factory.py │ ├── mcp_server.py │ ├── print_mode_context_options.py │ └── print_tool_overview.py ├── src │ ├── interprompt │ │ ├── __init__.py │ │ ├── .syncCommitId.remote │ │ ├── .syncCommitId.this │ │ ├── jinja_template.py │ │ ├── multilang_prompt.py │ │ ├── prompt_factory.py │ │ └── util │ │ ├── __init__.py │ │ └── class_decorators.py │ ├── README.md │ ├── serena │ │ ├── __init__.py │ │ ├── agent.py │ │ ├── agno.py │ │ ├── analytics.py │ │ ├── cli.py │ │ ├── code_editor.py │ │ ├── config │ │ │ ├── __init__.py │ │ │ ├── context_mode.py │ │ │ └── serena_config.py │ │ ├── constants.py │ │ ├── dashboard.py │ │ ├── generated │ │ │ └── generated_prompt_factory.py │ │ ├── gui_log_viewer.py │ │ ├── mcp.py │ │ ├── project.py │ │ ├── prompt_factory.py │ │ ├── resources │ │ │ ├── config │ │ │ │ ├── contexts │ │ │ │ │ ├── agent.yml │ │ │ │ │ ├── chatgpt.yml │ │ │ │ │ ├── codex.yml │ │ │ │ │ ├── context.template.yml │ │ │ │ │ ├── desktop-app.yml │ │ │ │ │ ├── ide-assistant.yml │ │ │ │ │ └── oaicompat-agent.yml │ │ │ │ ├── internal_modes │ │ │ │ │ └── jetbrains.yml │ │ │ │ ├── modes │ │ │ │ │ ├── editing.yml │ │ │ │ │ ├── interactive.yml │ │ │ │ │ ├── mode.template.yml │ │ │ │ │ ├── no-onboarding.yml │ │ │ │ │ ├── onboarding.yml │ │ │ │ │ ├── one-shot.yml │ │ │ │ │ └── planning.yml │ │ │ │ └── prompt_templates │ │ │ │ ├── simple_tool_outputs.yml │ │ │ │ └── system_prompt.yml │ │ │ ├── dashboard │ │ │ │ ├── dashboard.js │ │ │ │ ├── index.html │ │ │ │ ├── jquery.min.js │ │ │ │ ├── serena-icon-16.png │ │ │ │ ├── serena-icon-32.png │ │ │ │ ├── serena-icon-48.png │ │ │ │ ├── serena-logs-dark-mode.png │ │ │ │ └── serena-logs.png │ │ │ ├── project.template.yml │ │ │ └── serena_config.template.yml │ │ ├── symbol.py │ │ ├── text_utils.py │ │ ├── tools │ │ │ ├── __init__.py │ │ │ ├── cmd_tools.py │ │ │ ├── config_tools.py │ │ │ ├── file_tools.py │ │ │ ├── jetbrains_plugin_client.py │ │ │ ├── jetbrains_tools.py │ │ │ ├── memory_tools.py │ │ │ ├── symbol_tools.py │ │ │ ├── tools_base.py │ │ │ └── workflow_tools.py │ │ └── util │ │ ├── class_decorators.py │ │ ├── exception.py │ │ ├── file_system.py │ │ ├── general.py │ │ ├── git.py │ │ ├── inspection.py │ │ ├── logging.py │ │ ├── shell.py │ │ └── thread.py │ └── solidlsp │ ├── __init__.py │ ├── .gitignore │ ├── language_servers │ │ ├── al_language_server.py │ │ ├── bash_language_server.py │ │ ├── clangd_language_server.py │ │ ├── clojure_lsp.py │ │ ├── common.py │ │ ├── csharp_language_server.py │ │ ├── dart_language_server.py │ │ ├── eclipse_jdtls.py │ │ ├── elixir_tools │ │ │ ├── __init__.py │ │ │ ├── elixir_tools.py │ │ │ └── README.md │ │ ├── elm_language_server.py │ │ ├── erlang_language_server.py │ │ ├── gopls.py │ │ ├── intelephense.py │ │ ├── jedi_server.py │ │ ├── kotlin_language_server.py │ │ ├── lua_ls.py │ │ ├── marksman.py │ │ ├── nixd_ls.py │ │ ├── omnisharp │ │ │ ├── initialize_params.json │ │ │ ├── runtime_dependencies.json │ │ │ └── workspace_did_change_configuration.json │ │ ├── omnisharp.py │ │ ├── perl_language_server.py │ │ ├── pyright_server.py │ │ ├── r_language_server.py │ │ ├── ruby_lsp.py │ │ ├── rust_analyzer.py │ │ ├── solargraph.py │ │ ├── sourcekit_lsp.py │ │ ├── terraform_ls.py │ │ ├── typescript_language_server.py │ │ ├── vts_language_server.py │ │ └── zls.py │ ├── ls_config.py │ ├── ls_exceptions.py │ ├── ls_handler.py │ ├── ls_logger.py │ ├── ls_request.py │ ├── ls_types.py │ ├── ls_utils.py │ ├── ls.py │ ├── lsp_protocol_handler │ │ ├── lsp_constants.py │ │ ├── lsp_requests.py │ │ ├── lsp_types.py │ │ └── server.py │ ├── settings.py │ └── util │ ├── subprocess_util.py │ └── zip.py ├── test │ ├── __init__.py │ ├── conftest.py │ ├── resources │ │ └── repos │ │ ├── al │ │ │ └── test_repo │ │ │ ├── app.json │ │ │ └── src │ │ │ ├── Codeunits │ │ │ │ ├── CustomerMgt.Codeunit.al │ │ │ │ └── PaymentProcessorImpl.Codeunit.al │ │ │ ├── Enums │ │ │ │ └── CustomerType.Enum.al │ │ │ ├── Interfaces │ │ │ │ └── IPaymentProcessor.Interface.al │ │ │ ├── Pages │ │ │ │ ├── CustomerCard.Page.al │ │ │ │ └── CustomerList.Page.al │ │ │ ├── TableExtensions │ │ │ │ └── Item.TableExt.al │ │ │ └── Tables │ │ │ └── Customer.Table.al │ │ ├── bash │ │ │ └── test_repo │ │ │ ├── config.sh │ │ │ ├── main.sh │ │ │ └── utils.sh │ │ ├── clojure │ │ │ └── test_repo │ │ │ ├── deps.edn │ │ │ └── src │ │ │ └── test_app │ │ │ ├── core.clj │ │ │ └── utils.clj │ │ ├── csharp │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── Models │ │ │ │ └── Person.cs │ │ │ ├── Program.cs │ │ │ ├── serena.sln │ │ │ └── TestProject.csproj │ │ ├── dart │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── lib │ │ │ │ ├── helper.dart │ │ │ │ ├── main.dart │ │ │ │ └── models.dart │ │ │ └── pubspec.yaml │ │ ├── elixir │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── lib │ │ │ │ ├── examples.ex │ │ │ │ ├── ignored_dir │ │ │ │ │ └── ignored_module.ex │ │ │ │ ├── models.ex │ │ │ │ ├── services.ex │ │ │ │ ├── test_repo.ex │ │ │ │ └── utils.ex │ │ │ ├── mix.exs │ │ │ ├── mix.lock │ │ │ ├── scripts │ │ │ │ └── build_script.ex │ │ │ └── test │ │ │ ├── models_test.exs │ │ │ └── test_repo_test.exs │ │ ├── elm │ │ │ └── test_repo │ │ │ ├── elm.json │ │ │ ├── Main.elm │ │ │ └── Utils.elm │ │ ├── erlang │ │ │ └── test_repo │ │ │ ├── hello.erl │ │ │ ├── ignored_dir │ │ │ │ └── ignored_module.erl │ │ │ ├── include │ │ │ │ ├── records.hrl │ │ │ │ └── types.hrl │ │ │ ├── math_utils.erl │ │ │ ├── rebar.config │ │ │ ├── src │ │ │ │ ├── app.erl │ │ │ │ ├── models.erl │ │ │ │ ├── services.erl │ │ │ │ └── utils.erl │ │ │ └── test │ │ │ ├── models_tests.erl │ │ │ └── utils_tests.erl │ │ ├── go │ │ │ └── test_repo │ │ │ └── main.go │ │ ├── java │ │ │ └── test_repo │ │ │ ├── pom.xml │ │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── test_repo │ │ │ ├── Main.java │ │ │ ├── Model.java │ │ │ ├── ModelUser.java │ │ │ └── Utils.java │ │ ├── kotlin │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── test_repo │ │ │ ├── Main.kt │ │ │ ├── Model.kt │ │ │ ├── ModelUser.kt │ │ │ └── Utils.kt │ │ ├── lua │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── main.lua │ │ │ ├── src │ │ │ │ ├── calculator.lua │ │ │ │ └── utils.lua │ │ │ └── tests │ │ │ └── test_calculator.lua │ │ ├── markdown │ │ │ └── test_repo │ │ │ ├── api.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── guide.md │ │ │ └── README.md │ │ ├── nix │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── default.nix │ │ │ ├── flake.nix │ │ │ ├── lib │ │ │ │ └── utils.nix │ │ │ ├── modules │ │ │ │ └── example.nix │ │ │ └── scripts │ │ │ └── hello.sh │ │ ├── perl │ │ │ └── test_repo │ │ │ ├── helper.pl │ │ │ └── main.pl │ │ ├── php │ │ │ └── test_repo │ │ │ ├── helper.php │ │ │ ├── index.php │ │ │ └── simple_var.php │ │ ├── python │ │ │ └── test_repo │ │ │ ├── .gitignore │ │ │ ├── custom_test │ │ │ │ ├── __init__.py │ │ │ │ └── advanced_features.py │ │ │ ├── examples │ │ │ │ ├── __init__.py │ │ │ │ └── user_management.py │ │ │ ├── ignore_this_dir_with_postfix │ │ │ │ └── ignored_module.py │ │ │ ├── scripts │ │ │ │ ├── __init__.py │ │ │ │ └── run_app.py │ │ │ └── test_repo │ │ │ ├── __init__.py │ │ │ ├── complex_types.py │ │ │ ├── models.py │ │ │ ├── name_collisions.py │ │ │ ├── nested_base.py │ │ │ ├── nested.py │ │ │ ├── overloaded.py │ │ │ ├── services.py │ │ │ ├── utils.py │ │ │ └── variables.py │ │ ├── r │ │ │ └── test_repo │ │ │ ├── .Rbuildignore │ │ │ ├── DESCRIPTION │ │ │ ├── examples │ │ │ │ └── analysis.R │ │ │ ├── NAMESPACE │ │ │ └── R │ │ │ ├── models.R │ │ │ └── utils.R │ │ ├── ruby │ │ │ └── test_repo │ │ │ ├── .solargraph.yml │ │ │ ├── examples │ │ │ │ └── user_management.rb │ │ │ ├── lib.rb │ │ │ ├── main.rb │ │ │ ├── models.rb │ │ │ ├── nested.rb │ │ │ ├── services.rb │ │ │ └── variables.rb │ │ ├── rust │ │ │ ├── test_repo │ │ │ │ ├── Cargo.lock │ │ │ │ ├── Cargo.toml │ │ │ │ └── src │ │ │ │ ├── lib.rs │ │ │ │ └── main.rs │ │ │ └── test_repo_2024 │ │ │ ├── Cargo.lock │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ ├── lib.rs │ │ │ └── main.rs │ │ ├── swift │ │ │ └── test_repo │ │ │ ├── Package.swift │ │ │ └── src │ │ │ ├── main.swift │ │ │ └── utils.swift │ │ ├── terraform │ │ │ └── test_repo │ │ │ ├── data.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ └── variables.tf │ │ ├── typescript │ │ │ └── test_repo │ │ │ ├── .serena │ │ │ │ └── project.yml │ │ │ ├── index.ts │ │ │ ├── tsconfig.json │ │ │ └── use_helper.ts │ │ └── zig │ │ └── test_repo │ │ ├── .gitignore │ │ ├── build.zig │ │ ├── src │ │ │ ├── calculator.zig │ │ │ ├── main.zig │ │ │ └── math_utils.zig │ │ └── zls.json │ ├── serena │ │ ├── __init__.py │ │ ├── __snapshots__ │ │ │ └── test_symbol_editing.ambr │ │ ├── config │ │ │ ├── __init__.py │ │ │ └── test_serena_config.py │ │ ├── test_edit_marker.py │ │ ├── test_mcp.py │ │ ├── test_serena_agent.py │ │ ├── test_symbol_editing.py │ │ ├── test_symbol.py │ │ ├── test_text_utils.py │ │ ├── test_tool_parameter_types.py │ │ └── util │ │ ├── test_exception.py │ │ └── test_file_system.py │ └── solidlsp │ ├── al │ │ └── test_al_basic.py │ ├── bash │ │ ├── __init__.py │ │ └── test_bash_basic.py │ ├── clojure │ │ ├── __init__.py │ │ └── test_clojure_basic.py │ ├── csharp │ │ └── test_csharp_basic.py │ ├── dart │ │ ├── __init__.py │ │ └── test_dart_basic.py │ ├── elixir │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_elixir_basic.py │ │ ├── test_elixir_ignored_dirs.py │ │ ├── test_elixir_integration.py │ │ └── test_elixir_symbol_retrieval.py │ ├── elm │ │ └── test_elm_basic.py │ ├── erlang │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_erlang_basic.py │ │ ├── test_erlang_ignored_dirs.py │ │ └── test_erlang_symbol_retrieval.py │ ├── go │ │ └── test_go_basic.py │ ├── java │ │ └── test_java_basic.py │ ├── kotlin │ │ └── test_kotlin_basic.py │ ├── lua │ │ └── test_lua_basic.py │ ├── markdown │ │ ├── __init__.py │ │ └── test_markdown_basic.py │ ├── nix │ │ └── test_nix_basic.py │ ├── perl │ │ └── test_perl_basic.py │ ├── php │ │ └── test_php_basic.py │ ├── python │ │ ├── test_python_basic.py │ │ ├── test_retrieval_with_ignored_dirs.py │ │ └── test_symbol_retrieval.py │ ├── r │ │ ├── __init__.py │ │ └── test_r_basic.py │ ├── ruby │ │ ├── test_ruby_basic.py │ │ └── test_ruby_symbol_retrieval.py │ ├── rust │ │ ├── test_rust_2024_edition.py │ │ └── test_rust_basic.py │ ├── swift │ │ └── test_swift_basic.py │ ├── terraform │ │ └── test_terraform_basic.py │ ├── typescript │ │ └── test_typescript_basic.py │ ├── util │ │ └── test_zip.py │ └── zig │ └── test_zig_basic.py └── uv.lock ``` # Files -------------------------------------------------------------------------------- /src/solidlsp/lsp_protocol_handler/lsp_types.py: -------------------------------------------------------------------------------- ```python 1 | # Code generated. DO NOT EDIT. 2 | # LSP v3.17.0 3 | # TODO: Look into use of https://pypi.org/project/ts2python/ to generate the types for https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ 4 | 5 | """ 6 | This file provides the Python types corresponding to the Typescript types defined in the language server protocol. 7 | This file is obtained from https://github.com/predragnikolic/OLSP under the MIT License with the following terms: 8 | 9 | MIT License 10 | 11 | Copyright (c) 2023 Предраг Николић 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in all 21 | copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 29 | SOFTWARE. 30 | """ 31 | 32 | from enum import Enum, IntEnum, IntFlag 33 | from typing import Literal, NotRequired, Union 34 | 35 | from typing_extensions import TypedDict 36 | 37 | URI = str 38 | DocumentUri = str 39 | Uint = int 40 | RegExp = str 41 | 42 | 43 | class SemanticTokenTypes(Enum): 44 | """A set of predefined token types. This set is not fixed 45 | an clients can specify additional token types via the 46 | corresponding client capabilities. 47 | 48 | @since 3.16.0 49 | """ 50 | 51 | Namespace = "namespace" 52 | Type = "type" 53 | """ Represents a generic type. Acts as a fallback for types which can't be mapped to 54 | a specific type like class or enum. """ 55 | Class = "class" 56 | Enum = "enum" 57 | Interface = "interface" 58 | Struct = "struct" 59 | TypeParameter = "typeParameter" 60 | Parameter = "parameter" 61 | Variable = "variable" 62 | Property = "property" 63 | EnumMember = "enumMember" 64 | Event = "event" 65 | Function = "function" 66 | Method = "method" 67 | Macro = "macro" 68 | Keyword = "keyword" 69 | Modifier = "modifier" 70 | Comment = "comment" 71 | String = "string" 72 | Number = "number" 73 | Regexp = "regexp" 74 | Operator = "operator" 75 | Decorator = "decorator" 76 | """ @since 3.17.0 """ 77 | 78 | 79 | class SemanticTokenModifiers(Enum): 80 | """A set of predefined token modifiers. This set is not fixed 81 | an clients can specify additional token types via the 82 | corresponding client capabilities. 83 | 84 | @since 3.16.0 85 | """ 86 | 87 | Declaration = "declaration" 88 | Definition = "definition" 89 | Readonly = "readonly" 90 | Static = "static" 91 | Deprecated = "deprecated" 92 | Abstract = "abstract" 93 | Async = "async" 94 | Modification = "modification" 95 | Documentation = "documentation" 96 | DefaultLibrary = "defaultLibrary" 97 | 98 | 99 | class DocumentDiagnosticReportKind(Enum): 100 | """The document diagnostic report kinds. 101 | 102 | @since 3.17.0 103 | """ 104 | 105 | Full = "full" 106 | """ A diagnostic report with a full 107 | set of problems. """ 108 | Unchanged = "unchanged" 109 | """ A report indicating that the last 110 | returned report is still accurate. """ 111 | 112 | 113 | class ErrorCodes(IntEnum): 114 | """Predefined error codes.""" 115 | 116 | ParseError = -32700 117 | InvalidRequest = -32600 118 | MethodNotFound = -32601 119 | InvalidParams = -32602 120 | InternalError = -32603 121 | ServerNotInitialized = -32002 122 | """ Error code indicating that a server received a notification or 123 | request before the server has received the `initialize` request. """ 124 | UnknownErrorCode = -32001 125 | 126 | 127 | class LSPErrorCodes(IntEnum): 128 | RequestFailed = -32803 129 | """ A request failed but it was syntactically correct, e.g the 130 | method name was known and the parameters were valid. The error 131 | message should contain human readable information about why 132 | the request failed. 133 | 134 | @since 3.17.0 """ 135 | ServerCancelled = -32802 136 | """ The server cancelled the request. This error code should 137 | only be used for requests that explicitly support being 138 | server cancellable. 139 | 140 | @since 3.17.0 """ 141 | ContentModified = -32801 142 | """ The server detected that the content of a document got 143 | modified outside normal conditions. A server should 144 | NOT send this error code if it detects a content change 145 | in it unprocessed messages. The result even computed 146 | on an older state might still be useful for the client. 147 | 148 | If a client decides that a result is not of any use anymore 149 | the client should cancel the request. """ 150 | RequestCancelled = -32800 151 | """ The client has canceled a request and a server as detected 152 | the cancel. """ 153 | 154 | 155 | class FoldingRangeKind(Enum): 156 | """A set of predefined range kinds.""" 157 | 158 | Comment = "comment" 159 | """ Folding range for a comment """ 160 | Imports = "imports" 161 | """ Folding range for an import or include """ 162 | Region = "region" 163 | """ Folding range for a region (e.g. `#region`) """ 164 | 165 | 166 | class SymbolKind(IntEnum): 167 | """A symbol kind.""" 168 | 169 | File = 1 170 | Module = 2 171 | Namespace = 3 172 | Package = 4 173 | """ 174 | Represents a package or simply a directory in the filesystem 175 | """ 176 | Class = 5 177 | Method = 6 178 | Property = 7 179 | Field = 8 180 | Constructor = 9 181 | Enum = 10 182 | Interface = 11 183 | Function = 12 184 | Variable = 13 185 | Constant = 14 186 | String = 15 187 | Number = 16 188 | Boolean = 17 189 | Array = 18 190 | Object = 19 191 | Key = 20 192 | Null = 21 193 | EnumMember = 22 194 | Struct = 23 195 | Event = 24 196 | Operator = 25 197 | TypeParameter = 26 198 | 199 | @classmethod 200 | def from_int(cls, value: int) -> "SymbolKind": 201 | for symbol_kind in cls: 202 | if symbol_kind.value == value: 203 | return symbol_kind 204 | raise ValueError(f"Invalid symbol kind: {value}") 205 | 206 | 207 | class SymbolTag(IntEnum): 208 | """Symbol tags are extra annotations that tweak the rendering of a symbol. 209 | 210 | @since 3.16 211 | """ 212 | 213 | Deprecated = 1 214 | """ Render a symbol as obsolete, usually using a strike-out. """ 215 | 216 | 217 | class UniquenessLevel(Enum): 218 | """Moniker uniqueness level to define scope of the moniker. 219 | 220 | @since 3.16.0 221 | """ 222 | 223 | Document = "document" 224 | """ The moniker is only unique inside a document """ 225 | Project = "project" 226 | """ The moniker is unique inside a project for which a dump got created """ 227 | Group = "group" 228 | """ The moniker is unique inside the group to which a project belongs """ 229 | Scheme = "scheme" 230 | """ The moniker is unique inside the moniker scheme. """ 231 | Global = "global" 232 | """ The moniker is globally unique """ 233 | 234 | 235 | class MonikerKind(Enum): 236 | """The moniker kind. 237 | 238 | @since 3.16.0 239 | """ 240 | 241 | Import = "import" 242 | """ The moniker represent a symbol that is imported into a project """ 243 | Export = "export" 244 | """ The moniker represents a symbol that is exported from a project """ 245 | Local = "local" 246 | """ The moniker represents a symbol that is local to a project (e.g. a local 247 | variable of a function, a class not visible outside the project, ...) """ 248 | 249 | 250 | class InlayHintKind(IntEnum): 251 | """Inlay hint kinds. 252 | 253 | @since 3.17.0 254 | """ 255 | 256 | Type = 1 257 | """ An inlay hint that for a type annotation. """ 258 | Parameter = 2 259 | """ An inlay hint that is for a parameter. """ 260 | 261 | 262 | class MessageType(IntEnum): 263 | """The message type""" 264 | 265 | Error = 1 266 | """ An error message. """ 267 | Warning = 2 268 | """ A warning message. """ 269 | Info = 3 270 | """ An information message. """ 271 | Log = 4 272 | """ A log message. """ 273 | 274 | 275 | class TextDocumentSyncKind(IntEnum): 276 | """Defines how the host (editor) should sync 277 | document changes to the language server. 278 | """ 279 | 280 | None_ = 0 281 | """ Documents should not be synced at all. """ 282 | Full = 1 283 | """ Documents are synced by always sending the full content 284 | of the document. """ 285 | Incremental = 2 286 | """ Documents are synced by sending the full content on open. 287 | After that only incremental updates to the document are 288 | send. """ 289 | 290 | 291 | class TextDocumentSaveReason(IntEnum): 292 | """Represents reasons why a text document is saved.""" 293 | 294 | Manual = 1 295 | """ Manually triggered, e.g. by the user pressing save, by starting debugging, 296 | or by an API call. """ 297 | AfterDelay = 2 298 | """ Automatic after a delay. """ 299 | FocusOut = 3 300 | """ When the editor lost focus. """ 301 | 302 | 303 | class CompletionItemKind(IntEnum): 304 | """The kind of a completion entry.""" 305 | 306 | Text = 1 307 | Method = 2 308 | Function = 3 309 | Constructor = 4 310 | Field = 5 311 | Variable = 6 312 | Class = 7 313 | Interface = 8 314 | Module = 9 315 | Property = 10 316 | Unit = 11 317 | Value = 12 318 | Enum = 13 319 | Keyword = 14 320 | Snippet = 15 321 | Color = 16 322 | File = 17 323 | Reference = 18 324 | Folder = 19 325 | EnumMember = 20 326 | Constant = 21 327 | Struct = 22 328 | Event = 23 329 | Operator = 24 330 | TypeParameter = 25 331 | 332 | 333 | class CompletionItemTag(IntEnum): 334 | """Completion item tags are extra annotations that tweak the rendering of a completion 335 | item. 336 | 337 | @since 3.15.0 338 | """ 339 | 340 | Deprecated = 1 341 | """ Render a completion as obsolete, usually using a strike-out. """ 342 | 343 | 344 | class InsertTextFormat(IntEnum): 345 | """Defines whether the insert text in a completion item should be interpreted as 346 | plain text or a snippet. 347 | """ 348 | 349 | PlainText = 1 350 | """ The primary text to be inserted is treated as a plain string. """ 351 | Snippet = 2 352 | """ The primary text to be inserted is treated as a snippet. 353 | 354 | A snippet can define tab stops and placeholders with `$1`, `$2` 355 | and `${3:foo}`. `$0` defines the final tab stop, it defaults to 356 | the end of the snippet. Placeholders with equal identifiers are linked, 357 | that is typing in one will update others too. 358 | 359 | See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax """ 360 | 361 | 362 | class InsertTextMode(IntEnum): 363 | """How whitespace and indentation is handled during completion 364 | item insertion. 365 | 366 | @since 3.16.0 367 | """ 368 | 369 | AsIs = 1 370 | """ The insertion or replace strings is taken as it is. If the 371 | value is multi line the lines below the cursor will be 372 | inserted using the indentation defined in the string value. 373 | The client will not apply any kind of adjustments to the 374 | string. """ 375 | AdjustIndentation = 2 376 | """ The editor adjusts leading whitespace of new lines so that 377 | they match the indentation up to the cursor of the line for 378 | which the item is accepted. 379 | 380 | Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a 381 | multi line completion item is indented using 2 tabs and all 382 | following lines inserted will be indented using 2 tabs as well. """ 383 | 384 | 385 | class DocumentHighlightKind(IntEnum): 386 | """A document highlight kind.""" 387 | 388 | Text = 1 389 | """ A textual occurrence. """ 390 | Read = 2 391 | """ Read-access of a symbol, like reading a variable. """ 392 | Write = 3 393 | """ Write-access of a symbol, like writing to a variable. """ 394 | 395 | 396 | class CodeActionKind(Enum): 397 | """A set of predefined code action kinds""" 398 | 399 | Empty = "" 400 | """ Empty kind. """ 401 | QuickFix = "quickfix" 402 | """ Base kind for quickfix actions: 'quickfix' """ 403 | Refactor = "refactor" 404 | """ Base kind for refactoring actions: 'refactor' """ 405 | RefactorExtract = "refactor.extract" 406 | """ Base kind for refactoring extraction actions: 'refactor.extract' 407 | 408 | Example extract actions: 409 | 410 | - Extract method 411 | - Extract function 412 | - Extract variable 413 | - Extract interface from class 414 | - ... """ 415 | RefactorInline = "refactor.inline" 416 | """ Base kind for refactoring inline actions: 'refactor.inline' 417 | 418 | Example inline actions: 419 | 420 | - Inline function 421 | - Inline variable 422 | - Inline constant 423 | - ... """ 424 | RefactorRewrite = "refactor.rewrite" 425 | """ Base kind for refactoring rewrite actions: 'refactor.rewrite' 426 | 427 | Example rewrite actions: 428 | 429 | - Convert JavaScript function to class 430 | - Add or remove parameter 431 | - Encapsulate field 432 | - Make method static 433 | - Move method to base class 434 | - ... """ 435 | Source = "source" 436 | """ Base kind for source actions: `source` 437 | 438 | Source code actions apply to the entire file. """ 439 | SourceOrganizeImports = "source.organizeImports" 440 | """ Base kind for an organize imports source action: `source.organizeImports` """ 441 | SourceFixAll = "source.fixAll" 442 | """ Base kind for auto-fix source actions: `source.fixAll`. 443 | 444 | Fix all actions automatically fix errors that have a clear fix that do not require user input. 445 | They should not suppress errors or perform unsafe fixes such as generating new types or classes. 446 | 447 | @since 3.15.0 """ 448 | 449 | 450 | class TraceValues(Enum): 451 | Off = "off" 452 | """ Turn tracing off. """ 453 | Messages = "messages" 454 | """ Trace messages only. """ 455 | Verbose = "verbose" 456 | """ Verbose message tracing. """ 457 | 458 | 459 | class MarkupKind(Enum): 460 | """Describes the content type that a client supports in various 461 | result literals like `Hover`, `ParameterInfo` or `CompletionItem`. 462 | 463 | Please note that `MarkupKinds` must not start with a `$`. This kinds 464 | are reserved for internal usage. 465 | """ 466 | 467 | PlainText = "plaintext" 468 | """ Plain text is supported as a content format """ 469 | Markdown = "markdown" 470 | """ Markdown is supported as a content format """ 471 | 472 | 473 | class PositionEncodingKind(Enum): 474 | """A set of predefined position encoding kinds. 475 | 476 | @since 3.17.0 477 | """ 478 | 479 | UTF8 = "utf-8" 480 | """ Character offsets count UTF-8 code units. """ 481 | UTF16 = "utf-16" 482 | """ Character offsets count UTF-16 code units. 483 | 484 | This is the default and must always be supported 485 | by servers """ 486 | UTF32 = "utf-32" 487 | """ Character offsets count UTF-32 code units. 488 | 489 | Implementation note: these are the same as Unicode code points, 490 | so this `PositionEncodingKind` may also be used for an 491 | encoding-agnostic representation of character offsets. """ 492 | 493 | 494 | class FileChangeType(IntEnum): 495 | """The file event type""" 496 | 497 | Created = 1 498 | """ The file got created. """ 499 | Changed = 2 500 | """ The file got changed. """ 501 | Deleted = 3 502 | """ The file got deleted. """ 503 | 504 | 505 | class WatchKind(IntFlag): 506 | Create = 1 507 | """ Interested in create events. """ 508 | Change = 2 509 | """ Interested in change events """ 510 | Delete = 4 511 | """ Interested in delete events """ 512 | 513 | 514 | class DiagnosticSeverity(IntEnum): 515 | """The diagnostic's severity.""" 516 | 517 | Error = 1 518 | """ Reports an error. """ 519 | Warning = 2 520 | """ Reports a warning. """ 521 | Information = 3 522 | """ Reports an information. """ 523 | Hint = 4 524 | """ Reports a hint. """ 525 | 526 | 527 | class DiagnosticTag(IntEnum): 528 | """The diagnostic tags. 529 | 530 | @since 3.15.0 531 | """ 532 | 533 | Unnecessary = 1 534 | """ Unused or unnecessary code. 535 | 536 | Clients are allowed to render diagnostics with this tag faded out instead of having 537 | an error squiggle. """ 538 | Deprecated = 2 539 | """ Deprecated or obsolete code. 540 | 541 | Clients are allowed to rendered diagnostics with this tag strike through. """ 542 | 543 | 544 | class CompletionTriggerKind(IntEnum): 545 | """How a completion was triggered""" 546 | 547 | Invoked = 1 548 | """ Completion was triggered by typing an identifier (24x7 code 549 | complete), manual invocation (e.g Ctrl+Space) or via API. """ 550 | TriggerCharacter = 2 551 | """ Completion was triggered by a trigger character specified by 552 | the `triggerCharacters` properties of the `CompletionRegistrationOptions`. """ 553 | TriggerForIncompleteCompletions = 3 554 | """ Completion was re-triggered as current completion list is incomplete """ 555 | 556 | 557 | class SignatureHelpTriggerKind(IntEnum): 558 | """How a signature help was triggered. 559 | 560 | @since 3.15.0 561 | """ 562 | 563 | Invoked = 1 564 | """ Signature help was invoked manually by the user or by a command. """ 565 | TriggerCharacter = 2 566 | """ Signature help was triggered by a trigger character. """ 567 | ContentChange = 3 568 | """ Signature help was triggered by the cursor moving or by the document content changing. """ 569 | 570 | 571 | class CodeActionTriggerKind(IntEnum): 572 | """The reason why code actions were requested. 573 | 574 | @since 3.17.0 575 | """ 576 | 577 | Invoked = 1 578 | """ Code actions were explicitly requested by the user or by an extension. """ 579 | Automatic = 2 580 | """ Code actions were requested automatically. 581 | 582 | This typically happens when current selection in a file changes, but can 583 | also be triggered when file content changes. """ 584 | 585 | 586 | class FileOperationPatternKind(Enum): 587 | """A pattern kind describing if a glob pattern matches a file a folder or 588 | both. 589 | 590 | @since 3.16.0 591 | """ 592 | 593 | File = "file" 594 | """ The pattern matches a file only. """ 595 | Folder = "folder" 596 | """ The pattern matches a folder only. """ 597 | 598 | 599 | class NotebookCellKind(IntEnum): 600 | """A notebook cell kind. 601 | 602 | @since 3.17.0 603 | """ 604 | 605 | Markup = 1 606 | """ A markup-cell is formatted source that is used for display. """ 607 | Code = 2 608 | """ A code-cell is source code. """ 609 | 610 | 611 | class ResourceOperationKind(Enum): 612 | Create = "create" 613 | """ Supports creating new files and folders. """ 614 | Rename = "rename" 615 | """ Supports renaming existing files and folders. """ 616 | Delete = "delete" 617 | """ Supports deleting existing files and folders. """ 618 | 619 | 620 | class FailureHandlingKind(Enum): 621 | Abort = "abort" 622 | """ Applying the workspace change is simply aborted if one of the changes provided 623 | fails. All operations executed before the failing operation stay executed. """ 624 | Transactional = "transactional" 625 | """ All operations are executed transactional. That means they either all 626 | succeed or no changes at all are applied to the workspace. """ 627 | TextOnlyTransactional = "textOnlyTransactional" 628 | """ If the workspace edit contains only textual file changes they are executed transactional. 629 | If resource changes (create, rename or delete file) are part of the change the failure 630 | handling strategy is abort. """ 631 | Undo = "undo" 632 | """ The client tries to undo the operations already executed. But there is no 633 | guarantee that this is succeeding. """ 634 | 635 | 636 | class PrepareSupportDefaultBehavior(IntEnum): 637 | Identifier = 1 638 | """ The client's default behavior is to select the identifier 639 | according the to language's syntax rule. """ 640 | 641 | 642 | class TokenFormat(Enum): 643 | Relative = "relative" 644 | 645 | 646 | Definition = Union["Location", list["Location"]] 647 | """ The definition of a symbol represented as one or many {@link Location locations}. 648 | For most programming languages there is only one location at which a symbol is 649 | defined. 650 | 651 | Servers should prefer returning `DefinitionLink` over `Definition` if supported 652 | by the client. """ 653 | 654 | DefinitionLink = "LocationLink" 655 | """ Information about where a symbol is defined. 656 | 657 | Provides additional metadata over normal {@link Location location} definitions, including the range of 658 | the defining symbol """ 659 | 660 | LSPArray = list["LSPAny"] 661 | """ LSP arrays. 662 | @since 3.17.0 """ 663 | 664 | LSPAny = Union["LSPObject", "LSPArray", str, int, Uint, float, bool, None] 665 | """ The LSP any type. 666 | Please note that strictly speaking a property with the value `undefined` 667 | can't be converted into JSON preserving the property name. However for 668 | convenience it is allowed and assumed that all these properties are 669 | optional as well. 670 | @since 3.17.0 """ 671 | 672 | Declaration = Union["Location", list["Location"]] 673 | """ The declaration of a symbol representation as one or many {@link Location locations}. """ 674 | 675 | DeclarationLink = "LocationLink" 676 | """ Information about where a symbol is declared. 677 | 678 | Provides additional metadata over normal {@link Location location} declarations, including the range of 679 | the declaring symbol. 680 | 681 | Servers should prefer returning `DeclarationLink` over `Declaration` if supported 682 | by the client. """ 683 | 684 | InlineValue = Union["InlineValueText", "InlineValueVariableLookup", "InlineValueEvaluatableExpression"] 685 | """ Inline value information can be provided by different means: 686 | - directly as a text value (class InlineValueText). 687 | - as a name to use for a variable lookup (class InlineValueVariableLookup) 688 | - as an evaluatable expression (class InlineValueEvaluatableExpression) 689 | The InlineValue types combines all inline value types into one type. 690 | 691 | @since 3.17.0 """ 692 | 693 | DocumentDiagnosticReport = Union["RelatedFullDocumentDiagnosticReport", "RelatedUnchangedDocumentDiagnosticReport"] 694 | """ The result of a document diagnostic pull request. A report can 695 | either be a full report containing all diagnostics for the 696 | requested document or an unchanged report indicating that nothing 697 | has changed in terms of diagnostics in comparison to the last 698 | pull request. 699 | 700 | @since 3.17.0 """ 701 | 702 | PrepareRenameResult = Union["Range", "__PrepareRenameResult_Type_1", "__PrepareRenameResult_Type_2"] 703 | 704 | DocumentSelector = list["DocumentFilter"] 705 | """ A document selector is the combination of one or many document filters. 706 | 707 | @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**/tsconfig.json' }]`; 708 | 709 | The use of a string as a document filter is deprecated @since 3.16.0. """ 710 | 711 | ProgressToken = Union[int, str] 712 | 713 | ChangeAnnotationIdentifier = str 714 | """ An identifier to refer to a change annotation stored with a workspace edit. """ 715 | 716 | WorkspaceDocumentDiagnosticReport = Union[ 717 | "WorkspaceFullDocumentDiagnosticReport", 718 | "WorkspaceUnchangedDocumentDiagnosticReport", 719 | ] 720 | """ A workspace diagnostic document report. 721 | 722 | @since 3.17.0 """ 723 | 724 | TextDocumentContentChangeEvent = Union["__TextDocumentContentChangeEvent_Type_1", "__TextDocumentContentChangeEvent_Type_2"] 725 | """ An event describing a change to a text document. If only a text is provided 726 | it is considered to be the full content of the document. """ 727 | 728 | MarkedString = Union[str, "__MarkedString_Type_1"] 729 | """ MarkedString can be used to render human readable text. It is either a markdown string 730 | or a code-block that provides a language and a code snippet. The language identifier 731 | is semantically equal to the optional language identifier in fenced code blocks in GitHub 732 | issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting 733 | 734 | The pair of a language and a value is an equivalent to markdown: 735 | ```${language} 736 | ${value} 737 | ``` 738 | 739 | Note that markdown strings will be sanitized - that means html will be escaped. 740 | @deprecated use MarkupContent instead. """ 741 | 742 | DocumentFilter = Union["TextDocumentFilter", "NotebookCellTextDocumentFilter"] 743 | """ A document filter describes a top level text document or 744 | a notebook cell document. 745 | 746 | @since 3.17.0 - proposed support for NotebookCellTextDocumentFilter. """ 747 | 748 | LSPObject = dict[str, "LSPAny"] 749 | """ LSP object definition. 750 | @since 3.17.0 """ 751 | 752 | GlobPattern = Union["Pattern", "RelativePattern"] 753 | """ The glob pattern. Either a string pattern or a relative pattern. 754 | 755 | @since 3.17.0 """ 756 | 757 | TextDocumentFilter = Union[ 758 | "__TextDocumentFilter_Type_1", 759 | "__TextDocumentFilter_Type_2", 760 | "__TextDocumentFilter_Type_3", 761 | ] 762 | """ A document filter denotes a document by different properties like 763 | the {@link TextDocument.languageId language}, the {@link Uri.scheme scheme} of 764 | its resource, or a glob-pattern that is applied to the {@link TextDocument.fileName path}. 765 | 766 | Glob patterns can have the following syntax: 767 | - `*` to match one or more characters in a path segment 768 | - `?` to match on one character in a path segment 769 | - `**` to match any number of path segments, including none 770 | - `{}` to group sub patterns into an OR expression. (e.g. `**\u200b/*.{ts,js}` matches all TypeScript and JavaScript files) 771 | - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) 772 | - `[!...]` 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`) 773 | 774 | @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }` 775 | @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }` 776 | 777 | @since 3.17.0 """ 778 | 779 | NotebookDocumentFilter = Union[ 780 | "__NotebookDocumentFilter_Type_1", 781 | "__NotebookDocumentFilter_Type_2", 782 | "__NotebookDocumentFilter_Type_3", 783 | ] 784 | """ A notebook document filter denotes a notebook document by 785 | different properties. The properties will be match 786 | against the notebook's URI (same as with documents) 787 | 788 | @since 3.17.0 """ 789 | 790 | Pattern = str 791 | """ The glob pattern to watch relative to the base path. Glob patterns can have the following syntax: 792 | - `*` to match one or more characters in a path segment 793 | - `?` to match on one character in a path segment 794 | - `**` to match any number of path segments, including none 795 | - `{}` to group conditions (e.g. `**\u200b/*.{ts,js}` matches all TypeScript and JavaScript files) 796 | - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) 797 | - `[!...]` 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`) 798 | 799 | @since 3.17.0 """ 800 | 801 | 802 | class ImplementationParams(TypedDict): 803 | textDocument: "TextDocumentIdentifier" 804 | """ The text document. """ 805 | position: "Position" 806 | """ The position inside the text document. """ 807 | workDoneToken: NotRequired["ProgressToken"] 808 | """ An optional token that a server can use to report work done progress. """ 809 | partialResultToken: NotRequired["ProgressToken"] 810 | """ An optional token that a server can use to report partial results (e.g. streaming) to 811 | the client. """ 812 | 813 | 814 | class Location(TypedDict): 815 | """Represents a location inside a resource, such as a line 816 | inside a text file. 817 | """ 818 | 819 | uri: "DocumentUri" 820 | range: "Range" 821 | 822 | 823 | class ImplementationRegistrationOptions(TypedDict): 824 | documentSelector: Union["DocumentSelector", None] 825 | """ A document selector to identify the scope of the registration. If set to null 826 | the document selector provided on the client side will be used. """ 827 | id: NotRequired[str] 828 | """ The id used to register the request. The id can be used to deregister 829 | the request again. See also Registration#id. """ 830 | 831 | 832 | class TypeDefinitionParams(TypedDict): 833 | textDocument: "TextDocumentIdentifier" 834 | """ The text document. """ 835 | position: "Position" 836 | """ The position inside the text document. """ 837 | workDoneToken: NotRequired["ProgressToken"] 838 | """ An optional token that a server can use to report work done progress. """ 839 | partialResultToken: NotRequired["ProgressToken"] 840 | """ An optional token that a server can use to report partial results (e.g. streaming) to 841 | the client. """ 842 | 843 | 844 | class TypeDefinitionRegistrationOptions(TypedDict): 845 | documentSelector: Union["DocumentSelector", None] 846 | """ A document selector to identify the scope of the registration. If set to null 847 | the document selector provided on the client side will be used. """ 848 | id: NotRequired[str] 849 | """ The id used to register the request. The id can be used to deregister 850 | the request again. See also Registration#id. """ 851 | 852 | 853 | class WorkspaceFolder(TypedDict): 854 | """A workspace folder inside a client.""" 855 | 856 | uri: "URI" 857 | """ The associated URI for this workspace folder. """ 858 | name: str 859 | """ The name of the workspace folder. Used to refer to this 860 | workspace folder in the user interface. """ 861 | 862 | 863 | class DidChangeWorkspaceFoldersParams(TypedDict): 864 | """The parameters of a `workspace/didChangeWorkspaceFolders` notification.""" 865 | 866 | event: "WorkspaceFoldersChangeEvent" 867 | """ The actual workspace folder change event. """ 868 | 869 | 870 | class ConfigurationParams(TypedDict): 871 | """The parameters of a configuration request.""" 872 | 873 | items: list["ConfigurationItem"] 874 | 875 | 876 | class DocumentColorParams(TypedDict): 877 | """Parameters for a {@link DocumentColorRequest}.""" 878 | 879 | textDocument: "TextDocumentIdentifier" 880 | """ The text document. """ 881 | workDoneToken: NotRequired["ProgressToken"] 882 | """ An optional token that a server can use to report work done progress. """ 883 | partialResultToken: NotRequired["ProgressToken"] 884 | """ An optional token that a server can use to report partial results (e.g. streaming) to 885 | the client. """ 886 | 887 | 888 | class ColorInformation(TypedDict): 889 | """Represents a color range from a document.""" 890 | 891 | range: "Range" 892 | """ The range in the document where this color appears. """ 893 | color: "Color" 894 | """ The actual color value for this color range. """ 895 | 896 | 897 | class DocumentColorRegistrationOptions(TypedDict): 898 | documentSelector: Union["DocumentSelector", None] 899 | """ A document selector to identify the scope of the registration. If set to null 900 | the document selector provided on the client side will be used. """ 901 | id: NotRequired[str] 902 | """ The id used to register the request. The id can be used to deregister 903 | the request again. See also Registration#id. """ 904 | 905 | 906 | class ColorPresentationParams(TypedDict): 907 | """Parameters for a {@link ColorPresentationRequest}.""" 908 | 909 | textDocument: "TextDocumentIdentifier" 910 | """ The text document. """ 911 | color: "Color" 912 | """ The color to request presentations for. """ 913 | range: "Range" 914 | """ The range where the color would be inserted. Serves as a context. """ 915 | workDoneToken: NotRequired["ProgressToken"] 916 | """ An optional token that a server can use to report work done progress. """ 917 | partialResultToken: NotRequired["ProgressToken"] 918 | """ An optional token that a server can use to report partial results (e.g. streaming) to 919 | the client. """ 920 | 921 | 922 | class ColorPresentation(TypedDict): 923 | label: str 924 | """ The label of this color presentation. It will be shown on the color 925 | picker header. By default this is also the text that is inserted when selecting 926 | this color presentation. """ 927 | textEdit: NotRequired["TextEdit"] 928 | """ An {@link TextEdit edit} which is applied to a document when selecting 929 | this presentation for the color. When `falsy` the {@link ColorPresentation.label label} 930 | is used. """ 931 | additionalTextEdits: NotRequired[list["TextEdit"]] 932 | """ An optional array of additional {@link TextEdit text edits} that are applied when 933 | selecting this color presentation. Edits must not overlap with the main {@link ColorPresentation.textEdit edit} nor with themselves. """ 934 | 935 | 936 | class WorkDoneProgressOptions(TypedDict): 937 | workDoneProgress: NotRequired[bool] 938 | 939 | 940 | class TextDocumentRegistrationOptions(TypedDict): 941 | """General text document registration options.""" 942 | 943 | documentSelector: Union["DocumentSelector", None] 944 | """ A document selector to identify the scope of the registration. If set to null 945 | the document selector provided on the client side will be used. """ 946 | 947 | 948 | class FoldingRangeParams(TypedDict): 949 | """Parameters for a {@link FoldingRangeRequest}.""" 950 | 951 | textDocument: "TextDocumentIdentifier" 952 | """ The text document. """ 953 | workDoneToken: NotRequired["ProgressToken"] 954 | """ An optional token that a server can use to report work done progress. """ 955 | partialResultToken: NotRequired["ProgressToken"] 956 | """ An optional token that a server can use to report partial results (e.g. streaming) to 957 | the client. """ 958 | 959 | 960 | class FoldingRange(TypedDict): 961 | """Represents a folding range. To be valid, start and end line must be bigger than zero and smaller 962 | than the number of lines in the document. Clients are free to ignore invalid ranges. 963 | """ 964 | 965 | startLine: Uint 966 | """ The zero-based start line of the range to fold. The folded area starts after the line's last character. 967 | To be valid, the end must be zero or larger and smaller than the number of lines in the document. """ 968 | startCharacter: NotRequired[Uint] 969 | """ The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line. """ 970 | endLine: Uint 971 | """ The zero-based end line of the range to fold. The folded area ends with the line's last character. 972 | To be valid, the end must be zero or larger and smaller than the number of lines in the document. """ 973 | endCharacter: NotRequired[Uint] 974 | """ The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line. """ 975 | kind: NotRequired["FoldingRangeKind"] 976 | """ Describes the kind of the folding range such as `comment' or 'region'. The kind 977 | is used to categorize folding ranges and used by commands like 'Fold all comments'. 978 | See {@link FoldingRangeKind} for an enumeration of standardized kinds. """ 979 | collapsedText: NotRequired[str] 980 | """ The text that the client should show when the specified range is 981 | collapsed. If not defined or not supported by the client, a default 982 | will be chosen by the client. 983 | 984 | @since 3.17.0 """ 985 | 986 | 987 | class FoldingRangeRegistrationOptions(TypedDict): 988 | documentSelector: Union["DocumentSelector", None] 989 | """ A document selector to identify the scope of the registration. If set to null 990 | the document selector provided on the client side will be used. """ 991 | id: NotRequired[str] 992 | """ The id used to register the request. The id can be used to deregister 993 | the request again. See also Registration#id. """ 994 | 995 | 996 | class DeclarationParams(TypedDict): 997 | textDocument: "TextDocumentIdentifier" 998 | """ The text document. """ 999 | position: "Position" 1000 | """ The position inside the text document. """ 1001 | workDoneToken: NotRequired["ProgressToken"] 1002 | """ An optional token that a server can use to report work done progress. """ 1003 | partialResultToken: NotRequired["ProgressToken"] 1004 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1005 | the client. """ 1006 | 1007 | 1008 | class DeclarationRegistrationOptions(TypedDict): 1009 | documentSelector: Union["DocumentSelector", None] 1010 | """ A document selector to identify the scope of the registration. If set to null 1011 | the document selector provided on the client side will be used. """ 1012 | id: NotRequired[str] 1013 | """ The id used to register the request. The id can be used to deregister 1014 | the request again. See also Registration#id. """ 1015 | 1016 | 1017 | class SelectionRangeParams(TypedDict): 1018 | """A parameter literal used in selection range requests.""" 1019 | 1020 | textDocument: "TextDocumentIdentifier" 1021 | """ The text document. """ 1022 | positions: list["Position"] 1023 | """ The positions inside the text document. """ 1024 | workDoneToken: NotRequired["ProgressToken"] 1025 | """ An optional token that a server can use to report work done progress. """ 1026 | partialResultToken: NotRequired["ProgressToken"] 1027 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1028 | the client. """ 1029 | 1030 | 1031 | class SelectionRange(TypedDict): 1032 | """A selection range represents a part of a selection hierarchy. A selection range 1033 | may have a parent selection range that contains it. 1034 | """ 1035 | 1036 | range: "Range" 1037 | """ The {@link Range range} of this selection range. """ 1038 | parent: NotRequired["SelectionRange"] 1039 | """ The parent selection range containing this range. Therefore `parent.range` must contain `this.range`. """ 1040 | 1041 | 1042 | class SelectionRangeRegistrationOptions(TypedDict): 1043 | documentSelector: Union["DocumentSelector", None] 1044 | """ A document selector to identify the scope of the registration. If set to null 1045 | the document selector provided on the client side will be used. """ 1046 | id: NotRequired[str] 1047 | """ The id used to register the request. The id can be used to deregister 1048 | the request again. See also Registration#id. """ 1049 | 1050 | 1051 | class WorkDoneProgressCreateParams(TypedDict): 1052 | token: "ProgressToken" 1053 | """ The token to be used to report progress. """ 1054 | 1055 | 1056 | class WorkDoneProgressCancelParams(TypedDict): 1057 | token: "ProgressToken" 1058 | """ The token to be used to report progress. """ 1059 | 1060 | 1061 | class CallHierarchyPrepareParams(TypedDict): 1062 | """The parameter of a `textDocument/prepareCallHierarchy` request. 1063 | 1064 | @since 3.16.0 1065 | """ 1066 | 1067 | textDocument: "TextDocumentIdentifier" 1068 | """ The text document. """ 1069 | position: "Position" 1070 | """ The position inside the text document. """ 1071 | workDoneToken: NotRequired["ProgressToken"] 1072 | """ An optional token that a server can use to report work done progress. """ 1073 | 1074 | 1075 | class CallHierarchyItem(TypedDict): 1076 | """Represents programming constructs like functions or constructors in the context 1077 | of call hierarchy. 1078 | 1079 | @since 3.16.0 1080 | """ 1081 | 1082 | name: str 1083 | """ The name of this item. """ 1084 | kind: "SymbolKind" 1085 | """ The kind of this item. """ 1086 | tags: NotRequired[list["SymbolTag"]] 1087 | """ Tags for this item. """ 1088 | detail: NotRequired[str] 1089 | """ More detail for this item, e.g. the signature of a function. """ 1090 | uri: "DocumentUri" 1091 | """ The resource identifier of this item. """ 1092 | range: "Range" 1093 | """ The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code. """ 1094 | selectionRange: "Range" 1095 | """ The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. 1096 | Must be contained by the {@link CallHierarchyItem.range `range`}. """ 1097 | data: NotRequired["LSPAny"] 1098 | """ A data entry field that is preserved between a call hierarchy prepare and 1099 | incoming calls or outgoing calls requests. """ 1100 | 1101 | 1102 | class CallHierarchyRegistrationOptions(TypedDict): 1103 | """Call hierarchy options used during static or dynamic registration. 1104 | 1105 | @since 3.16.0 1106 | """ 1107 | 1108 | documentSelector: Union["DocumentSelector", None] 1109 | """ A document selector to identify the scope of the registration. If set to null 1110 | the document selector provided on the client side will be used. """ 1111 | id: NotRequired[str] 1112 | """ The id used to register the request. The id can be used to deregister 1113 | the request again. See also Registration#id. """ 1114 | 1115 | 1116 | class CallHierarchyIncomingCallsParams(TypedDict): 1117 | """The parameter of a `callHierarchy/incomingCalls` request. 1118 | 1119 | @since 3.16.0 1120 | """ 1121 | 1122 | item: "CallHierarchyItem" 1123 | workDoneToken: NotRequired["ProgressToken"] 1124 | """ An optional token that a server can use to report work done progress. """ 1125 | partialResultToken: NotRequired["ProgressToken"] 1126 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1127 | the client. """ 1128 | 1129 | 1130 | CallHierarchyIncomingCall = TypedDict( 1131 | "CallHierarchyIncomingCall", 1132 | { 1133 | # The item that makes the call. 1134 | "from": "CallHierarchyItem", 1135 | # The ranges at which the calls appear. This is relative to the caller 1136 | # denoted by {@link CallHierarchyIncomingCall.from `this.from`}. 1137 | "fromRanges": list["Range"], 1138 | }, 1139 | ) 1140 | """ Represents an incoming call, e.g. a caller of a method or constructor. 1141 | 1142 | @since 3.16.0 """ 1143 | 1144 | 1145 | class CallHierarchyOutgoingCallsParams(TypedDict): 1146 | """The parameter of a `callHierarchy/outgoingCalls` request. 1147 | 1148 | @since 3.16.0 1149 | """ 1150 | 1151 | item: "CallHierarchyItem" 1152 | workDoneToken: NotRequired["ProgressToken"] 1153 | """ An optional token that a server can use to report work done progress. """ 1154 | partialResultToken: NotRequired["ProgressToken"] 1155 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1156 | the client. """ 1157 | 1158 | 1159 | class CallHierarchyOutgoingCall(TypedDict): 1160 | """Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc. 1161 | 1162 | @since 3.16.0 1163 | """ 1164 | 1165 | to: "CallHierarchyItem" 1166 | """ The item that is called. """ 1167 | fromRanges: list["Range"] 1168 | """ The range at which this item is called. This is the range relative to the caller, e.g the item 1169 | passed to {@link CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls `provideCallHierarchyOutgoingCalls`} 1170 | and not {@link CallHierarchyOutgoingCall.to `this.to`}. """ 1171 | 1172 | 1173 | class SemanticTokensParams(TypedDict): 1174 | """@since 3.16.0""" 1175 | 1176 | textDocument: "TextDocumentIdentifier" 1177 | """ The text document. """ 1178 | workDoneToken: NotRequired["ProgressToken"] 1179 | """ An optional token that a server can use to report work done progress. """ 1180 | partialResultToken: NotRequired["ProgressToken"] 1181 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1182 | the client. """ 1183 | 1184 | 1185 | class SemanticTokens(TypedDict): 1186 | """@since 3.16.0""" 1187 | 1188 | resultId: NotRequired[str] 1189 | """ An optional result id. If provided and clients support delta updating 1190 | the client will include the result id in the next semantic token request. 1191 | A server can then instead of computing all semantic tokens again simply 1192 | send a delta. """ 1193 | data: list[Uint] 1194 | """ The actual tokens. """ 1195 | 1196 | 1197 | class SemanticTokensPartialResult(TypedDict): 1198 | """@since 3.16.0""" 1199 | 1200 | data: list[Uint] 1201 | 1202 | 1203 | class SemanticTokensRegistrationOptions(TypedDict): 1204 | """@since 3.16.0""" 1205 | 1206 | documentSelector: Union["DocumentSelector", None] 1207 | """ A document selector to identify the scope of the registration. If set to null 1208 | the document selector provided on the client side will be used. """ 1209 | legend: "SemanticTokensLegend" 1210 | """ The legend used by the server """ 1211 | range: NotRequired[bool | dict] 1212 | """ Server supports providing semantic tokens for a specific range 1213 | of a document. """ 1214 | full: NotRequired[Union[bool, "__SemanticTokensOptions_full_Type_1"]] 1215 | """ Server supports providing semantic tokens for a full document. """ 1216 | id: NotRequired[str] 1217 | """ The id used to register the request. The id can be used to deregister 1218 | the request again. See also Registration#id. """ 1219 | 1220 | 1221 | class SemanticTokensDeltaParams(TypedDict): 1222 | """@since 3.16.0""" 1223 | 1224 | textDocument: "TextDocumentIdentifier" 1225 | """ The text document. """ 1226 | previousResultId: str 1227 | """ The result id of a previous response. The result Id can either point to a full response 1228 | or a delta response depending on what was received last. """ 1229 | workDoneToken: NotRequired["ProgressToken"] 1230 | """ An optional token that a server can use to report work done progress. """ 1231 | partialResultToken: NotRequired["ProgressToken"] 1232 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1233 | the client. """ 1234 | 1235 | 1236 | class SemanticTokensDelta(TypedDict): 1237 | """@since 3.16.0""" 1238 | 1239 | resultId: NotRequired[str] 1240 | edits: list["SemanticTokensEdit"] 1241 | """ The semantic token edits to transform a previous result into a new result. """ 1242 | 1243 | 1244 | class SemanticTokensDeltaPartialResult(TypedDict): 1245 | """@since 3.16.0""" 1246 | 1247 | edits: list["SemanticTokensEdit"] 1248 | 1249 | 1250 | class SemanticTokensRangeParams(TypedDict): 1251 | """@since 3.16.0""" 1252 | 1253 | textDocument: "TextDocumentIdentifier" 1254 | """ The text document. """ 1255 | range: "Range" 1256 | """ The range the semantic tokens are requested for. """ 1257 | workDoneToken: NotRequired["ProgressToken"] 1258 | """ An optional token that a server can use to report work done progress. """ 1259 | partialResultToken: NotRequired["ProgressToken"] 1260 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1261 | the client. """ 1262 | 1263 | 1264 | class ShowDocumentParams(TypedDict): 1265 | """Params to show a document. 1266 | 1267 | @since 3.16.0 1268 | """ 1269 | 1270 | uri: "URI" 1271 | """ The document uri to show. """ 1272 | external: NotRequired[bool] 1273 | """ Indicates to show the resource in an external program. 1274 | To show for example `https://code.visualstudio.com/` 1275 | in the default WEB browser set `external` to `true`. """ 1276 | takeFocus: NotRequired[bool] 1277 | """ An optional property to indicate whether the editor 1278 | showing the document should take focus or not. 1279 | Clients might ignore this property if an external 1280 | program is started. """ 1281 | selection: NotRequired["Range"] 1282 | """ An optional selection range if the document is a text 1283 | document. Clients might ignore the property if an 1284 | external program is started or the file is not a text 1285 | file. """ 1286 | 1287 | 1288 | class ShowDocumentResult(TypedDict): 1289 | """The result of a showDocument request. 1290 | 1291 | @since 3.16.0 1292 | """ 1293 | 1294 | success: bool 1295 | """ A boolean indicating if the show was successful. """ 1296 | 1297 | 1298 | class LinkedEditingRangeParams(TypedDict): 1299 | textDocument: "TextDocumentIdentifier" 1300 | """ The text document. """ 1301 | position: "Position" 1302 | """ The position inside the text document. """ 1303 | workDoneToken: NotRequired["ProgressToken"] 1304 | """ An optional token that a server can use to report work done progress. """ 1305 | 1306 | 1307 | class LinkedEditingRanges(TypedDict): 1308 | """The result of a linked editing range request. 1309 | 1310 | @since 3.16.0 1311 | """ 1312 | 1313 | ranges: list["Range"] 1314 | """ A list of ranges that can be edited together. The ranges must have 1315 | identical length and contain identical text content. The ranges cannot overlap. """ 1316 | wordPattern: NotRequired[str] 1317 | """ An optional word pattern (regular expression) that describes valid contents for 1318 | the given ranges. If no pattern is provided, the client configuration's word 1319 | pattern will be used. """ 1320 | 1321 | 1322 | class LinkedEditingRangeRegistrationOptions(TypedDict): 1323 | documentSelector: Union["DocumentSelector", None] 1324 | """ A document selector to identify the scope of the registration. If set to null 1325 | the document selector provided on the client side will be used. """ 1326 | id: NotRequired[str] 1327 | """ The id used to register the request. The id can be used to deregister 1328 | the request again. See also Registration#id. """ 1329 | 1330 | 1331 | class CreateFilesParams(TypedDict): 1332 | """The parameters sent in notifications/requests for user-initiated creation of 1333 | files. 1334 | 1335 | @since 3.16.0 1336 | """ 1337 | 1338 | files: list["FileCreate"] 1339 | """ An array of all files/folders created in this operation. """ 1340 | 1341 | 1342 | class WorkspaceEdit(TypedDict): 1343 | """A workspace edit represents changes to many resources managed in the workspace. The edit 1344 | should either provide `changes` or `documentChanges`. If documentChanges are present 1345 | they are preferred over `changes` if the client can handle versioned document edits. 1346 | 1347 | Since version 3.13.0 a workspace edit can contain resource operations as well. If resource 1348 | operations are present clients need to execute the operations in the order in which they 1349 | are provided. So a workspace edit for example can consist of the following two changes: 1350 | (1) a create file a.txt and (2) a text document edit which insert text into file a.txt. 1351 | 1352 | An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will 1353 | cause failure of the operation. How the client recovers from the failure is described by 1354 | the client capability: `workspace.workspaceEdit.failureHandling` 1355 | """ 1356 | 1357 | changes: NotRequired[dict["DocumentUri", list["TextEdit"]]] 1358 | """ Holds changes to existing resources. """ 1359 | documentChanges: NotRequired[list[Union["TextDocumentEdit", "CreateFile", "RenameFile", "DeleteFile"]]] 1360 | """ Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes 1361 | are either an array of `TextDocumentEdit`s to express changes to n different text documents 1362 | where each text document edit addresses a specific version of a text document. Or it can contain 1363 | above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations. 1364 | 1365 | Whether a client supports versioned document edits is expressed via 1366 | `workspace.workspaceEdit.documentChanges` client capability. 1367 | 1368 | If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then 1369 | only plain `TextEdit`s using the `changes` property are supported. """ 1370 | changeAnnotations: NotRequired[dict["ChangeAnnotationIdentifier", "ChangeAnnotation"]] 1371 | """ A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and 1372 | delete file / folder operations. 1373 | 1374 | Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`. 1375 | 1376 | @since 3.16.0 """ 1377 | 1378 | 1379 | class FileOperationRegistrationOptions(TypedDict): 1380 | """The options to register for file operations. 1381 | 1382 | @since 3.16.0 1383 | """ 1384 | 1385 | filters: list["FileOperationFilter"] 1386 | """ The actual filters. """ 1387 | 1388 | 1389 | class RenameFilesParams(TypedDict): 1390 | """The parameters sent in notifications/requests for user-initiated renames of 1391 | files. 1392 | 1393 | @since 3.16.0 1394 | """ 1395 | 1396 | files: list["FileRename"] 1397 | """ An array of all files/folders renamed in this operation. When a folder is renamed, only 1398 | the folder will be included, and not its children. """ 1399 | 1400 | 1401 | class DeleteFilesParams(TypedDict): 1402 | """The parameters sent in notifications/requests for user-initiated deletes of 1403 | files. 1404 | 1405 | @since 3.16.0 1406 | """ 1407 | 1408 | files: list["FileDelete"] 1409 | """ An array of all files/folders deleted in this operation. """ 1410 | 1411 | 1412 | class MonikerParams(TypedDict): 1413 | textDocument: "TextDocumentIdentifier" 1414 | """ The text document. """ 1415 | position: "Position" 1416 | """ The position inside the text document. """ 1417 | workDoneToken: NotRequired["ProgressToken"] 1418 | """ An optional token that a server can use to report work done progress. """ 1419 | partialResultToken: NotRequired["ProgressToken"] 1420 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1421 | the client. """ 1422 | 1423 | 1424 | class Moniker(TypedDict): 1425 | """Moniker definition to match LSIF 0.5 moniker definition. 1426 | 1427 | @since 3.16.0 1428 | """ 1429 | 1430 | scheme: str 1431 | """ The scheme of the moniker. For example tsc or .Net """ 1432 | identifier: str 1433 | """ The identifier of the moniker. The value is opaque in LSIF however 1434 | schema owners are allowed to define the structure if they want. """ 1435 | unique: "UniquenessLevel" 1436 | """ The scope in which the moniker is unique """ 1437 | kind: NotRequired["MonikerKind"] 1438 | """ The moniker kind if known. """ 1439 | 1440 | 1441 | class MonikerRegistrationOptions(TypedDict): 1442 | documentSelector: Union["DocumentSelector", None] 1443 | """ A document selector to identify the scope of the registration. If set to null 1444 | the document selector provided on the client side will be used. """ 1445 | 1446 | 1447 | class TypeHierarchyPrepareParams(TypedDict): 1448 | """The parameter of a `textDocument/prepareTypeHierarchy` request. 1449 | 1450 | @since 3.17.0 1451 | """ 1452 | 1453 | textDocument: "TextDocumentIdentifier" 1454 | """ The text document. """ 1455 | position: "Position" 1456 | """ The position inside the text document. """ 1457 | workDoneToken: NotRequired["ProgressToken"] 1458 | """ An optional token that a server can use to report work done progress. """ 1459 | 1460 | 1461 | class TypeHierarchyItem(TypedDict): 1462 | """@since 3.17.0""" 1463 | 1464 | name: str 1465 | """ The name of this item. """ 1466 | kind: "SymbolKind" 1467 | """ The kind of this item. """ 1468 | tags: NotRequired[list["SymbolTag"]] 1469 | """ Tags for this item. """ 1470 | detail: NotRequired[str] 1471 | """ More detail for this item, e.g. the signature of a function. """ 1472 | uri: "DocumentUri" 1473 | """ The resource identifier of this item. """ 1474 | range: "Range" 1475 | """ The range enclosing this symbol not including leading/trailing whitespace 1476 | but everything else, e.g. comments and code. """ 1477 | selectionRange: "Range" 1478 | """ The range that should be selected and revealed when this symbol is being 1479 | picked, e.g. the name of a function. Must be contained by the 1480 | {@link TypeHierarchyItem.range `range`}. """ 1481 | data: NotRequired["LSPAny"] 1482 | """ A data entry field that is preserved between a type hierarchy prepare and 1483 | supertypes or subtypes requests. It could also be used to identify the 1484 | type hierarchy in the server, helping improve the performance on 1485 | resolving supertypes and subtypes. """ 1486 | 1487 | 1488 | class TypeHierarchyRegistrationOptions(TypedDict): 1489 | """Type hierarchy options used during static or dynamic registration. 1490 | 1491 | @since 3.17.0 1492 | """ 1493 | 1494 | documentSelector: Union["DocumentSelector", None] 1495 | """ A document selector to identify the scope of the registration. If set to null 1496 | the document selector provided on the client side will be used. """ 1497 | id: NotRequired[str] 1498 | """ The id used to register the request. The id can be used to deregister 1499 | the request again. See also Registration#id. """ 1500 | 1501 | 1502 | class TypeHierarchySupertypesParams(TypedDict): 1503 | """The parameter of a `typeHierarchy/supertypes` request. 1504 | 1505 | @since 3.17.0 1506 | """ 1507 | 1508 | item: "TypeHierarchyItem" 1509 | workDoneToken: NotRequired["ProgressToken"] 1510 | """ An optional token that a server can use to report work done progress. """ 1511 | partialResultToken: NotRequired["ProgressToken"] 1512 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1513 | the client. """ 1514 | 1515 | 1516 | class TypeHierarchySubtypesParams(TypedDict): 1517 | """The parameter of a `typeHierarchy/subtypes` request. 1518 | 1519 | @since 3.17.0 1520 | """ 1521 | 1522 | item: "TypeHierarchyItem" 1523 | workDoneToken: NotRequired["ProgressToken"] 1524 | """ An optional token that a server can use to report work done progress. """ 1525 | partialResultToken: NotRequired["ProgressToken"] 1526 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1527 | the client. """ 1528 | 1529 | 1530 | class InlineValueParams(TypedDict): 1531 | """A parameter literal used in inline value requests. 1532 | 1533 | @since 3.17.0 1534 | """ 1535 | 1536 | textDocument: "TextDocumentIdentifier" 1537 | """ The text document. """ 1538 | range: "Range" 1539 | """ The document range for which inline values should be computed. """ 1540 | context: "InlineValueContext" 1541 | """ Additional information about the context in which inline values were 1542 | requested. """ 1543 | workDoneToken: NotRequired["ProgressToken"] 1544 | """ An optional token that a server can use to report work done progress. """ 1545 | 1546 | 1547 | class InlineValueRegistrationOptions(TypedDict): 1548 | """Inline value options used during static or dynamic registration. 1549 | 1550 | @since 3.17.0 1551 | """ 1552 | 1553 | documentSelector: Union["DocumentSelector", None] 1554 | """ A document selector to identify the scope of the registration. If set to null 1555 | the document selector provided on the client side will be used. """ 1556 | id: NotRequired[str] 1557 | """ The id used to register the request. The id can be used to deregister 1558 | the request again. See also Registration#id. """ 1559 | 1560 | 1561 | class InlayHintParams(TypedDict): 1562 | """A parameter literal used in inlay hint requests. 1563 | 1564 | @since 3.17.0 1565 | """ 1566 | 1567 | textDocument: "TextDocumentIdentifier" 1568 | """ The text document. """ 1569 | range: "Range" 1570 | """ The document range for which inlay hints should be computed. """ 1571 | workDoneToken: NotRequired["ProgressToken"] 1572 | """ An optional token that a server can use to report work done progress. """ 1573 | 1574 | 1575 | class InlayHint(TypedDict): 1576 | """Inlay hint information. 1577 | 1578 | @since 3.17.0 1579 | """ 1580 | 1581 | position: "Position" 1582 | """ The position of this hint. """ 1583 | label: str | list["InlayHintLabelPart"] 1584 | """ The label of this hint. A human readable string or an array of 1585 | InlayHintLabelPart label parts. 1586 | 1587 | *Note* that neither the string nor the label part can be empty. """ 1588 | kind: NotRequired["InlayHintKind"] 1589 | """ The kind of this hint. Can be omitted in which case the client 1590 | should fall back to a reasonable default. """ 1591 | textEdits: NotRequired[list["TextEdit"]] 1592 | """ Optional text edits that are performed when accepting this inlay hint. 1593 | 1594 | *Note* that edits are expected to change the document so that the inlay 1595 | hint (or its nearest variant) is now part of the document and the inlay 1596 | hint itself is now obsolete. """ 1597 | tooltip: NotRequired[Union[str, "MarkupContent"]] 1598 | """ The tooltip text when you hover over this item. """ 1599 | paddingLeft: NotRequired[bool] 1600 | """ Render padding before the hint. 1601 | 1602 | Note: Padding should use the editor's background color, not the 1603 | background color of the hint itself. That means padding can be used 1604 | to visually align/separate an inlay hint. """ 1605 | paddingRight: NotRequired[bool] 1606 | """ Render padding after the hint. 1607 | 1608 | Note: Padding should use the editor's background color, not the 1609 | background color of the hint itself. That means padding can be used 1610 | to visually align/separate an inlay hint. """ 1611 | data: NotRequired["LSPAny"] 1612 | """ A data entry field that is preserved on an inlay hint between 1613 | a `textDocument/inlayHint` and a `inlayHint/resolve` request. """ 1614 | 1615 | 1616 | class InlayHintRegistrationOptions(TypedDict): 1617 | """Inlay hint options used during static or dynamic registration. 1618 | 1619 | @since 3.17.0 1620 | """ 1621 | 1622 | resolveProvider: NotRequired[bool] 1623 | """ The server provides support to resolve additional 1624 | information for an inlay hint item. """ 1625 | documentSelector: Union["DocumentSelector", None] 1626 | """ A document selector to identify the scope of the registration. If set to null 1627 | the document selector provided on the client side will be used. """ 1628 | id: NotRequired[str] 1629 | """ The id used to register the request. The id can be used to deregister 1630 | the request again. See also Registration#id. """ 1631 | 1632 | 1633 | class DocumentDiagnosticParams(TypedDict): 1634 | """Parameters of the document diagnostic request. 1635 | 1636 | @since 3.17.0 1637 | """ 1638 | 1639 | textDocument: "TextDocumentIdentifier" 1640 | """ The text document. """ 1641 | identifier: NotRequired[str] 1642 | """ The additional identifier provided during registration. """ 1643 | previousResultId: NotRequired[str] 1644 | """ The result id of a previous response if provided. """ 1645 | workDoneToken: NotRequired["ProgressToken"] 1646 | """ An optional token that a server can use to report work done progress. """ 1647 | partialResultToken: NotRequired["ProgressToken"] 1648 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1649 | the client. """ 1650 | 1651 | 1652 | class DocumentDiagnosticReportPartialResult(TypedDict): 1653 | """A partial result for a document diagnostic report. 1654 | 1655 | @since 3.17.0 1656 | """ 1657 | 1658 | relatedDocuments: dict[ 1659 | "DocumentUri", 1660 | Union["FullDocumentDiagnosticReport", "UnchangedDocumentDiagnosticReport"], 1661 | ] 1662 | 1663 | 1664 | class DiagnosticServerCancellationData(TypedDict): 1665 | """Cancellation data returned from a diagnostic request. 1666 | 1667 | @since 3.17.0 1668 | """ 1669 | 1670 | retriggerRequest: bool 1671 | 1672 | 1673 | class DiagnosticRegistrationOptions(TypedDict): 1674 | """Diagnostic registration options. 1675 | 1676 | @since 3.17.0 1677 | """ 1678 | 1679 | documentSelector: Union["DocumentSelector", None] 1680 | """ A document selector to identify the scope of the registration. If set to null 1681 | the document selector provided on the client side will be used. """ 1682 | identifier: NotRequired[str] 1683 | """ An optional identifier under which the diagnostics are 1684 | managed by the client. """ 1685 | interFileDependencies: bool 1686 | """ Whether the language has inter file dependencies meaning that 1687 | editing code in one file can result in a different diagnostic 1688 | set in another file. Inter file dependencies are common for 1689 | most programming languages and typically uncommon for linters. """ 1690 | workspaceDiagnostics: bool 1691 | """ The server provides support for workspace diagnostics as well. """ 1692 | id: NotRequired[str] 1693 | """ The id used to register the request. The id can be used to deregister 1694 | the request again. See also Registration#id. """ 1695 | 1696 | 1697 | class WorkspaceDiagnosticParams(TypedDict): 1698 | """Parameters of the workspace diagnostic request. 1699 | 1700 | @since 3.17.0 1701 | """ 1702 | 1703 | identifier: NotRequired[str] 1704 | """ The additional identifier provided during registration. """ 1705 | previousResultIds: list["PreviousResultId"] 1706 | """ The currently known diagnostic reports with their 1707 | previous result ids. """ 1708 | workDoneToken: NotRequired["ProgressToken"] 1709 | """ An optional token that a server can use to report work done progress. """ 1710 | partialResultToken: NotRequired["ProgressToken"] 1711 | """ An optional token that a server can use to report partial results (e.g. streaming) to 1712 | the client. """ 1713 | 1714 | 1715 | class WorkspaceDiagnosticReport(TypedDict): 1716 | """A workspace diagnostic report. 1717 | 1718 | @since 3.17.0 1719 | """ 1720 | 1721 | items: list["WorkspaceDocumentDiagnosticReport"] 1722 | 1723 | 1724 | class WorkspaceDiagnosticReportPartialResult(TypedDict): 1725 | """A partial result for a workspace diagnostic report. 1726 | 1727 | @since 3.17.0 1728 | """ 1729 | 1730 | items: list["WorkspaceDocumentDiagnosticReport"] 1731 | 1732 | 1733 | class DidOpenNotebookDocumentParams(TypedDict): 1734 | """The params sent in an open notebook document notification. 1735 | 1736 | @since 3.17.0 1737 | """ 1738 | 1739 | notebookDocument: "NotebookDocument" 1740 | """ The notebook document that got opened. """ 1741 | cellTextDocuments: list["TextDocumentItem"] 1742 | """ The text documents that represent the content 1743 | of a notebook cell. """ 1744 | 1745 | 1746 | class DidChangeNotebookDocumentParams(TypedDict): 1747 | """The params sent in a change notebook document notification. 1748 | 1749 | @since 3.17.0 1750 | """ 1751 | 1752 | notebookDocument: "VersionedNotebookDocumentIdentifier" 1753 | """ The notebook document that did change. The version number points 1754 | to the version after all provided changes have been applied. If 1755 | only the text document content of a cell changes the notebook version 1756 | doesn't necessarily have to change. """ 1757 | change: "NotebookDocumentChangeEvent" 1758 | """ The actual changes to the notebook document. 1759 | 1760 | The changes describe single state changes to the notebook document. 1761 | So if there are two changes c1 (at array index 0) and c2 (at array 1762 | index 1) for a notebook in state S then c1 moves the notebook from 1763 | S to S' and c2 from S' to S''. So c1 is computed on the state S and 1764 | c2 is computed on the state S'. 1765 | 1766 | To mirror the content of a notebook using change events use the following approach: 1767 | - start with the same initial content 1768 | - apply the 'notebookDocument/didChange' notifications in the order you receive them. 1769 | - apply the `NotebookChangeEvent`s in a single notification in the order 1770 | you receive them. """ 1771 | 1772 | 1773 | class DidSaveNotebookDocumentParams(TypedDict): 1774 | """The params sent in a save notebook document notification. 1775 | 1776 | @since 3.17.0 1777 | """ 1778 | 1779 | notebookDocument: "NotebookDocumentIdentifier" 1780 | """ The notebook document that got saved. """ 1781 | 1782 | 1783 | class DidCloseNotebookDocumentParams(TypedDict): 1784 | """The params sent in a close notebook document notification. 1785 | 1786 | @since 3.17.0 1787 | """ 1788 | 1789 | notebookDocument: "NotebookDocumentIdentifier" 1790 | """ The notebook document that got closed. """ 1791 | cellTextDocuments: list["TextDocumentIdentifier"] 1792 | """ The text documents that represent the content 1793 | of a notebook cell that got closed. """ 1794 | 1795 | 1796 | class RegistrationParams(TypedDict): 1797 | registrations: list["Registration"] 1798 | 1799 | 1800 | class UnregistrationParams(TypedDict): 1801 | unregisterations: list["Unregistration"] 1802 | 1803 | 1804 | class InitializeParams(TypedDict): 1805 | processId: int | None 1806 | """ The process Id of the parent process that started 1807 | the server. 1808 | 1809 | Is `null` if the process has not been started by another process. 1810 | If the parent process is not alive then the server should exit. """ 1811 | clientInfo: NotRequired["___InitializeParams_clientInfo_Type_1"] 1812 | """ Information about the client 1813 | 1814 | @since 3.15.0 """ 1815 | locale: NotRequired[str] 1816 | """ The locale the client is currently showing the user interface 1817 | in. This must not necessarily be the locale of the operating 1818 | system. 1819 | 1820 | Uses IETF language tags as the value's syntax 1821 | (See https://en.wikipedia.org/wiki/IETF_language_tag) 1822 | 1823 | @since 3.16.0 """ 1824 | rootPath: NotRequired[str | None] 1825 | """ The rootPath of the workspace. Is null 1826 | if no folder is open. 1827 | 1828 | @deprecated in favour of rootUri. """ 1829 | rootUri: Union["DocumentUri", None] 1830 | """ The rootUri of the workspace. Is null if no 1831 | folder is open. If both `rootPath` and `rootUri` are set 1832 | `rootUri` wins. 1833 | 1834 | @deprecated in favour of workspaceFolders. """ 1835 | capabilities: "ClientCapabilities" 1836 | """ The capabilities provided by the client (editor or tool) """ 1837 | initializationOptions: NotRequired["LSPAny"] 1838 | """ User provided initialization options. """ 1839 | trace: NotRequired["TraceValues"] 1840 | """ The initial trace setting. If omitted trace is disabled ('off'). """ 1841 | workspaceFolders: NotRequired[list["WorkspaceFolder"] | None] 1842 | """ The workspace folders configured in the client when the server starts. 1843 | 1844 | This property is only available if the client supports workspace folders. 1845 | It can be `null` if the client supports workspace folders but none are 1846 | configured. 1847 | 1848 | @since 3.6.0 """ 1849 | 1850 | 1851 | class InitializeResult(TypedDict): 1852 | """The result returned from an initialize request.""" 1853 | 1854 | capabilities: "ServerCapabilities" 1855 | """ The capabilities the language server provides. """ 1856 | serverInfo: NotRequired["__InitializeResult_serverInfo_Type_1"] 1857 | """ Information about the server. 1858 | 1859 | @since 3.15.0 """ 1860 | 1861 | 1862 | class InitializeError(TypedDict): 1863 | """The data type of the ResponseError if the 1864 | initialize request fails. 1865 | """ 1866 | 1867 | retry: bool 1868 | """ Indicates whether the client execute the following retry logic: 1869 | (1) show the message provided by the ResponseError to the user 1870 | (2) user selects retry or cancel 1871 | (3) if user selected retry the initialize method is sent again. """ 1872 | 1873 | 1874 | class InitializedParams(TypedDict): 1875 | pass 1876 | 1877 | 1878 | class DidChangeConfigurationParams(TypedDict): 1879 | """The parameters of a change configuration notification.""" 1880 | 1881 | settings: "LSPAny" 1882 | """ The actual changed settings """ 1883 | 1884 | 1885 | class DidChangeConfigurationRegistrationOptions(TypedDict): 1886 | section: NotRequired[str | list[str]] 1887 | 1888 | 1889 | class ShowMessageParams(TypedDict): 1890 | """The parameters of a notification message.""" 1891 | 1892 | type: "MessageType" 1893 | """ The message type. See {@link MessageType} """ 1894 | message: str 1895 | """ The actual message. """ 1896 | 1897 | 1898 | class ShowMessageRequestParams(TypedDict): 1899 | type: "MessageType" 1900 | """ The message type. See {@link MessageType} """ 1901 | message: str 1902 | """ The actual message. """ 1903 | actions: NotRequired[list["MessageActionItem"]] 1904 | """ The message action items to present. """ 1905 | 1906 | 1907 | class MessageActionItem(TypedDict): 1908 | title: str 1909 | """ A short title like 'Retry', 'Open Log' etc. """ 1910 | 1911 | 1912 | class LogMessageParams(TypedDict): 1913 | """The log message parameters.""" 1914 | 1915 | type: "MessageType" 1916 | """ The message type. See {@link MessageType} """ 1917 | message: str 1918 | """ The actual message. """ 1919 | 1920 | 1921 | class DidOpenTextDocumentParams(TypedDict): 1922 | """The parameters sent in an open text document notification""" 1923 | 1924 | textDocument: "TextDocumentItem" 1925 | """ The document that was opened. """ 1926 | 1927 | 1928 | class DidChangeTextDocumentParams(TypedDict): 1929 | """The change text document notification's parameters.""" 1930 | 1931 | textDocument: "VersionedTextDocumentIdentifier" 1932 | """ The document that did change. The version number points 1933 | to the version after all provided content changes have 1934 | been applied. """ 1935 | contentChanges: list["TextDocumentContentChangeEvent"] 1936 | """ The actual content changes. The content changes describe single state changes 1937 | to the document. So if there are two content changes c1 (at array index 0) and 1938 | c2 (at array index 1) for a document in state S then c1 moves the document from 1939 | S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed 1940 | on the state S'. 1941 | 1942 | To mirror the content of a document using change events use the following approach: 1943 | - start with the same initial content 1944 | - apply the 'textDocument/didChange' notifications in the order you receive them. 1945 | - apply the `TextDocumentContentChangeEvent`s in a single notification in the order 1946 | you receive them. """ 1947 | 1948 | 1949 | class TextDocumentChangeRegistrationOptions(TypedDict): 1950 | """Describe options to be used when registered for text document change events.""" 1951 | 1952 | syncKind: "TextDocumentSyncKind" 1953 | """ How documents are synced to the server. """ 1954 | documentSelector: Union["DocumentSelector", None] 1955 | """ A document selector to identify the scope of the registration. If set to null 1956 | the document selector provided on the client side will be used. """ 1957 | 1958 | 1959 | class DidCloseTextDocumentParams(TypedDict): 1960 | """The parameters sent in a close text document notification""" 1961 | 1962 | textDocument: "TextDocumentIdentifier" 1963 | """ The document that was closed. """ 1964 | 1965 | 1966 | class DidSaveTextDocumentParams(TypedDict): 1967 | """The parameters sent in a save text document notification""" 1968 | 1969 | textDocument: "TextDocumentIdentifier" 1970 | """ The document that was saved. """ 1971 | text: NotRequired[str] 1972 | """ Optional the content when saved. Depends on the includeText value 1973 | when the save notification was requested. """ 1974 | 1975 | 1976 | class TextDocumentSaveRegistrationOptions(TypedDict): 1977 | """Save registration options.""" 1978 | 1979 | documentSelector: Union["DocumentSelector", None] 1980 | """ A document selector to identify the scope of the registration. If set to null 1981 | the document selector provided on the client side will be used. """ 1982 | includeText: NotRequired[bool] 1983 | """ The client is supposed to include the content on save. """ 1984 | 1985 | 1986 | class WillSaveTextDocumentParams(TypedDict): 1987 | """The parameters sent in a will save text document notification.""" 1988 | 1989 | textDocument: "TextDocumentIdentifier" 1990 | """ The document that will be saved. """ 1991 | reason: "TextDocumentSaveReason" 1992 | """ The 'TextDocumentSaveReason'. """ 1993 | 1994 | 1995 | class TextEdit(TypedDict): 1996 | """A text edit applicable to a text document.""" 1997 | 1998 | range: "Range" 1999 | """ The range of the text document to be manipulated. To insert 2000 | text into a document create a range where start === end. """ 2001 | newText: str 2002 | """ The string to be inserted. For delete operations use an 2003 | empty string. """ 2004 | 2005 | 2006 | class DidChangeWatchedFilesParams(TypedDict): 2007 | """The watched files change notification's parameters.""" 2008 | 2009 | changes: list["FileEvent"] 2010 | """ The actual file events. """ 2011 | 2012 | 2013 | class DidChangeWatchedFilesRegistrationOptions(TypedDict): 2014 | """Describe options to be used when registered for text document change events.""" 2015 | 2016 | watchers: list["FileSystemWatcher"] 2017 | """ The watchers to register. """ 2018 | 2019 | 2020 | class PublishDiagnosticsParams(TypedDict): 2021 | """The publish diagnostic notification's parameters.""" 2022 | 2023 | uri: "DocumentUri" 2024 | """ The URI for which diagnostic information is reported. """ 2025 | version: NotRequired[int] 2026 | """ Optional the version number of the document the diagnostics are published for. 2027 | 2028 | @since 3.15.0 """ 2029 | diagnostics: list["Diagnostic"] 2030 | """ An array of diagnostic information items. """ 2031 | 2032 | 2033 | class CompletionParams(TypedDict): 2034 | """Completion parameters""" 2035 | 2036 | context: NotRequired["CompletionContext"] 2037 | """ The completion context. This is only available it the client specifies 2038 | to send this using the client capability `textDocument.completion.contextSupport === true` """ 2039 | textDocument: "TextDocumentIdentifier" 2040 | """ The text document. """ 2041 | position: "Position" 2042 | """ The position inside the text document. """ 2043 | workDoneToken: NotRequired["ProgressToken"] 2044 | """ An optional token that a server can use to report work done progress. """ 2045 | partialResultToken: NotRequired["ProgressToken"] 2046 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2047 | the client. """ 2048 | 2049 | 2050 | class CompletionItem(TypedDict): 2051 | """A completion item represents a text snippet that is 2052 | proposed to complete text that is being typed. 2053 | """ 2054 | 2055 | label: str 2056 | """ The label of this completion item. 2057 | 2058 | The label property is also by default the text that 2059 | is inserted when selecting this completion. 2060 | 2061 | If label details are provided the label itself should 2062 | be an unqualified name of the completion item. """ 2063 | labelDetails: NotRequired["CompletionItemLabelDetails"] 2064 | """ Additional details for the label 2065 | 2066 | @since 3.17.0 """ 2067 | kind: NotRequired["CompletionItemKind"] 2068 | """ The kind of this completion item. Based of the kind 2069 | an icon is chosen by the editor. """ 2070 | tags: NotRequired[list["CompletionItemTag"]] 2071 | """ Tags for this completion item. 2072 | 2073 | @since 3.15.0 """ 2074 | detail: NotRequired[str] 2075 | """ A human-readable string with additional information 2076 | about this item, like type or symbol information. """ 2077 | documentation: NotRequired[Union[str, "MarkupContent"]] 2078 | """ A human-readable string that represents a doc-comment. """ 2079 | deprecated: NotRequired[bool] 2080 | """ Indicates if this item is deprecated. 2081 | @deprecated Use `tags` instead. """ 2082 | preselect: NotRequired[bool] 2083 | """ Select this item when showing. 2084 | 2085 | *Note* that only one completion item can be selected and that the 2086 | tool / client decides which item that is. The rule is that the *first* 2087 | item of those that match best is selected. """ 2088 | sortText: NotRequired[str] 2089 | """ A string that should be used when comparing this item 2090 | with other items. When `falsy` the {@link CompletionItem.label label} 2091 | is used. """ 2092 | filterText: NotRequired[str] 2093 | """ A string that should be used when filtering a set of 2094 | completion items. When `falsy` the {@link CompletionItem.label label} 2095 | is used. """ 2096 | insertText: NotRequired[str] 2097 | """ A string that should be inserted into a document when selecting 2098 | this completion. When `falsy` the {@link CompletionItem.label label} 2099 | is used. 2100 | 2101 | The `insertText` is subject to interpretation by the client side. 2102 | Some tools might not take the string literally. For example 2103 | VS Code when code complete is requested in this example 2104 | `con<cursor position>` and a completion item with an `insertText` of 2105 | `console` is provided it will only insert `sole`. Therefore it is 2106 | recommended to use `textEdit` instead since it avoids additional client 2107 | side interpretation. """ 2108 | insertTextFormat: NotRequired["InsertTextFormat"] 2109 | """ The format of the insert text. The format applies to both the 2110 | `insertText` property and the `newText` property of a provided 2111 | `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`. 2112 | 2113 | Please note that the insertTextFormat doesn't apply to 2114 | `additionalTextEdits`. """ 2115 | insertTextMode: NotRequired["InsertTextMode"] 2116 | """ How whitespace and indentation is handled during completion 2117 | item insertion. If not provided the clients default value depends on 2118 | the `textDocument.completion.insertTextMode` client capability. 2119 | 2120 | @since 3.16.0 """ 2121 | textEdit: NotRequired[Union["TextEdit", "InsertReplaceEdit"]] 2122 | """ An {@link TextEdit edit} which is applied to a document when selecting 2123 | this completion. When an edit is provided the value of 2124 | {@link CompletionItem.insertText insertText} is ignored. 2125 | 2126 | Most editors support two different operations when accepting a completion 2127 | item. One is to insert a completion text and the other is to replace an 2128 | existing text with a completion text. Since this can usually not be 2129 | predetermined by a server it can report both ranges. Clients need to 2130 | signal support for `InsertReplaceEdits` via the 2131 | `textDocument.completion.insertReplaceSupport` client capability 2132 | property. 2133 | 2134 | *Note 1:* The text edit's range as well as both ranges from an insert 2135 | replace edit must be a [single line] and they must contain the position 2136 | at which completion has been requested. 2137 | *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range 2138 | must be a prefix of the edit's replace range, that means it must be 2139 | contained and starting at the same position. 2140 | 2141 | @since 3.16.0 additional type `InsertReplaceEdit` """ 2142 | textEditText: NotRequired[str] 2143 | """ The edit text used if the completion item is part of a CompletionList and 2144 | CompletionList defines an item default for the text edit range. 2145 | 2146 | Clients will only honor this property if they opt into completion list 2147 | item defaults using the capability `completionList.itemDefaults`. 2148 | 2149 | If not provided and a list's default range is provided the label 2150 | property is used as a text. 2151 | 2152 | @since 3.17.0 """ 2153 | additionalTextEdits: NotRequired[list["TextEdit"]] 2154 | """ An optional array of additional {@link TextEdit text edits} that are applied when 2155 | selecting this completion. Edits must not overlap (including the same insert position) 2156 | with the main {@link CompletionItem.textEdit edit} nor with themselves. 2157 | 2158 | Additional text edits should be used to change text unrelated to the current cursor position 2159 | (for example adding an import statement at the top of the file if the completion item will 2160 | insert an unqualified type). """ 2161 | commitCharacters: NotRequired[list[str]] 2162 | """ An optional set of characters that when pressed while this completion is active will accept it first and 2163 | then type that character. *Note* that all commit characters should have `length=1` and that superfluous 2164 | characters will be ignored. """ 2165 | command: NotRequired["Command"] 2166 | """ An optional {@link Command command} that is executed *after* inserting this completion. *Note* that 2167 | additional modifications to the current document should be described with the 2168 | {@link CompletionItem.additionalTextEdits additionalTextEdits}-property. """ 2169 | data: NotRequired["LSPAny"] 2170 | """ A data entry field that is preserved on a completion item between a 2171 | {@link CompletionRequest} and a {@link CompletionResolveRequest}. """ 2172 | 2173 | 2174 | class CompletionList(TypedDict): 2175 | """Represents a collection of {@link CompletionItem completion items} to be presented 2176 | in the editor. 2177 | """ 2178 | 2179 | isIncomplete: bool 2180 | """ This list it not complete. Further typing results in recomputing this list. 2181 | 2182 | Recomputed lists have all their items replaced (not appended) in the 2183 | incomplete completion sessions. """ 2184 | itemDefaults: NotRequired["__CompletionList_itemDefaults_Type_1"] 2185 | """ In many cases the items of an actual completion result share the same 2186 | value for properties like `commitCharacters` or the range of a text 2187 | edit. A completion list can therefore define item defaults which will 2188 | be used if a completion item itself doesn't specify the value. 2189 | 2190 | If a completion list specifies a default value and a completion item 2191 | also specifies a corresponding value the one from the item is used. 2192 | 2193 | Servers are only allowed to return default values if the client 2194 | signals support for this via the `completionList.itemDefaults` 2195 | capability. 2196 | 2197 | @since 3.17.0 """ 2198 | items: list["CompletionItem"] 2199 | """ The completion items. """ 2200 | 2201 | 2202 | class CompletionRegistrationOptions(TypedDict): 2203 | """Registration options for a {@link CompletionRequest}.""" 2204 | 2205 | documentSelector: Union["DocumentSelector", None] 2206 | """ A document selector to identify the scope of the registration. If set to null 2207 | the document selector provided on the client side will be used. """ 2208 | triggerCharacters: NotRequired[list[str]] 2209 | """ Most tools trigger completion request automatically without explicitly requesting 2210 | it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user 2211 | starts to type an identifier. For example if the user types `c` in a JavaScript file 2212 | code complete will automatically pop up present `console` besides others as a 2213 | completion item. Characters that make up identifiers don't need to be listed here. 2214 | 2215 | If code complete should automatically be trigger on characters not being valid inside 2216 | an identifier (for example `.` in JavaScript) list them in `triggerCharacters`. """ 2217 | allCommitCharacters: NotRequired[list[str]] 2218 | """ The list of all possible characters that commit a completion. This field can be used 2219 | if clients don't support individual commit characters per completion item. See 2220 | `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport` 2221 | 2222 | If a server provides both `allCommitCharacters` and commit characters on an individual 2223 | completion item the ones on the completion item win. 2224 | 2225 | @since 3.2.0 """ 2226 | resolveProvider: NotRequired[bool] 2227 | """ The server provides support to resolve additional 2228 | information for a completion item. """ 2229 | completionItem: NotRequired["__CompletionOptions_completionItem_Type_1"] 2230 | """ The server supports the following `CompletionItem` specific 2231 | capabilities. 2232 | 2233 | @since 3.17.0 """ 2234 | 2235 | 2236 | class HoverParams(TypedDict): 2237 | """Parameters for a {@link HoverRequest}.""" 2238 | 2239 | textDocument: "TextDocumentIdentifier" 2240 | """ The text document. """ 2241 | position: "Position" 2242 | """ The position inside the text document. """ 2243 | workDoneToken: NotRequired["ProgressToken"] 2244 | """ An optional token that a server can use to report work done progress. """ 2245 | 2246 | 2247 | class Hover(TypedDict): 2248 | """The result of a hover request.""" 2249 | 2250 | contents: Union["MarkupContent", "MarkedString", list["MarkedString"]] 2251 | """ The hover's content """ 2252 | range: NotRequired["Range"] 2253 | """ An optional range inside the text document that is used to 2254 | visualize the hover, e.g. by changing the background color. """ 2255 | 2256 | 2257 | class HoverRegistrationOptions(TypedDict): 2258 | """Registration options for a {@link HoverRequest}.""" 2259 | 2260 | documentSelector: Union["DocumentSelector", None] 2261 | """ A document selector to identify the scope of the registration. If set to null 2262 | the document selector provided on the client side will be used. """ 2263 | 2264 | 2265 | class SignatureHelpParams(TypedDict): 2266 | """Parameters for a {@link SignatureHelpRequest}.""" 2267 | 2268 | context: NotRequired["SignatureHelpContext"] 2269 | """ The signature help context. This is only available if the client specifies 2270 | to send this using the client capability `textDocument.signatureHelp.contextSupport === true` 2271 | 2272 | @since 3.15.0 """ 2273 | textDocument: "TextDocumentIdentifier" 2274 | """ The text document. """ 2275 | position: "Position" 2276 | """ The position inside the text document. """ 2277 | workDoneToken: NotRequired["ProgressToken"] 2278 | """ An optional token that a server can use to report work done progress. """ 2279 | 2280 | 2281 | class SignatureHelp(TypedDict): 2282 | """Signature help represents the signature of something 2283 | callable. There can be multiple signature but only one 2284 | active and only one active parameter. 2285 | """ 2286 | 2287 | signatures: list["SignatureInformation"] 2288 | """ One or more signatures. """ 2289 | activeSignature: NotRequired[Uint] 2290 | """ The active signature. If omitted or the value lies outside the 2291 | range of `signatures` the value defaults to zero or is ignored if 2292 | the `SignatureHelp` has no signatures. 2293 | 2294 | Whenever possible implementers should make an active decision about 2295 | the active signature and shouldn't rely on a default value. 2296 | 2297 | In future version of the protocol this property might become 2298 | mandatory to better express this. """ 2299 | activeParameter: NotRequired[Uint] 2300 | """ The active parameter of the active signature. If omitted or the value 2301 | lies outside the range of `signatures[activeSignature].parameters` 2302 | defaults to 0 if the active signature has parameters. If 2303 | the active signature has no parameters it is ignored. 2304 | In future version of the protocol this property might become 2305 | mandatory to better express the active parameter if the 2306 | active signature does have any. """ 2307 | 2308 | 2309 | class SignatureHelpRegistrationOptions(TypedDict): 2310 | """Registration options for a {@link SignatureHelpRequest}.""" 2311 | 2312 | documentSelector: Union["DocumentSelector", None] 2313 | """ A document selector to identify the scope of the registration. If set to null 2314 | the document selector provided on the client side will be used. """ 2315 | triggerCharacters: NotRequired[list[str]] 2316 | """ List of characters that trigger signature help automatically. """ 2317 | retriggerCharacters: NotRequired[list[str]] 2318 | """ List of characters that re-trigger signature help. 2319 | 2320 | These trigger characters are only active when signature help is already showing. All trigger characters 2321 | are also counted as re-trigger characters. 2322 | 2323 | @since 3.15.0 """ 2324 | 2325 | 2326 | class DefinitionParams(TypedDict): 2327 | """Parameters for a {@link DefinitionRequest}.""" 2328 | 2329 | textDocument: "TextDocumentIdentifier" 2330 | """ The text document. """ 2331 | position: "Position" 2332 | """ The position inside the text document. """ 2333 | workDoneToken: NotRequired["ProgressToken"] 2334 | """ An optional token that a server can use to report work done progress. """ 2335 | partialResultToken: NotRequired["ProgressToken"] 2336 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2337 | the client. """ 2338 | 2339 | 2340 | class DefinitionRegistrationOptions(TypedDict): 2341 | """Registration options for a {@link DefinitionRequest}.""" 2342 | 2343 | documentSelector: Union["DocumentSelector", None] 2344 | """ A document selector to identify the scope of the registration. If set to null 2345 | the document selector provided on the client side will be used. """ 2346 | 2347 | 2348 | class ReferenceParams(TypedDict): 2349 | """Parameters for a {@link ReferencesRequest}.""" 2350 | 2351 | context: "ReferenceContext" 2352 | textDocument: "TextDocumentIdentifier" 2353 | """ The text document. """ 2354 | position: "Position" 2355 | """ The position inside the text document. """ 2356 | workDoneToken: NotRequired["ProgressToken"] 2357 | """ An optional token that a server can use to report work done progress. """ 2358 | partialResultToken: NotRequired["ProgressToken"] 2359 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2360 | the client. """ 2361 | 2362 | 2363 | class ReferenceRegistrationOptions(TypedDict): 2364 | """Registration options for a {@link ReferencesRequest}.""" 2365 | 2366 | documentSelector: Union["DocumentSelector", None] 2367 | """ A document selector to identify the scope of the registration. If set to null 2368 | the document selector provided on the client side will be used. """ 2369 | 2370 | 2371 | class DocumentHighlightParams(TypedDict): 2372 | """Parameters for a {@link DocumentHighlightRequest}.""" 2373 | 2374 | textDocument: "TextDocumentIdentifier" 2375 | """ The text document. """ 2376 | position: "Position" 2377 | """ The position inside the text document. """ 2378 | workDoneToken: NotRequired["ProgressToken"] 2379 | """ An optional token that a server can use to report work done progress. """ 2380 | partialResultToken: NotRequired["ProgressToken"] 2381 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2382 | the client. """ 2383 | 2384 | 2385 | class DocumentHighlight(TypedDict): 2386 | """A document highlight is a range inside a text document which deserves 2387 | special attention. Usually a document highlight is visualized by changing 2388 | the background color of its range. 2389 | """ 2390 | 2391 | range: "Range" 2392 | """ The range this highlight applies to. """ 2393 | kind: NotRequired["DocumentHighlightKind"] 2394 | """ The highlight kind, default is {@link DocumentHighlightKind.Text text}. """ 2395 | 2396 | 2397 | class DocumentHighlightRegistrationOptions(TypedDict): 2398 | """Registration options for a {@link DocumentHighlightRequest}.""" 2399 | 2400 | documentSelector: Union["DocumentSelector", None] 2401 | """ A document selector to identify the scope of the registration. If set to null 2402 | the document selector provided on the client side will be used. """ 2403 | 2404 | 2405 | class DocumentSymbolParams(TypedDict): 2406 | """Parameters for a {@link DocumentSymbolRequest}.""" 2407 | 2408 | textDocument: "TextDocumentIdentifier" 2409 | """ The text document. """ 2410 | workDoneToken: NotRequired["ProgressToken"] 2411 | """ An optional token that a server can use to report work done progress. """ 2412 | partialResultToken: NotRequired["ProgressToken"] 2413 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2414 | the client. """ 2415 | 2416 | 2417 | class SymbolInformation(TypedDict): 2418 | """Represents information about programming constructs like variables, classes, 2419 | interfaces etc. 2420 | """ 2421 | 2422 | deprecated: NotRequired[bool] 2423 | """ Indicates if this symbol is deprecated. 2424 | 2425 | @deprecated Use tags instead """ 2426 | location: "Location" 2427 | """ The location of this symbol. The location's range is used by a tool 2428 | to reveal the location in the editor. If the symbol is selected in the 2429 | tool the range's start information is used to position the cursor. So 2430 | the range usually spans more than the actual symbol's name and does 2431 | normally include things like visibility modifiers. 2432 | 2433 | The range doesn't have to denote a node range in the sense of an abstract 2434 | syntax tree. It can therefore not be used to re-construct a hierarchy of 2435 | the symbols. """ 2436 | name: str 2437 | """ The name of this symbol. """ 2438 | kind: "SymbolKind" 2439 | """ The kind of this symbol. """ 2440 | tags: NotRequired[list["SymbolTag"]] 2441 | """ Tags for this symbol. 2442 | 2443 | @since 3.16.0 """ 2444 | containerName: NotRequired[str] 2445 | """ The name of the symbol containing this symbol. This information is for 2446 | user interface purposes (e.g. to render a qualifier in the user interface 2447 | if necessary). It can't be used to re-infer a hierarchy for the document 2448 | symbols. """ 2449 | 2450 | 2451 | class DocumentSymbol(TypedDict): 2452 | """Represents programming constructs like variables, classes, interfaces etc. 2453 | that appear in a document. Document symbols can be hierarchical and they 2454 | have two ranges: one that encloses its definition and one that points to 2455 | its most interesting range, e.g. the range of an identifier. 2456 | """ 2457 | 2458 | name: str 2459 | """ The name of this symbol. Will be displayed in the user interface and therefore must not be 2460 | an empty string or a string only consisting of white spaces. """ 2461 | detail: NotRequired[str] 2462 | """ More detail for this symbol, e.g the signature of a function. """ 2463 | kind: "SymbolKind" 2464 | """ The kind of this symbol. """ 2465 | tags: NotRequired[list["SymbolTag"]] 2466 | """ Tags for this document symbol. 2467 | 2468 | @since 3.16.0 """ 2469 | deprecated: NotRequired[bool] 2470 | """ Indicates if this symbol is deprecated. 2471 | 2472 | @deprecated Use tags instead """ 2473 | range: "Range" 2474 | """ The range enclosing this symbol not including leading/trailing whitespace but everything else 2475 | like comments. This information is typically used to determine if the clients cursor is 2476 | inside the symbol to reveal in the symbol in the UI. """ 2477 | selectionRange: "Range" 2478 | """ The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. 2479 | Must be contained by the `range`. """ 2480 | 2481 | 2482 | class DocumentSymbolRegistrationOptions(TypedDict): 2483 | """Registration options for a {@link DocumentSymbolRequest}.""" 2484 | 2485 | documentSelector: Union["DocumentSelector", None] 2486 | """ A document selector to identify the scope of the registration. If set to null 2487 | the document selector provided on the client side will be used. """ 2488 | label: NotRequired[str] 2489 | """ A human-readable string that is shown when multiple outlines trees 2490 | are shown for the same document. 2491 | 2492 | @since 3.16.0 """ 2493 | 2494 | 2495 | class CodeActionParams(TypedDict): 2496 | """The parameters of a {@link CodeActionRequest}.""" 2497 | 2498 | textDocument: "TextDocumentIdentifier" 2499 | """ The document in which the command was invoked. """ 2500 | range: "Range" 2501 | """ The range for which the command was invoked. """ 2502 | context: "CodeActionContext" 2503 | """ Context carrying additional information. """ 2504 | workDoneToken: NotRequired["ProgressToken"] 2505 | """ An optional token that a server can use to report work done progress. """ 2506 | partialResultToken: NotRequired["ProgressToken"] 2507 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2508 | the client. """ 2509 | 2510 | 2511 | class Command(TypedDict): 2512 | """Represents a reference to a command. Provides a title which 2513 | will be used to represent a command in the UI and, optionally, 2514 | an array of arguments which will be passed to the command handler 2515 | function when invoked. 2516 | """ 2517 | 2518 | title: str 2519 | """ Title of the command, like `save`. """ 2520 | command: str 2521 | """ The identifier of the actual command handler. """ 2522 | arguments: NotRequired[list["LSPAny"]] 2523 | """ Arguments that the command handler should be 2524 | invoked with. """ 2525 | 2526 | 2527 | class CodeAction(TypedDict): 2528 | """A code action represents a change that can be performed in code, e.g. to fix a problem or 2529 | to refactor code. 2530 | 2531 | A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed. 2532 | """ 2533 | 2534 | title: str 2535 | """ A short, human-readable, title for this code action. """ 2536 | kind: NotRequired["CodeActionKind"] 2537 | """ The kind of the code action. 2538 | 2539 | Used to filter code actions. """ 2540 | diagnostics: NotRequired[list["Diagnostic"]] 2541 | """ The diagnostics that this code action resolves. """ 2542 | isPreferred: NotRequired[bool] 2543 | """ Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted 2544 | by keybindings. 2545 | 2546 | A quick fix should be marked preferred if it properly addresses the underlying error. 2547 | A refactoring should be marked preferred if it is the most reasonable choice of actions to take. 2548 | 2549 | @since 3.15.0 """ 2550 | disabled: NotRequired["__CodeAction_disabled_Type_1"] 2551 | """ Marks that the code action cannot currently be applied. 2552 | 2553 | Clients should follow the following guidelines regarding disabled code actions: 2554 | 2555 | - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) 2556 | code action menus. 2557 | 2558 | - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type 2559 | of code action, such as refactorings. 2560 | 2561 | - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions) 2562 | that auto applies a code action and only disabled code actions are returned, the client should show the user an 2563 | error message with `reason` in the editor. 2564 | 2565 | @since 3.16.0 """ 2566 | edit: NotRequired["WorkspaceEdit"] 2567 | """ The workspace edit this code action performs. """ 2568 | command: NotRequired["Command"] 2569 | """ A command this code action executes. If a code action 2570 | provides an edit and a command, first the edit is 2571 | executed and then the command. """ 2572 | data: NotRequired["LSPAny"] 2573 | """ A data entry field that is preserved on a code action between 2574 | a `textDocument/codeAction` and a `codeAction/resolve` request. 2575 | 2576 | @since 3.16.0 """ 2577 | 2578 | 2579 | class CodeActionRegistrationOptions(TypedDict): 2580 | """Registration options for a {@link CodeActionRequest}.""" 2581 | 2582 | documentSelector: Union["DocumentSelector", None] 2583 | """ A document selector to identify the scope of the registration. If set to null 2584 | the document selector provided on the client side will be used. """ 2585 | codeActionKinds: NotRequired[list["CodeActionKind"]] 2586 | """ CodeActionKinds that this server may return. 2587 | 2588 | The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server 2589 | may list out every specific kind they provide. """ 2590 | resolveProvider: NotRequired[bool] 2591 | """ The server provides support to resolve additional 2592 | information for a code action. 2593 | 2594 | @since 3.16.0 """ 2595 | 2596 | 2597 | class WorkspaceSymbolParams(TypedDict): 2598 | """The parameters of a {@link WorkspaceSymbolRequest}.""" 2599 | 2600 | query: str 2601 | """ A query string to filter symbols by. Clients may send an empty 2602 | string here to request all symbols. """ 2603 | workDoneToken: NotRequired["ProgressToken"] 2604 | """ An optional token that a server can use to report work done progress. """ 2605 | partialResultToken: NotRequired["ProgressToken"] 2606 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2607 | the client. """ 2608 | 2609 | 2610 | class WorkspaceSymbol(TypedDict): 2611 | """A special workspace symbol that supports locations without a range. 2612 | 2613 | See also SymbolInformation. 2614 | 2615 | @since 3.17.0 2616 | """ 2617 | 2618 | location: Union["Location", "__WorkspaceSymbol_location_Type_1"] 2619 | """ The location of the symbol. Whether a server is allowed to 2620 | return a location without a range depends on the client 2621 | capability `workspace.symbol.resolveSupport`. 2622 | 2623 | See SymbolInformation#location for more details. """ 2624 | data: NotRequired["LSPAny"] 2625 | """ A data entry field that is preserved on a workspace symbol between a 2626 | workspace symbol request and a workspace symbol resolve request. """ 2627 | name: str 2628 | """ The name of this symbol. """ 2629 | kind: "SymbolKind" 2630 | """ The kind of this symbol. """ 2631 | tags: NotRequired[list["SymbolTag"]] 2632 | """ Tags for this symbol. 2633 | 2634 | @since 3.16.0 """ 2635 | containerName: NotRequired[str] 2636 | """ The name of the symbol containing this symbol. This information is for 2637 | user interface purposes (e.g. to render a qualifier in the user interface 2638 | if necessary). It can't be used to re-infer a hierarchy for the document 2639 | symbols. """ 2640 | 2641 | 2642 | class WorkspaceSymbolRegistrationOptions(TypedDict): 2643 | """Registration options for a {@link WorkspaceSymbolRequest}.""" 2644 | 2645 | resolveProvider: NotRequired[bool] 2646 | """ The server provides support to resolve additional 2647 | information for a workspace symbol. 2648 | 2649 | @since 3.17.0 """ 2650 | 2651 | 2652 | class CodeLensParams(TypedDict): 2653 | """The parameters of a {@link CodeLensRequest}.""" 2654 | 2655 | textDocument: "TextDocumentIdentifier" 2656 | """ The document to request code lens for. """ 2657 | workDoneToken: NotRequired["ProgressToken"] 2658 | """ An optional token that a server can use to report work done progress. """ 2659 | partialResultToken: NotRequired["ProgressToken"] 2660 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2661 | the client. """ 2662 | 2663 | 2664 | class CodeLens(TypedDict): 2665 | """A code lens represents a {@link Command command} that should be shown along with 2666 | source text, like the number of references, a way to run tests, etc. 2667 | 2668 | A code lens is _unresolved_ when no command is associated to it. For performance 2669 | reasons the creation of a code lens and resolving should be done in two stages. 2670 | """ 2671 | 2672 | range: "Range" 2673 | """ The range in which this code lens is valid. Should only span a single line. """ 2674 | command: NotRequired["Command"] 2675 | """ The command this code lens represents. """ 2676 | data: NotRequired["LSPAny"] 2677 | """ A data entry field that is preserved on a code lens item between 2678 | a {@link CodeLensRequest} and a [CodeLensResolveRequest] 2679 | (#CodeLensResolveRequest) """ 2680 | 2681 | 2682 | class CodeLensRegistrationOptions(TypedDict): 2683 | """Registration options for a {@link CodeLensRequest}.""" 2684 | 2685 | documentSelector: Union["DocumentSelector", None] 2686 | """ A document selector to identify the scope of the registration. If set to null 2687 | the document selector provided on the client side will be used. """ 2688 | resolveProvider: NotRequired[bool] 2689 | """ Code lens has a resolve provider as well. """ 2690 | 2691 | 2692 | class DocumentLinkParams(TypedDict): 2693 | """The parameters of a {@link DocumentLinkRequest}.""" 2694 | 2695 | textDocument: "TextDocumentIdentifier" 2696 | """ The document to provide document links for. """ 2697 | workDoneToken: NotRequired["ProgressToken"] 2698 | """ An optional token that a server can use to report work done progress. """ 2699 | partialResultToken: NotRequired["ProgressToken"] 2700 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2701 | the client. """ 2702 | 2703 | 2704 | class DocumentLink(TypedDict): 2705 | """A document link is a range in a text document that links to an internal or external resource, like another 2706 | text document or a web site. 2707 | """ 2708 | 2709 | range: "Range" 2710 | """ The range this link applies to. """ 2711 | target: NotRequired[str] 2712 | """ The uri this link points to. If missing a resolve request is sent later. """ 2713 | tooltip: NotRequired[str] 2714 | """ The tooltip text when you hover over this link. 2715 | 2716 | If a tooltip is provided, is will be displayed in a string that includes instructions on how to 2717 | trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS, 2718 | user settings, and localization. 2719 | 2720 | @since 3.15.0 """ 2721 | data: NotRequired["LSPAny"] 2722 | """ A data entry field that is preserved on a document link between a 2723 | DocumentLinkRequest and a DocumentLinkResolveRequest. """ 2724 | 2725 | 2726 | class DocumentLinkRegistrationOptions(TypedDict): 2727 | """Registration options for a {@link DocumentLinkRequest}.""" 2728 | 2729 | documentSelector: Union["DocumentSelector", None] 2730 | """ A document selector to identify the scope of the registration. If set to null 2731 | the document selector provided on the client side will be used. """ 2732 | resolveProvider: NotRequired[bool] 2733 | """ Document links have a resolve provider as well. """ 2734 | 2735 | 2736 | class DocumentFormattingParams(TypedDict): 2737 | """The parameters of a {@link DocumentFormattingRequest}.""" 2738 | 2739 | textDocument: "TextDocumentIdentifier" 2740 | """ The document to format. """ 2741 | options: "FormattingOptions" 2742 | """ The format options. """ 2743 | workDoneToken: NotRequired["ProgressToken"] 2744 | """ An optional token that a server can use to report work done progress. """ 2745 | 2746 | 2747 | class DocumentFormattingRegistrationOptions(TypedDict): 2748 | """Registration options for a {@link DocumentFormattingRequest}.""" 2749 | 2750 | documentSelector: Union["DocumentSelector", None] 2751 | """ A document selector to identify the scope of the registration. If set to null 2752 | the document selector provided on the client side will be used. """ 2753 | 2754 | 2755 | class DocumentRangeFormattingParams(TypedDict): 2756 | """The parameters of a {@link DocumentRangeFormattingRequest}.""" 2757 | 2758 | textDocument: "TextDocumentIdentifier" 2759 | """ The document to format. """ 2760 | range: "Range" 2761 | """ The range to format """ 2762 | options: "FormattingOptions" 2763 | """ The format options """ 2764 | workDoneToken: NotRequired["ProgressToken"] 2765 | """ An optional token that a server can use to report work done progress. """ 2766 | 2767 | 2768 | class DocumentRangeFormattingRegistrationOptions(TypedDict): 2769 | """Registration options for a {@link DocumentRangeFormattingRequest}.""" 2770 | 2771 | documentSelector: Union["DocumentSelector", None] 2772 | """ A document selector to identify the scope of the registration. If set to null 2773 | the document selector provided on the client side will be used. """ 2774 | 2775 | 2776 | class DocumentOnTypeFormattingParams(TypedDict): 2777 | """The parameters of a {@link DocumentOnTypeFormattingRequest}.""" 2778 | 2779 | textDocument: "TextDocumentIdentifier" 2780 | """ The document to format. """ 2781 | position: "Position" 2782 | """ The position around which the on type formatting should happen. 2783 | This is not necessarily the exact position where the character denoted 2784 | by the property `ch` got typed. """ 2785 | ch: str 2786 | """ The character that has been typed that triggered the formatting 2787 | on type request. That is not necessarily the last character that 2788 | got inserted into the document since the client could auto insert 2789 | characters as well (e.g. like automatic brace completion). """ 2790 | options: "FormattingOptions" 2791 | """ The formatting options. """ 2792 | 2793 | 2794 | class DocumentOnTypeFormattingRegistrationOptions(TypedDict): 2795 | """Registration options for a {@link DocumentOnTypeFormattingRequest}.""" 2796 | 2797 | documentSelector: Union["DocumentSelector", None] 2798 | """ A document selector to identify the scope of the registration. If set to null 2799 | the document selector provided on the client side will be used. """ 2800 | firstTriggerCharacter: str 2801 | """ A character on which formatting should be triggered, like `{`. """ 2802 | moreTriggerCharacter: NotRequired[list[str]] 2803 | """ More trigger characters. """ 2804 | 2805 | 2806 | class RenameParams(TypedDict): 2807 | """The parameters of a {@link RenameRequest}.""" 2808 | 2809 | textDocument: "TextDocumentIdentifier" 2810 | """ The document to rename. """ 2811 | position: "Position" 2812 | """ The position at which this request was sent. """ 2813 | newName: str 2814 | """ The new name of the symbol. If the given name is not valid the 2815 | request must return a {@link ResponseError} with an 2816 | appropriate message set. """ 2817 | workDoneToken: NotRequired["ProgressToken"] 2818 | """ An optional token that a server can use to report work done progress. """ 2819 | 2820 | 2821 | class RenameRegistrationOptions(TypedDict): 2822 | """Registration options for a {@link RenameRequest}.""" 2823 | 2824 | documentSelector: Union["DocumentSelector", None] 2825 | """ A document selector to identify the scope of the registration. If set to null 2826 | the document selector provided on the client side will be used. """ 2827 | prepareProvider: NotRequired[bool] 2828 | """ Renames should be checked and tested before being executed. 2829 | 2830 | @since version 3.12.0 """ 2831 | 2832 | 2833 | class PrepareRenameParams(TypedDict): 2834 | textDocument: "TextDocumentIdentifier" 2835 | """ The text document. """ 2836 | position: "Position" 2837 | """ The position inside the text document. """ 2838 | workDoneToken: NotRequired["ProgressToken"] 2839 | """ An optional token that a server can use to report work done progress. """ 2840 | 2841 | 2842 | class ExecuteCommandParams(TypedDict): 2843 | """The parameters of a {@link ExecuteCommandRequest}.""" 2844 | 2845 | command: str 2846 | """ The identifier of the actual command handler. """ 2847 | arguments: NotRequired[list["LSPAny"]] 2848 | """ Arguments that the command should be invoked with. """ 2849 | workDoneToken: NotRequired["ProgressToken"] 2850 | """ An optional token that a server can use to report work done progress. """ 2851 | 2852 | 2853 | class ExecuteCommandRegistrationOptions(TypedDict): 2854 | """Registration options for a {@link ExecuteCommandRequest}.""" 2855 | 2856 | commands: list[str] 2857 | """ The commands to be executed on the server """ 2858 | 2859 | 2860 | class ApplyWorkspaceEditParams(TypedDict): 2861 | """The parameters passed via a apply workspace edit request.""" 2862 | 2863 | label: NotRequired[str] 2864 | """ An optional label of the workspace edit. This label is 2865 | presented in the user interface for example on an undo 2866 | stack to undo the workspace edit. """ 2867 | edit: "WorkspaceEdit" 2868 | """ The edits to apply. """ 2869 | 2870 | 2871 | class ApplyWorkspaceEditResult(TypedDict): 2872 | """The result returned from the apply workspace edit request. 2873 | 2874 | @since 3.17 renamed from ApplyWorkspaceEditResponse 2875 | """ 2876 | 2877 | applied: bool 2878 | """ Indicates whether the edit was applied or not. """ 2879 | failureReason: NotRequired[str] 2880 | """ An optional textual description for why the edit was not applied. 2881 | This may be used by the server for diagnostic logging or to provide 2882 | a suitable error for a request that triggered the edit. """ 2883 | failedChange: NotRequired[Uint] 2884 | """ Depending on the client's failure handling strategy `failedChange` might 2885 | contain the index of the change that failed. This property is only available 2886 | if the client signals a `failureHandlingStrategy` in its client capabilities. """ 2887 | 2888 | 2889 | class WorkDoneProgressBegin(TypedDict): 2890 | kind: Literal["begin"] 2891 | title: str 2892 | """ Mandatory title of the progress operation. Used to briefly inform about 2893 | the kind of operation being performed. 2894 | 2895 | Examples: "Indexing" or "Linking dependencies". """ 2896 | cancellable: NotRequired[bool] 2897 | """ Controls if a cancel button should show to allow the user to cancel the 2898 | long running operation. Clients that don't support cancellation are allowed 2899 | to ignore the setting. """ 2900 | message: NotRequired[str] 2901 | """ Optional, more detailed associated progress message. Contains 2902 | complementary information to the `title`. 2903 | 2904 | Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". 2905 | If unset, the previous progress message (if any) is still valid. """ 2906 | percentage: NotRequired[Uint] 2907 | """ Optional progress percentage to display (value 100 is considered 100%). 2908 | If not provided infinite progress is assumed and clients are allowed 2909 | to ignore the `percentage` value in subsequent in report notifications. 2910 | 2911 | The value should be steadily rising. Clients are free to ignore values 2912 | that are not following this rule. The value range is [0, 100]. """ 2913 | 2914 | 2915 | class WorkDoneProgressReport(TypedDict): 2916 | kind: Literal["report"] 2917 | cancellable: NotRequired[bool] 2918 | """ Controls enablement state of a cancel button. 2919 | 2920 | Clients that don't support cancellation or don't support controlling the button's 2921 | enablement state are allowed to ignore the property. """ 2922 | message: NotRequired[str] 2923 | """ Optional, more detailed associated progress message. Contains 2924 | complementary information to the `title`. 2925 | 2926 | Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". 2927 | If unset, the previous progress message (if any) is still valid. """ 2928 | percentage: NotRequired[Uint] 2929 | """ Optional progress percentage to display (value 100 is considered 100%). 2930 | If not provided infinite progress is assumed and clients are allowed 2931 | to ignore the `percentage` value in subsequent in report notifications. 2932 | 2933 | The value should be steadily rising. Clients are free to ignore values 2934 | that are not following this rule. The value range is [0, 100] """ 2935 | 2936 | 2937 | class WorkDoneProgressEnd(TypedDict): 2938 | kind: Literal["end"] 2939 | message: NotRequired[str] 2940 | """ Optional, a final message indicating to for example indicate the outcome 2941 | of the operation. """ 2942 | 2943 | 2944 | class SetTraceParams(TypedDict): 2945 | value: "TraceValues" 2946 | 2947 | 2948 | class LogTraceParams(TypedDict): 2949 | message: str 2950 | verbose: NotRequired[str] 2951 | 2952 | 2953 | class CancelParams(TypedDict): 2954 | id: int | str 2955 | """ The request id to cancel. """ 2956 | 2957 | 2958 | class ProgressParams(TypedDict): 2959 | token: "ProgressToken" 2960 | """ The progress token provided by the client or server. """ 2961 | value: "LSPAny" 2962 | """ The progress data. """ 2963 | 2964 | 2965 | class TextDocumentPositionParams(TypedDict): 2966 | """A parameter literal used in requests to pass a text document and a position inside that 2967 | document. 2968 | """ 2969 | 2970 | textDocument: "TextDocumentIdentifier" 2971 | """ The text document. """ 2972 | position: "Position" 2973 | """ The position inside the text document. """ 2974 | 2975 | 2976 | class WorkDoneProgressParams(TypedDict): 2977 | workDoneToken: NotRequired["ProgressToken"] 2978 | """ An optional token that a server can use to report work done progress. """ 2979 | 2980 | 2981 | class PartialResultParams(TypedDict): 2982 | partialResultToken: NotRequired["ProgressToken"] 2983 | """ An optional token that a server can use to report partial results (e.g. streaming) to 2984 | the client. """ 2985 | 2986 | 2987 | class LocationLink(TypedDict): 2988 | """Represents the connection of two locations. Provides additional metadata over normal {@link Location locations}, 2989 | including an origin range. 2990 | """ 2991 | 2992 | originSelectionRange: NotRequired["Range"] 2993 | """ Span of the origin of this link. 2994 | 2995 | Used as the underlined span for mouse interaction. Defaults to the word range at 2996 | the definition position. """ 2997 | targetUri: "DocumentUri" 2998 | """ The target resource identifier of this link. """ 2999 | targetRange: "Range" 3000 | """ The full target range of this link. If the target for example is a symbol then target range is the 3001 | range enclosing this symbol not including leading/trailing whitespace but everything else 3002 | like comments. This information is typically used to highlight the range in the editor. """ 3003 | targetSelectionRange: "Range" 3004 | """ The range that should be selected and revealed when this link is being followed, e.g the name of a function. 3005 | Must be contained by the `targetRange`. See also `DocumentSymbol#range` """ 3006 | 3007 | 3008 | class Range(TypedDict): 3009 | """A range in a text document expressed as (zero-based) start and end positions. 3010 | 3011 | If you want to specify a range that contains a line including the line ending 3012 | character(s) then use an end position denoting the start of the next line. 3013 | For example: 3014 | ```ts 3015 | { 3016 | start: { line: 5, character: 23 } 3017 | end : { line 6, character : 0 } 3018 | } 3019 | ``` 3020 | """ 3021 | 3022 | start: "Position" 3023 | """ The range's start position. """ 3024 | end: "Position" 3025 | """ The range's end position. """ 3026 | 3027 | 3028 | class ImplementationOptions(TypedDict): 3029 | workDoneProgress: NotRequired[bool] 3030 | 3031 | 3032 | class StaticRegistrationOptions(TypedDict): 3033 | """Static registration options to be returned in the initialize 3034 | request. 3035 | """ 3036 | 3037 | id: NotRequired[str] 3038 | """ The id used to register the request. The id can be used to deregister 3039 | the request again. See also Registration#id. """ 3040 | 3041 | 3042 | class TypeDefinitionOptions(TypedDict): 3043 | workDoneProgress: NotRequired[bool] 3044 | 3045 | 3046 | class WorkspaceFoldersChangeEvent(TypedDict): 3047 | """The workspace folder change event.""" 3048 | 3049 | added: list["WorkspaceFolder"] 3050 | """ The array of added workspace folders """ 3051 | removed: list["WorkspaceFolder"] 3052 | """ The array of the removed workspace folders """ 3053 | 3054 | 3055 | class ConfigurationItem(TypedDict): 3056 | scopeUri: NotRequired[str] 3057 | """ The scope to get the configuration section for. """ 3058 | section: NotRequired[str] 3059 | """ The configuration section asked for. """ 3060 | 3061 | 3062 | class TextDocumentIdentifier(TypedDict): 3063 | """A literal to identify a text document in the client.""" 3064 | 3065 | uri: "DocumentUri" 3066 | """ The text document's uri. """ 3067 | 3068 | 3069 | class Color(TypedDict): 3070 | """Represents a color in RGBA space.""" 3071 | 3072 | red: float 3073 | """ The red component of this color in the range [0-1]. """ 3074 | green: float 3075 | """ The green component of this color in the range [0-1]. """ 3076 | blue: float 3077 | """ The blue component of this color in the range [0-1]. """ 3078 | alpha: float 3079 | """ The alpha component of this color in the range [0-1]. """ 3080 | 3081 | 3082 | class DocumentColorOptions(TypedDict): 3083 | workDoneProgress: NotRequired[bool] 3084 | 3085 | 3086 | class FoldingRangeOptions(TypedDict): 3087 | workDoneProgress: NotRequired[bool] 3088 | 3089 | 3090 | class DeclarationOptions(TypedDict): 3091 | workDoneProgress: NotRequired[bool] 3092 | 3093 | 3094 | class Position(TypedDict): 3095 | r"""Position in a text document expressed as zero-based line and character 3096 | offset. Prior to 3.17 the offsets were always based on a UTF-16 string 3097 | representation. So a string of the form `a𐐀b` the character offset of the 3098 | character `a` is 0, the character offset of `𐐀` is 1 and the character 3099 | offset of b is 3 since `𐐀` is represented using two code units in UTF-16. 3100 | Since 3.17 clients and servers can agree on a different string encoding 3101 | representation (e.g. UTF-8). The client announces it's supported encoding 3102 | via the client capability [`general.positionEncodings`](#clientCapabilities). 3103 | The value is an array of position encodings the client supports, with 3104 | decreasing preference (e.g. the encoding at index `0` is the most preferred 3105 | one). To stay backwards compatible the only mandatory encoding is UTF-16 3106 | represented via the string `utf-16`. The server can pick one of the 3107 | encodings offered by the client and signals that encoding back to the 3108 | client via the initialize result's property 3109 | [`capabilities.positionEncoding`](#serverCapabilities). If the string value 3110 | `utf-16` is missing from the client's capability `general.positionEncodings` 3111 | servers can safely assume that the client supports UTF-16. If the server 3112 | omits the position encoding in its initialize result the encoding defaults 3113 | to the string value `utf-16`. Implementation considerations: since the 3114 | conversion from one encoding into another requires the content of the 3115 | file / line the conversion is best done where the file is read which is 3116 | usually on the server side. 3117 | 3118 | Positions are line end character agnostic. So you can not specify a position 3119 | that denotes `\r|\n` or `\n|` where `|` represents the character offset. 3120 | 3121 | @since 3.17.0 - support for negotiated position encoding. 3122 | """ 3123 | 3124 | line: Uint 3125 | """ Line position in a document (zero-based). 3126 | 3127 | If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document. 3128 | If a line number is negative, it defaults to 0. """ 3129 | character: Uint 3130 | """ Character offset on a line in a document (zero-based). 3131 | 3132 | The meaning of this offset is determined by the negotiated 3133 | `PositionEncodingKind`. 3134 | 3135 | If the character value is greater than the line length it defaults back to the 3136 | line length. """ 3137 | 3138 | 3139 | class SelectionRangeOptions(TypedDict): 3140 | workDoneProgress: NotRequired[bool] 3141 | 3142 | 3143 | class CallHierarchyOptions(TypedDict): 3144 | """Call hierarchy options used during static registration. 3145 | 3146 | @since 3.16.0 3147 | """ 3148 | 3149 | workDoneProgress: NotRequired[bool] 3150 | 3151 | 3152 | class SemanticTokensOptions(TypedDict): 3153 | """@since 3.16.0""" 3154 | 3155 | legend: "SemanticTokensLegend" 3156 | """ The legend used by the server """ 3157 | range: NotRequired[bool | dict] 3158 | """ Server supports providing semantic tokens for a specific range 3159 | of a document. """ 3160 | full: NotRequired[Union[bool, "__SemanticTokensOptions_full_Type_2"]] 3161 | """ Server supports providing semantic tokens for a full document. """ 3162 | workDoneProgress: NotRequired[bool] 3163 | 3164 | 3165 | class SemanticTokensEdit(TypedDict): 3166 | """@since 3.16.0""" 3167 | 3168 | start: Uint 3169 | """ The start offset of the edit. """ 3170 | deleteCount: Uint 3171 | """ The count of elements to remove. """ 3172 | data: NotRequired[list[Uint]] 3173 | """ The elements to insert. """ 3174 | 3175 | 3176 | class LinkedEditingRangeOptions(TypedDict): 3177 | workDoneProgress: NotRequired[bool] 3178 | 3179 | 3180 | class FileCreate(TypedDict): 3181 | """Represents information on a file/folder create. 3182 | 3183 | @since 3.16.0 3184 | """ 3185 | 3186 | uri: str 3187 | """ A file:// URI for the location of the file/folder being created. """ 3188 | 3189 | 3190 | class TextDocumentEdit(TypedDict): 3191 | """Describes textual changes on a text document. A TextDocumentEdit describes all changes 3192 | on a document version Si and after they are applied move the document to version Si+1. 3193 | So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any 3194 | kind of ordering. However the edits must be non overlapping. 3195 | """ 3196 | 3197 | textDocument: "OptionalVersionedTextDocumentIdentifier" 3198 | """ The text document to change. """ 3199 | edits: list[Union["TextEdit", "AnnotatedTextEdit"]] 3200 | """ The edits to be applied. 3201 | 3202 | @since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a 3203 | client capability. """ 3204 | 3205 | 3206 | class CreateFile(TypedDict): 3207 | """Create file operation.""" 3208 | 3209 | kind: Literal["create"] 3210 | """ A create """ 3211 | uri: "DocumentUri" 3212 | """ The resource to create. """ 3213 | options: NotRequired["CreateFileOptions"] 3214 | """ Additional options """ 3215 | annotationId: NotRequired["ChangeAnnotationIdentifier"] 3216 | """ An optional annotation identifier describing the operation. 3217 | 3218 | @since 3.16.0 """ 3219 | 3220 | 3221 | class RenameFile(TypedDict): 3222 | """Rename file operation""" 3223 | 3224 | kind: Literal["rename"] 3225 | """ A rename """ 3226 | oldUri: "DocumentUri" 3227 | """ The old (existing) location. """ 3228 | newUri: "DocumentUri" 3229 | """ The new location. """ 3230 | options: NotRequired["RenameFileOptions"] 3231 | """ Rename options. """ 3232 | annotationId: NotRequired["ChangeAnnotationIdentifier"] 3233 | """ An optional annotation identifier describing the operation. 3234 | 3235 | @since 3.16.0 """ 3236 | 3237 | 3238 | class DeleteFile(TypedDict): 3239 | """Delete file operation""" 3240 | 3241 | kind: Literal["delete"] 3242 | """ A delete """ 3243 | uri: "DocumentUri" 3244 | """ The file to delete. """ 3245 | options: NotRequired["DeleteFileOptions"] 3246 | """ Delete options. """ 3247 | annotationId: NotRequired["ChangeAnnotationIdentifier"] 3248 | """ An optional annotation identifier describing the operation. 3249 | 3250 | @since 3.16.0 """ 3251 | 3252 | 3253 | class ChangeAnnotation(TypedDict): 3254 | """Additional information that describes document changes. 3255 | 3256 | @since 3.16.0 3257 | """ 3258 | 3259 | label: str 3260 | """ A human-readable string describing the actual change. The string 3261 | is rendered prominent in the user interface. """ 3262 | needsConfirmation: NotRequired[bool] 3263 | """ A flag which indicates that user confirmation is needed 3264 | before applying the change. """ 3265 | description: NotRequired[str] 3266 | """ A human-readable string which is rendered less prominent in 3267 | the user interface. """ 3268 | 3269 | 3270 | class FileOperationFilter(TypedDict): 3271 | """A filter to describe in which file operation requests or notifications 3272 | the server is interested in receiving. 3273 | 3274 | @since 3.16.0 3275 | """ 3276 | 3277 | scheme: NotRequired[str] 3278 | """ A Uri scheme like `file` or `untitled`. """ 3279 | pattern: "FileOperationPattern" 3280 | """ The actual file operation pattern. """ 3281 | 3282 | 3283 | class FileRename(TypedDict): 3284 | """Represents information on a file/folder rename. 3285 | 3286 | @since 3.16.0 3287 | """ 3288 | 3289 | oldUri: str 3290 | """ A file:// URI for the original location of the file/folder being renamed. """ 3291 | newUri: str 3292 | """ A file:// URI for the new location of the file/folder being renamed. """ 3293 | 3294 | 3295 | class FileDelete(TypedDict): 3296 | """Represents information on a file/folder delete. 3297 | 3298 | @since 3.16.0 3299 | """ 3300 | 3301 | uri: str 3302 | """ A file:// URI for the location of the file/folder being deleted. """ 3303 | 3304 | 3305 | class MonikerOptions(TypedDict): 3306 | workDoneProgress: NotRequired[bool] 3307 | 3308 | 3309 | class TypeHierarchyOptions(TypedDict): 3310 | """Type hierarchy options used during static registration. 3311 | 3312 | @since 3.17.0 3313 | """ 3314 | 3315 | workDoneProgress: NotRequired[bool] 3316 | 3317 | 3318 | class InlineValueContext(TypedDict): 3319 | """@since 3.17.0""" 3320 | 3321 | frameId: int 3322 | """ The stack frame (as a DAP Id) where the execution has stopped. """ 3323 | stoppedLocation: "Range" 3324 | """ The document range where execution has stopped. 3325 | Typically the end position of the range denotes the line where the inline values are shown. """ 3326 | 3327 | 3328 | class InlineValueText(TypedDict): 3329 | """Provide inline value as text. 3330 | 3331 | @since 3.17.0 3332 | """ 3333 | 3334 | range: "Range" 3335 | """ The document range for which the inline value applies. """ 3336 | text: str 3337 | """ The text of the inline value. """ 3338 | 3339 | 3340 | class InlineValueVariableLookup(TypedDict): 3341 | """Provide inline value through a variable lookup. 3342 | If only a range is specified, the variable name will be extracted from the underlying document. 3343 | An optional variable name can be used to override the extracted name. 3344 | 3345 | @since 3.17.0 3346 | """ 3347 | 3348 | range: "Range" 3349 | """ The document range for which the inline value applies. 3350 | The range is used to extract the variable name from the underlying document. """ 3351 | variableName: NotRequired[str] 3352 | """ If specified the name of the variable to look up. """ 3353 | caseSensitiveLookup: bool 3354 | """ How to perform the lookup. """ 3355 | 3356 | 3357 | class InlineValueEvaluatableExpression(TypedDict): 3358 | """Provide an inline value through an expression evaluation. 3359 | If only a range is specified, the expression will be extracted from the underlying document. 3360 | An optional expression can be used to override the extracted expression. 3361 | 3362 | @since 3.17.0 3363 | """ 3364 | 3365 | range: "Range" 3366 | """ The document range for which the inline value applies. 3367 | The range is used to extract the evaluatable expression from the underlying document. """ 3368 | expression: NotRequired[str] 3369 | """ If specified the expression overrides the extracted expression. """ 3370 | 3371 | 3372 | class InlineValueOptions(TypedDict): 3373 | """Inline value options used during static registration. 3374 | 3375 | @since 3.17.0 3376 | """ 3377 | 3378 | workDoneProgress: NotRequired[bool] 3379 | 3380 | 3381 | class InlayHintLabelPart(TypedDict): 3382 | """An inlay hint label part allows for interactive and composite labels 3383 | of inlay hints. 3384 | 3385 | @since 3.17.0 3386 | """ 3387 | 3388 | value: str 3389 | """ The value of this label part. """ 3390 | tooltip: NotRequired[Union[str, "MarkupContent"]] 3391 | """ The tooltip text when you hover over this label part. Depending on 3392 | the client capability `inlayHint.resolveSupport` clients might resolve 3393 | this property late using the resolve request. """ 3394 | location: NotRequired["Location"] 3395 | """ An optional source code location that represents this 3396 | label part. 3397 | 3398 | The editor will use this location for the hover and for code navigation 3399 | features: This part will become a clickable link that resolves to the 3400 | definition of the symbol at the given location (not necessarily the 3401 | location itself), it shows the hover that shows at the given location, 3402 | and it shows a context menu with further code navigation commands. 3403 | 3404 | Depending on the client capability `inlayHint.resolveSupport` clients 3405 | might resolve this property late using the resolve request. """ 3406 | command: NotRequired["Command"] 3407 | """ An optional command for this label part. 3408 | 3409 | Depending on the client capability `inlayHint.resolveSupport` clients 3410 | might resolve this property late using the resolve request. """ 3411 | 3412 | 3413 | class MarkupContent(TypedDict): 3414 | r"""A `MarkupContent` literal represents a string value which content is interpreted base on its 3415 | kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds. 3416 | 3417 | If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues. 3418 | See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting 3419 | 3420 | Here is an example how such a string can be constructed using JavaScript / TypeScript: 3421 | ```ts 3422 | let markdown: MarkdownContent = { 3423 | kind: MarkupKind.Markdown, 3424 | value: [ 3425 | '# Header', 3426 | 'Some text', 3427 | '```typescript', 3428 | 'someCode();', 3429 | '```' 3430 | ].join('\n') 3431 | }; 3432 | ``` 3433 | 3434 | *Please Note* that clients might sanitize the return markdown. A client could decide to 3435 | remove HTML from the markdown to avoid script execution. 3436 | """ 3437 | 3438 | kind: "MarkupKind" 3439 | """ The type of the Markup """ 3440 | value: str 3441 | """ The content itself """ 3442 | 3443 | 3444 | class InlayHintOptions(TypedDict): 3445 | """Inlay hint options used during static registration. 3446 | 3447 | @since 3.17.0 3448 | """ 3449 | 3450 | resolveProvider: NotRequired[bool] 3451 | """ The server provides support to resolve additional 3452 | information for an inlay hint item. """ 3453 | workDoneProgress: NotRequired[bool] 3454 | 3455 | 3456 | class RelatedFullDocumentDiagnosticReport(TypedDict): 3457 | """A full diagnostic report with a set of related documents. 3458 | 3459 | @since 3.17.0 3460 | """ 3461 | 3462 | relatedDocuments: NotRequired[ 3463 | dict[ 3464 | "DocumentUri", 3465 | Union["FullDocumentDiagnosticReport", "UnchangedDocumentDiagnosticReport"], 3466 | ] 3467 | ] 3468 | """ Diagnostics of related documents. This information is useful 3469 | in programming languages where code in a file A can generate 3470 | diagnostics in a file B which A depends on. An example of 3471 | such a language is C/C++ where marco definitions in a file 3472 | a.cpp and result in errors in a header file b.hpp. 3473 | 3474 | @since 3.17.0 """ 3475 | kind: Literal["full"] 3476 | """ A full document diagnostic report. """ 3477 | resultId: NotRequired[str] 3478 | """ An optional result id. If provided it will 3479 | be sent on the next diagnostic request for the 3480 | same document. """ 3481 | items: list["Diagnostic"] 3482 | """ The actual items. """ 3483 | 3484 | 3485 | class RelatedUnchangedDocumentDiagnosticReport(TypedDict): 3486 | """An unchanged diagnostic report with a set of related documents. 3487 | 3488 | @since 3.17.0 3489 | """ 3490 | 3491 | relatedDocuments: NotRequired[ 3492 | dict[ 3493 | "DocumentUri", 3494 | Union["FullDocumentDiagnosticReport", "UnchangedDocumentDiagnosticReport"], 3495 | ] 3496 | ] 3497 | """ Diagnostics of related documents. This information is useful 3498 | in programming languages where code in a file A can generate 3499 | diagnostics in a file B which A depends on. An example of 3500 | such a language is C/C++ where marco definitions in a file 3501 | a.cpp and result in errors in a header file b.hpp. 3502 | 3503 | @since 3.17.0 """ 3504 | kind: Literal["unchanged"] 3505 | """ A document diagnostic report indicating 3506 | no changes to the last result. A server can 3507 | only return `unchanged` if result ids are 3508 | provided. """ 3509 | resultId: str 3510 | """ A result id which will be sent on the next 3511 | diagnostic request for the same document. """ 3512 | 3513 | 3514 | class FullDocumentDiagnosticReport(TypedDict): 3515 | """A diagnostic report with a full set of problems. 3516 | 3517 | @since 3.17.0 3518 | """ 3519 | 3520 | kind: Literal["full"] 3521 | """ A full document diagnostic report. """ 3522 | resultId: NotRequired[str] 3523 | """ An optional result id. If provided it will 3524 | be sent on the next diagnostic request for the 3525 | same document. """ 3526 | items: list["Diagnostic"] 3527 | """ The actual items. """ 3528 | 3529 | 3530 | class UnchangedDocumentDiagnosticReport(TypedDict): 3531 | """A diagnostic report indicating that the last returned 3532 | report is still accurate. 3533 | 3534 | @since 3.17.0 3535 | """ 3536 | 3537 | kind: Literal["unchanged"] 3538 | """ A document diagnostic report indicating 3539 | no changes to the last result. A server can 3540 | only return `unchanged` if result ids are 3541 | provided. """ 3542 | resultId: str 3543 | """ A result id which will be sent on the next 3544 | diagnostic request for the same document. """ 3545 | 3546 | 3547 | class DiagnosticOptions(TypedDict): 3548 | """Diagnostic options. 3549 | 3550 | @since 3.17.0 3551 | """ 3552 | 3553 | identifier: NotRequired[str] 3554 | """ An optional identifier under which the diagnostics are 3555 | managed by the client. """ 3556 | interFileDependencies: bool 3557 | """ Whether the language has inter file dependencies meaning that 3558 | editing code in one file can result in a different diagnostic 3559 | set in another file. Inter file dependencies are common for 3560 | most programming languages and typically uncommon for linters. """ 3561 | workspaceDiagnostics: bool 3562 | """ The server provides support for workspace diagnostics as well. """ 3563 | workDoneProgress: NotRequired[bool] 3564 | 3565 | 3566 | class PreviousResultId(TypedDict): 3567 | """A previous result id in a workspace pull request. 3568 | 3569 | @since 3.17.0 3570 | """ 3571 | 3572 | uri: "DocumentUri" 3573 | """ The URI for which the client knowns a 3574 | result id. """ 3575 | value: str 3576 | """ The value of the previous result id. """ 3577 | 3578 | 3579 | class NotebookDocument(TypedDict): 3580 | """A notebook document. 3581 | 3582 | @since 3.17.0 3583 | """ 3584 | 3585 | uri: "URI" 3586 | """ The notebook document's uri. """ 3587 | notebookType: str 3588 | """ The type of the notebook. """ 3589 | version: int 3590 | """ The version number of this document (it will increase after each 3591 | change, including undo/redo). """ 3592 | metadata: NotRequired["LSPObject"] 3593 | """ Additional metadata stored with the notebook 3594 | document. 3595 | 3596 | Note: should always be an object literal (e.g. LSPObject) """ 3597 | cells: list["NotebookCell"] 3598 | """ The cells of a notebook. """ 3599 | 3600 | 3601 | class TextDocumentItem(TypedDict): 3602 | """An item to transfer a text document from the client to the 3603 | server. 3604 | """ 3605 | 3606 | uri: "DocumentUri" 3607 | """ The text document's uri. """ 3608 | languageId: str 3609 | """ The text document's language identifier. """ 3610 | version: int 3611 | """ The version number of this document (it will increase after each 3612 | change, including undo/redo). """ 3613 | text: str 3614 | """ The content of the opened text document. """ 3615 | 3616 | 3617 | class VersionedNotebookDocumentIdentifier(TypedDict): 3618 | """A versioned notebook document identifier. 3619 | 3620 | @since 3.17.0 3621 | """ 3622 | 3623 | version: int 3624 | """ The version number of this notebook document. """ 3625 | uri: "URI" 3626 | """ The notebook document's uri. """ 3627 | 3628 | 3629 | class NotebookDocumentChangeEvent(TypedDict): 3630 | """A change event for a notebook document. 3631 | 3632 | @since 3.17.0 3633 | """ 3634 | 3635 | metadata: NotRequired["LSPObject"] 3636 | """ The changed meta data if any. 3637 | 3638 | Note: should always be an object literal (e.g. LSPObject) """ 3639 | cells: NotRequired["__NotebookDocumentChangeEvent_cells_Type_1"] 3640 | """ Changes to cells """ 3641 | 3642 | 3643 | class NotebookDocumentIdentifier(TypedDict): 3644 | """A literal to identify a notebook document in the client. 3645 | 3646 | @since 3.17.0 3647 | """ 3648 | 3649 | uri: "URI" 3650 | """ The notebook document's uri. """ 3651 | 3652 | 3653 | class Registration(TypedDict): 3654 | """General parameters to to register for an notification or to register a provider.""" 3655 | 3656 | id: str 3657 | """ The id used to register the request. The id can be used to deregister 3658 | the request again. """ 3659 | method: str 3660 | """ The method / capability to register for. """ 3661 | registerOptions: NotRequired["LSPAny"] 3662 | """ Options necessary for the registration. """ 3663 | 3664 | 3665 | class Unregistration(TypedDict): 3666 | """General parameters to unregister a request or notification.""" 3667 | 3668 | id: str 3669 | """ The id used to unregister the request or notification. Usually an id 3670 | provided during the register request. """ 3671 | method: str 3672 | """ The method to unregister for. """ 3673 | 3674 | 3675 | class WorkspaceFoldersInitializeParams(TypedDict): 3676 | workspaceFolders: NotRequired[list["WorkspaceFolder"] | None] 3677 | """ The workspace folders configured in the client when the server starts. 3678 | 3679 | This property is only available if the client supports workspace folders. 3680 | It can be `null` if the client supports workspace folders but none are 3681 | configured. 3682 | 3683 | @since 3.6.0 """ 3684 | 3685 | 3686 | class ServerCapabilities(TypedDict): 3687 | """Defines the capabilities provided by a language 3688 | server. 3689 | """ 3690 | 3691 | positionEncoding: NotRequired["PositionEncodingKind"] 3692 | """ The position encoding the server picked from the encodings offered 3693 | by the client via the client capability `general.positionEncodings`. 3694 | 3695 | If the client didn't provide any position encodings the only valid 3696 | value that a server can return is 'utf-16'. 3697 | 3698 | If omitted it defaults to 'utf-16'. 3699 | 3700 | @since 3.17.0 """ 3701 | textDocumentSync: NotRequired[Union["TextDocumentSyncOptions", "TextDocumentSyncKind"]] 3702 | """ Defines how text documents are synced. Is either a detailed structure 3703 | defining each notification or for backwards compatibility the 3704 | TextDocumentSyncKind number. """ 3705 | notebookDocumentSync: NotRequired[Union["NotebookDocumentSyncOptions", "NotebookDocumentSyncRegistrationOptions"]] 3706 | """ Defines how notebook documents are synced. 3707 | 3708 | @since 3.17.0 """ 3709 | completionProvider: NotRequired["CompletionOptions"] 3710 | """ The server provides completion support. """ 3711 | hoverProvider: NotRequired[Union[bool, "HoverOptions"]] 3712 | """ The server provides hover support. """ 3713 | signatureHelpProvider: NotRequired["SignatureHelpOptions"] 3714 | """ The server provides signature help support. """ 3715 | declarationProvider: NotRequired[Union[bool, "DeclarationOptions", "DeclarationRegistrationOptions"]] 3716 | """ The server provides Goto Declaration support. """ 3717 | definitionProvider: NotRequired[Union[bool, "DefinitionOptions"]] 3718 | """ The server provides goto definition support. """ 3719 | typeDefinitionProvider: NotRequired[Union[bool, "TypeDefinitionOptions", "TypeDefinitionRegistrationOptions"]] 3720 | """ The server provides Goto Type Definition support. """ 3721 | implementationProvider: NotRequired[Union[bool, "ImplementationOptions", "ImplementationRegistrationOptions"]] 3722 | """ The server provides Goto Implementation support. """ 3723 | referencesProvider: NotRequired[Union[bool, "ReferenceOptions"]] 3724 | """ The server provides find references support. """ 3725 | documentHighlightProvider: NotRequired[Union[bool, "DocumentHighlightOptions"]] 3726 | """ The server provides document highlight support. """ 3727 | documentSymbolProvider: NotRequired[Union[bool, "DocumentSymbolOptions"]] 3728 | """ The server provides document symbol support. """ 3729 | codeActionProvider: NotRequired[Union[bool, "CodeActionOptions"]] 3730 | """ The server provides code actions. CodeActionOptions may only be 3731 | specified if the client states that it supports 3732 | `codeActionLiteralSupport` in its initial `initialize` request. """ 3733 | codeLensProvider: NotRequired["CodeLensOptions"] 3734 | """ The server provides code lens. """ 3735 | documentLinkProvider: NotRequired["DocumentLinkOptions"] 3736 | """ The server provides document link support. """ 3737 | colorProvider: NotRequired[Union[bool, "DocumentColorOptions", "DocumentColorRegistrationOptions"]] 3738 | """ The server provides color provider support. """ 3739 | workspaceSymbolProvider: NotRequired[Union[bool, "WorkspaceSymbolOptions"]] 3740 | """ The server provides workspace symbol support. """ 3741 | documentFormattingProvider: NotRequired[Union[bool, "DocumentFormattingOptions"]] 3742 | """ The server provides document formatting. """ 3743 | documentRangeFormattingProvider: NotRequired[Union[bool, "DocumentRangeFormattingOptions"]] 3744 | """ The server provides document range formatting. """ 3745 | documentOnTypeFormattingProvider: NotRequired["DocumentOnTypeFormattingOptions"] 3746 | """ The server provides document formatting on typing. """ 3747 | renameProvider: NotRequired[Union[bool, "RenameOptions"]] 3748 | """ The server provides rename support. RenameOptions may only be 3749 | specified if the client states that it supports 3750 | `prepareSupport` in its initial `initialize` request. """ 3751 | foldingRangeProvider: NotRequired[Union[bool, "FoldingRangeOptions", "FoldingRangeRegistrationOptions"]] 3752 | """ The server provides folding provider support. """ 3753 | selectionRangeProvider: NotRequired[Union[bool, "SelectionRangeOptions", "SelectionRangeRegistrationOptions"]] 3754 | """ The server provides selection range support. """ 3755 | executeCommandProvider: NotRequired["ExecuteCommandOptions"] 3756 | """ The server provides execute command support. """ 3757 | callHierarchyProvider: NotRequired[Union[bool, "CallHierarchyOptions", "CallHierarchyRegistrationOptions"]] 3758 | """ The server provides call hierarchy support. 3759 | 3760 | @since 3.16.0 """ 3761 | linkedEditingRangeProvider: NotRequired[Union[bool, "LinkedEditingRangeOptions", "LinkedEditingRangeRegistrationOptions"]] 3762 | """ The server provides linked editing range support. 3763 | 3764 | @since 3.16.0 """ 3765 | semanticTokensProvider: NotRequired[Union["SemanticTokensOptions", "SemanticTokensRegistrationOptions"]] 3766 | """ The server provides semantic tokens support. 3767 | 3768 | @since 3.16.0 """ 3769 | monikerProvider: NotRequired[Union[bool, "MonikerOptions", "MonikerRegistrationOptions"]] 3770 | """ The server provides moniker support. 3771 | 3772 | @since 3.16.0 """ 3773 | typeHierarchyProvider: NotRequired[Union[bool, "TypeHierarchyOptions", "TypeHierarchyRegistrationOptions"]] 3774 | """ The server provides type hierarchy support. 3775 | 3776 | @since 3.17.0 """ 3777 | inlineValueProvider: NotRequired[Union[bool, "InlineValueOptions", "InlineValueRegistrationOptions"]] 3778 | """ The server provides inline values. 3779 | 3780 | @since 3.17.0 """ 3781 | inlayHintProvider: NotRequired[Union[bool, "InlayHintOptions", "InlayHintRegistrationOptions"]] 3782 | """ The server provides inlay hints. 3783 | 3784 | @since 3.17.0 """ 3785 | diagnosticProvider: NotRequired[Union["DiagnosticOptions", "DiagnosticRegistrationOptions"]] 3786 | """ The server has support for pull model diagnostics. 3787 | 3788 | @since 3.17.0 """ 3789 | workspace: NotRequired["__ServerCapabilities_workspace_Type_1"] 3790 | """ Workspace specific server capabilities. """ 3791 | experimental: NotRequired["LSPAny"] 3792 | """ Experimental server capabilities. """ 3793 | 3794 | 3795 | class VersionedTextDocumentIdentifier(TypedDict): 3796 | """A text document identifier to denote a specific version of a text document.""" 3797 | 3798 | version: int 3799 | """ The version number of this document. """ 3800 | uri: "DocumentUri" 3801 | """ The text document's uri. """ 3802 | 3803 | 3804 | class SaveOptions(TypedDict): 3805 | """Save options.""" 3806 | 3807 | includeText: NotRequired[bool] 3808 | """ The client is supposed to include the content on save. """ 3809 | 3810 | 3811 | class FileEvent(TypedDict): 3812 | """An event describing a file change.""" 3813 | 3814 | uri: "DocumentUri" 3815 | """ The file's uri. """ 3816 | type: "FileChangeType" 3817 | """ The change type. """ 3818 | 3819 | 3820 | class FileSystemWatcher(TypedDict): 3821 | globPattern: "GlobPattern" 3822 | """ The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail. 3823 | 3824 | @since 3.17.0 support for relative patterns. """ 3825 | kind: NotRequired["WatchKind"] 3826 | """ The kind of events of interest. If omitted it defaults 3827 | to WatchKind.Create | WatchKind.Change | WatchKind.Delete 3828 | which is 7. """ 3829 | 3830 | 3831 | class Diagnostic(TypedDict): 3832 | """Represents a diagnostic, such as a compiler error or warning. Diagnostic objects 3833 | are only valid in the scope of a resource. 3834 | """ 3835 | 3836 | range: "Range" 3837 | """ The range at which the message applies """ 3838 | severity: NotRequired["DiagnosticSeverity"] 3839 | """ The diagnostic's severity. Can be omitted. If omitted it is up to the 3840 | client to interpret diagnostics as error, warning, info or hint. """ 3841 | code: NotRequired[int | str] 3842 | """ The diagnostic's code, which usually appear in the user interface. """ 3843 | codeDescription: NotRequired["CodeDescription"] 3844 | """ An optional property to describe the error code. 3845 | Requires the code field (above) to be present/not null. 3846 | 3847 | @since 3.16.0 """ 3848 | source: NotRequired[str] 3849 | """ A human-readable string describing the source of this 3850 | diagnostic, e.g. 'typescript' or 'super lint'. It usually 3851 | appears in the user interface. """ 3852 | message: str 3853 | """ The diagnostic's message. It usually appears in the user interface """ 3854 | tags: NotRequired[list["DiagnosticTag"]] 3855 | """ Additional metadata about the diagnostic. 3856 | 3857 | @since 3.15.0 """ 3858 | relatedInformation: NotRequired[list["DiagnosticRelatedInformation"]] 3859 | """ An array of related diagnostic information, e.g. when symbol-names within 3860 | a scope collide all definitions can be marked via this property. """ 3861 | data: NotRequired["LSPAny"] 3862 | """ A data entry field that is preserved between a `textDocument/publishDiagnostics` 3863 | notification and `textDocument/codeAction` request. 3864 | 3865 | @since 3.16.0 """ 3866 | 3867 | 3868 | class CompletionContext(TypedDict): 3869 | """Contains additional information about the context in which a completion request is triggered.""" 3870 | 3871 | triggerKind: "CompletionTriggerKind" 3872 | """ How the completion was triggered. """ 3873 | triggerCharacter: NotRequired[str] 3874 | """ The trigger character (a single character) that has trigger code complete. 3875 | Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter` """ 3876 | 3877 | 3878 | class CompletionItemLabelDetails(TypedDict): 3879 | """Additional details for a completion item label. 3880 | 3881 | @since 3.17.0 3882 | """ 3883 | 3884 | detail: NotRequired[str] 3885 | """ An optional string which is rendered less prominently directly after {@link CompletionItem.label label}, 3886 | without any spacing. Should be used for function signatures and type annotations. """ 3887 | description: NotRequired[str] 3888 | """ An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used 3889 | for fully qualified names and file paths. """ 3890 | 3891 | 3892 | class InsertReplaceEdit(TypedDict): 3893 | """A special text edit to provide an insert and a replace operation. 3894 | 3895 | @since 3.16.0 3896 | """ 3897 | 3898 | newText: str 3899 | """ The string to be inserted. """ 3900 | insert: "Range" 3901 | """ The range if the insert is requested """ 3902 | replace: "Range" 3903 | """ The range if the replace is requested. """ 3904 | 3905 | 3906 | class CompletionOptions(TypedDict): 3907 | """Completion options.""" 3908 | 3909 | triggerCharacters: NotRequired[list[str]] 3910 | """ Most tools trigger completion request automatically without explicitly requesting 3911 | it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user 3912 | starts to type an identifier. For example if the user types `c` in a JavaScript file 3913 | code complete will automatically pop up present `console` besides others as a 3914 | completion item. Characters that make up identifiers don't need to be listed here. 3915 | 3916 | If code complete should automatically be trigger on characters not being valid inside 3917 | an identifier (for example `.` in JavaScript) list them in `triggerCharacters`. """ 3918 | allCommitCharacters: NotRequired[list[str]] 3919 | """ The list of all possible characters that commit a completion. This field can be used 3920 | if clients don't support individual commit characters per completion item. See 3921 | `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport` 3922 | 3923 | If a server provides both `allCommitCharacters` and commit characters on an individual 3924 | completion item the ones on the completion item win. 3925 | 3926 | @since 3.2.0 """ 3927 | resolveProvider: NotRequired[bool] 3928 | """ The server provides support to resolve additional 3929 | information for a completion item. """ 3930 | completionItem: NotRequired["__CompletionOptions_completionItem_Type_2"] 3931 | """ The server supports the following `CompletionItem` specific 3932 | capabilities. 3933 | 3934 | @since 3.17.0 """ 3935 | workDoneProgress: NotRequired[bool] 3936 | 3937 | 3938 | class HoverOptions(TypedDict): 3939 | """Hover options.""" 3940 | 3941 | workDoneProgress: NotRequired[bool] 3942 | 3943 | 3944 | class SignatureHelpContext(TypedDict): 3945 | """Additional information about the context in which a signature help request was triggered. 3946 | 3947 | @since 3.15.0 3948 | """ 3949 | 3950 | triggerKind: "SignatureHelpTriggerKind" 3951 | """ Action that caused signature help to be triggered. """ 3952 | triggerCharacter: NotRequired[str] 3953 | """ Character that caused signature help to be triggered. 3954 | 3955 | This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter` """ 3956 | isRetrigger: bool 3957 | """ `true` if signature help was already showing when it was triggered. 3958 | 3959 | Retriggers occurs when the signature help is already active and can be caused by actions such as 3960 | typing a trigger character, a cursor move, or document content changes. """ 3961 | activeSignatureHelp: NotRequired["SignatureHelp"] 3962 | """ The currently active `SignatureHelp`. 3963 | 3964 | The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on 3965 | the user navigating through available signatures. """ 3966 | 3967 | 3968 | class SignatureInformation(TypedDict): 3969 | """Represents the signature of something callable. A signature 3970 | can have a label, like a function-name, a doc-comment, and 3971 | a set of parameters. 3972 | """ 3973 | 3974 | label: str 3975 | """ The label of this signature. Will be shown in 3976 | the UI. """ 3977 | documentation: NotRequired[Union[str, "MarkupContent"]] 3978 | """ The human-readable doc-comment of this signature. Will be shown 3979 | in the UI but can be omitted. """ 3980 | parameters: NotRequired[list["ParameterInformation"]] 3981 | """ The parameters of this signature. """ 3982 | activeParameter: NotRequired[Uint] 3983 | """ The index of the active parameter. 3984 | 3985 | If provided, this is used in place of `SignatureHelp.activeParameter`. 3986 | 3987 | @since 3.16.0 """ 3988 | 3989 | 3990 | class SignatureHelpOptions(TypedDict): 3991 | """Server Capabilities for a {@link SignatureHelpRequest}.""" 3992 | 3993 | triggerCharacters: NotRequired[list[str]] 3994 | """ List of characters that trigger signature help automatically. """ 3995 | retriggerCharacters: NotRequired[list[str]] 3996 | """ List of characters that re-trigger signature help. 3997 | 3998 | These trigger characters are only active when signature help is already showing. All trigger characters 3999 | are also counted as re-trigger characters. 4000 | 4001 | @since 3.15.0 """ 4002 | workDoneProgress: NotRequired[bool] 4003 | 4004 | 4005 | class DefinitionOptions(TypedDict): 4006 | """Server Capabilities for a {@link DefinitionRequest}.""" 4007 | 4008 | workDoneProgress: NotRequired[bool] 4009 | 4010 | 4011 | class ReferenceContext(TypedDict): 4012 | """Value-object that contains additional information when 4013 | requesting references. 4014 | """ 4015 | 4016 | includeDeclaration: bool 4017 | """ Include the declaration of the current symbol. """ 4018 | 4019 | 4020 | class ReferenceOptions(TypedDict): 4021 | """Reference options.""" 4022 | 4023 | workDoneProgress: NotRequired[bool] 4024 | 4025 | 4026 | class DocumentHighlightOptions(TypedDict): 4027 | """Provider options for a {@link DocumentHighlightRequest}.""" 4028 | 4029 | workDoneProgress: NotRequired[bool] 4030 | 4031 | 4032 | class BaseSymbolInformation(TypedDict): 4033 | """A base for all symbol information.""" 4034 | 4035 | name: str 4036 | """ The name of this symbol. """ 4037 | kind: "SymbolKind" 4038 | """ The kind of this symbol. """ 4039 | tags: NotRequired[list["SymbolTag"]] 4040 | """ Tags for this symbol. 4041 | 4042 | @since 3.16.0 """ 4043 | containerName: NotRequired[str] 4044 | """ The name of the symbol containing this symbol. This information is for 4045 | user interface purposes (e.g. to render a qualifier in the user interface 4046 | if necessary). It can't be used to re-infer a hierarchy for the document 4047 | symbols. """ 4048 | 4049 | 4050 | class DocumentSymbolOptions(TypedDict): 4051 | """Provider options for a {@link DocumentSymbolRequest}.""" 4052 | 4053 | label: NotRequired[str] 4054 | """ A human-readable string that is shown when multiple outlines trees 4055 | are shown for the same document. 4056 | 4057 | @since 3.16.0 """ 4058 | workDoneProgress: NotRequired[bool] 4059 | 4060 | 4061 | class CodeActionContext(TypedDict): 4062 | """Contains additional diagnostic information about the context in which 4063 | a {@link CodeActionProvider.provideCodeActions code action} is run. 4064 | """ 4065 | 4066 | diagnostics: list["Diagnostic"] 4067 | """ An array of diagnostics known on the client side overlapping the range provided to the 4068 | `textDocument/codeAction` request. They are provided so that the server knows which 4069 | errors are currently presented to the user for the given range. There is no guarantee 4070 | that these accurately reflect the error state of the resource. The primary parameter 4071 | to compute code actions is the provided range. """ 4072 | only: NotRequired[list["CodeActionKind"]] 4073 | """ Requested kind of actions to return. 4074 | 4075 | Actions not of this kind are filtered out by the client before being shown. So servers 4076 | can omit computing them. """ 4077 | triggerKind: NotRequired["CodeActionTriggerKind"] 4078 | """ The reason why code actions were requested. 4079 | 4080 | @since 3.17.0 """ 4081 | 4082 | 4083 | class CodeActionOptions(TypedDict): 4084 | """Provider options for a {@link CodeActionRequest}.""" 4085 | 4086 | codeActionKinds: NotRequired[list["CodeActionKind"]] 4087 | """ CodeActionKinds that this server may return. 4088 | 4089 | The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server 4090 | may list out every specific kind they provide. """ 4091 | resolveProvider: NotRequired[bool] 4092 | """ The server provides support to resolve additional 4093 | information for a code action. 4094 | 4095 | @since 3.16.0 """ 4096 | workDoneProgress: NotRequired[bool] 4097 | 4098 | 4099 | class WorkspaceSymbolOptions(TypedDict): 4100 | """Server capabilities for a {@link WorkspaceSymbolRequest}.""" 4101 | 4102 | resolveProvider: NotRequired[bool] 4103 | """ The server provides support to resolve additional 4104 | information for a workspace symbol. 4105 | 4106 | @since 3.17.0 """ 4107 | workDoneProgress: NotRequired[bool] 4108 | 4109 | 4110 | class CodeLensOptions(TypedDict): 4111 | """Code Lens provider options of a {@link CodeLensRequest}.""" 4112 | 4113 | resolveProvider: NotRequired[bool] 4114 | """ Code lens has a resolve provider as well. """ 4115 | workDoneProgress: NotRequired[bool] 4116 | 4117 | 4118 | class DocumentLinkOptions(TypedDict): 4119 | """Provider options for a {@link DocumentLinkRequest}.""" 4120 | 4121 | resolveProvider: NotRequired[bool] 4122 | """ Document links have a resolve provider as well. """ 4123 | workDoneProgress: NotRequired[bool] 4124 | 4125 | 4126 | class FormattingOptions(TypedDict): 4127 | """Value-object describing what options formatting should use.""" 4128 | 4129 | tabSize: Uint 4130 | """ Size of a tab in spaces. """ 4131 | insertSpaces: bool 4132 | """ Prefer spaces over tabs. """ 4133 | trimTrailingWhitespace: NotRequired[bool] 4134 | """ Trim trailing whitespace on a line. 4135 | 4136 | @since 3.15.0 """ 4137 | insertFinalNewline: NotRequired[bool] 4138 | """ Insert a newline character at the end of the file if one does not exist. 4139 | 4140 | @since 3.15.0 """ 4141 | trimFinalNewlines: NotRequired[bool] 4142 | """ Trim all newlines after the final newline at the end of the file. 4143 | 4144 | @since 3.15.0 """ 4145 | 4146 | 4147 | class DocumentFormattingOptions(TypedDict): 4148 | """Provider options for a {@link DocumentFormattingRequest}.""" 4149 | 4150 | workDoneProgress: NotRequired[bool] 4151 | 4152 | 4153 | class DocumentRangeFormattingOptions(TypedDict): 4154 | """Provider options for a {@link DocumentRangeFormattingRequest}.""" 4155 | 4156 | workDoneProgress: NotRequired[bool] 4157 | 4158 | 4159 | class DocumentOnTypeFormattingOptions(TypedDict): 4160 | """Provider options for a {@link DocumentOnTypeFormattingRequest}.""" 4161 | 4162 | firstTriggerCharacter: str 4163 | """ A character on which formatting should be triggered, like `{`. """ 4164 | moreTriggerCharacter: NotRequired[list[str]] 4165 | """ More trigger characters. """ 4166 | 4167 | 4168 | class RenameOptions(TypedDict): 4169 | """Provider options for a {@link RenameRequest}.""" 4170 | 4171 | prepareProvider: NotRequired[bool] 4172 | """ Renames should be checked and tested before being executed. 4173 | 4174 | @since version 3.12.0 """ 4175 | workDoneProgress: NotRequired[bool] 4176 | 4177 | 4178 | class ExecuteCommandOptions(TypedDict): 4179 | """The server capabilities of a {@link ExecuteCommandRequest}.""" 4180 | 4181 | commands: list[str] 4182 | """ The commands to be executed on the server """ 4183 | workDoneProgress: NotRequired[bool] 4184 | 4185 | 4186 | class SemanticTokensLegend(TypedDict): 4187 | """@since 3.16.0""" 4188 | 4189 | tokenTypes: list[str] 4190 | """ The token types a server uses. """ 4191 | tokenModifiers: list[str] 4192 | """ The token modifiers a server uses. """ 4193 | 4194 | 4195 | class OptionalVersionedTextDocumentIdentifier(TypedDict): 4196 | """A text document identifier to optionally denote a specific version of a text document.""" 4197 | 4198 | version: int | None 4199 | """ The version number of this document. If a versioned text document identifier 4200 | is sent from the server to the client and the file is not open in the editor 4201 | (the server has not received an open notification before) the server can send 4202 | `null` to indicate that the version is unknown and the content on disk is the 4203 | truth (as specified with document content ownership). """ 4204 | uri: "DocumentUri" 4205 | """ The text document's uri. """ 4206 | 4207 | 4208 | class AnnotatedTextEdit(TypedDict): 4209 | """A special text edit with an additional change annotation. 4210 | 4211 | @since 3.16.0. 4212 | """ 4213 | 4214 | annotationId: "ChangeAnnotationIdentifier" 4215 | """ The actual identifier of the change annotation """ 4216 | range: "Range" 4217 | """ The range of the text document to be manipulated. To insert 4218 | text into a document create a range where start === end. """ 4219 | newText: str 4220 | """ The string to be inserted. For delete operations use an 4221 | empty string. """ 4222 | 4223 | 4224 | class ResourceOperation(TypedDict): 4225 | """A generic resource operation.""" 4226 | 4227 | kind: str 4228 | """ The resource operation kind. """ 4229 | annotationId: NotRequired["ChangeAnnotationIdentifier"] 4230 | """ An optional annotation identifier describing the operation. 4231 | 4232 | @since 3.16.0 """ 4233 | 4234 | 4235 | class CreateFileOptions(TypedDict): 4236 | """Options to create a file.""" 4237 | 4238 | overwrite: NotRequired[bool] 4239 | """ Overwrite existing file. Overwrite wins over `ignoreIfExists` """ 4240 | ignoreIfExists: NotRequired[bool] 4241 | """ Ignore if exists. """ 4242 | 4243 | 4244 | class RenameFileOptions(TypedDict): 4245 | """Rename file options""" 4246 | 4247 | overwrite: NotRequired[bool] 4248 | """ Overwrite target if existing. Overwrite wins over `ignoreIfExists` """ 4249 | ignoreIfExists: NotRequired[bool] 4250 | """ Ignores if target exists. """ 4251 | 4252 | 4253 | class DeleteFileOptions(TypedDict): 4254 | """Delete file options""" 4255 | 4256 | recursive: NotRequired[bool] 4257 | """ Delete the content recursively if a folder is denoted. """ 4258 | ignoreIfNotExists: NotRequired[bool] 4259 | """ Ignore the operation if the file doesn't exist. """ 4260 | 4261 | 4262 | class FileOperationPattern(TypedDict): 4263 | """A pattern to describe in which file operation requests or notifications 4264 | the server is interested in receiving. 4265 | 4266 | @since 3.16.0 4267 | """ 4268 | 4269 | glob: str 4270 | """ The glob pattern to match. Glob patterns can have the following syntax: 4271 | - `*` to match one or more characters in a path segment 4272 | - `?` to match on one character in a path segment 4273 | - `**` to match any number of path segments, including none 4274 | - `{}` to group sub patterns into an OR expression. (e.g. `**\u200b/*.{ts,js}` matches all TypeScript and JavaScript files) 4275 | - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) 4276 | - `[!...]` 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`) """ 4277 | matches: NotRequired["FileOperationPatternKind"] 4278 | """ Whether to match files or folders with this pattern. 4279 | 4280 | Matches both if undefined. """ 4281 | options: NotRequired["FileOperationPatternOptions"] 4282 | """ Additional options used during matching. """ 4283 | 4284 | 4285 | class WorkspaceFullDocumentDiagnosticReport(TypedDict): 4286 | """A full document diagnostic report for a workspace diagnostic result. 4287 | 4288 | @since 3.17.0 4289 | """ 4290 | 4291 | uri: "DocumentUri" 4292 | """ The URI for which diagnostic information is reported. """ 4293 | version: int | None 4294 | """ The version number for which the diagnostics are reported. 4295 | If the document is not marked as open `null` can be provided. """ 4296 | kind: Literal["full"] 4297 | """ A full document diagnostic report. """ 4298 | resultId: NotRequired[str] 4299 | """ An optional result id. If provided it will 4300 | be sent on the next diagnostic request for the 4301 | same document. """ 4302 | items: list["Diagnostic"] 4303 | """ The actual items. """ 4304 | 4305 | 4306 | class WorkspaceUnchangedDocumentDiagnosticReport(TypedDict): 4307 | """An unchanged document diagnostic report for a workspace diagnostic result. 4308 | 4309 | @since 3.17.0 4310 | """ 4311 | 4312 | uri: "DocumentUri" 4313 | """ The URI for which diagnostic information is reported. """ 4314 | version: int | None 4315 | """ The version number for which the diagnostics are reported. 4316 | If the document is not marked as open `null` can be provided. """ 4317 | kind: Literal["unchanged"] 4318 | """ A document diagnostic report indicating 4319 | no changes to the last result. A server can 4320 | only return `unchanged` if result ids are 4321 | provided. """ 4322 | resultId: str 4323 | """ A result id which will be sent on the next 4324 | diagnostic request for the same document. """ 4325 | 4326 | 4327 | class NotebookCell(TypedDict): 4328 | """A notebook cell. 4329 | 4330 | A cell's document URI must be unique across ALL notebook 4331 | cells and can therefore be used to uniquely identify a 4332 | notebook cell or the cell's text document. 4333 | 4334 | @since 3.17.0 4335 | """ 4336 | 4337 | kind: "NotebookCellKind" 4338 | """ The cell's kind """ 4339 | document: "DocumentUri" 4340 | """ The URI of the cell's text document 4341 | content. """ 4342 | metadata: NotRequired["LSPObject"] 4343 | """ Additional metadata stored with the cell. 4344 | 4345 | Note: should always be an object literal (e.g. LSPObject) """ 4346 | executionSummary: NotRequired["ExecutionSummary"] 4347 | """ Additional execution summary information 4348 | if supported by the client. """ 4349 | 4350 | 4351 | class NotebookCellArrayChange(TypedDict): 4352 | """A change describing how to move a `NotebookCell` 4353 | array from state S to S'. 4354 | 4355 | @since 3.17.0 4356 | """ 4357 | 4358 | start: Uint 4359 | """ The start oftest of the cell that changed. """ 4360 | deleteCount: Uint 4361 | """ The deleted cells """ 4362 | cells: NotRequired[list["NotebookCell"]] 4363 | """ The new cells, if any """ 4364 | 4365 | 4366 | class ClientCapabilities(TypedDict): 4367 | """Defines the capabilities provided by the client.""" 4368 | 4369 | workspace: NotRequired["WorkspaceClientCapabilities"] 4370 | """ Workspace specific client capabilities. """ 4371 | textDocument: NotRequired["TextDocumentClientCapabilities"] 4372 | """ Text document specific client capabilities. """ 4373 | notebookDocument: NotRequired["NotebookDocumentClientCapabilities"] 4374 | """ Capabilities specific to the notebook document support. 4375 | 4376 | @since 3.17.0 """ 4377 | window: NotRequired["WindowClientCapabilities"] 4378 | """ Window specific client capabilities. """ 4379 | general: NotRequired["GeneralClientCapabilities"] 4380 | """ General client capabilities. 4381 | 4382 | @since 3.16.0 """ 4383 | experimental: NotRequired["LSPAny"] 4384 | """ Experimental client capabilities. """ 4385 | 4386 | 4387 | class TextDocumentSyncOptions(TypedDict): 4388 | openClose: NotRequired[bool] 4389 | """ Open and close notifications are sent to the server. If omitted open close notification should not 4390 | be sent. """ 4391 | change: NotRequired["TextDocumentSyncKind"] 4392 | """ Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full 4393 | and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None. """ 4394 | willSave: NotRequired[bool] 4395 | """ If present will save notifications are sent to the server. If omitted the notification should not be 4396 | sent. """ 4397 | willSaveWaitUntil: NotRequired[bool] 4398 | """ If present will save wait until requests are sent to the server. If omitted the request should not be 4399 | sent. """ 4400 | save: NotRequired[Union[bool, "SaveOptions"]] 4401 | """ If present save notifications are sent to the server. If omitted the notification should not be 4402 | sent. """ 4403 | 4404 | 4405 | class NotebookDocumentSyncOptions(TypedDict): 4406 | """Options specific to a notebook plus its cells 4407 | to be synced to the server. 4408 | 4409 | If a selector provides a notebook document 4410 | filter but no cell selector all cells of a 4411 | matching notebook document will be synced. 4412 | 4413 | If a selector provides no notebook document 4414 | filter but only a cell selector all notebook 4415 | document that contain at least one matching 4416 | cell will be synced. 4417 | 4418 | @since 3.17.0 4419 | """ 4420 | 4421 | notebookSelector: list[ 4422 | Union[ 4423 | "__NotebookDocumentSyncOptions_notebookSelector_Type_1", 4424 | "__NotebookDocumentSyncOptions_notebookSelector_Type_2", 4425 | ] 4426 | ] 4427 | """ The notebooks to be synced """ 4428 | save: NotRequired[bool] 4429 | """ Whether save notification should be forwarded to 4430 | the server. Will only be honored if mode === `notebook`. """ 4431 | 4432 | 4433 | class NotebookDocumentSyncRegistrationOptions(TypedDict): 4434 | """Registration options specific to a notebook. 4435 | 4436 | @since 3.17.0 4437 | """ 4438 | 4439 | notebookSelector: list[ 4440 | Union[ 4441 | "__NotebookDocumentSyncOptions_notebookSelector_Type_3", 4442 | "__NotebookDocumentSyncOptions_notebookSelector_Type_4", 4443 | ] 4444 | ] 4445 | """ The notebooks to be synced """ 4446 | save: NotRequired[bool] 4447 | """ Whether save notification should be forwarded to 4448 | the server. Will only be honored if mode === `notebook`. """ 4449 | id: NotRequired[str] 4450 | """ The id used to register the request. The id can be used to deregister 4451 | the request again. See also Registration#id. """ 4452 | 4453 | 4454 | class WorkspaceFoldersServerCapabilities(TypedDict): 4455 | supported: NotRequired[bool] 4456 | """ The server has support for workspace folders """ 4457 | changeNotifications: NotRequired[str | bool] 4458 | """ Whether the server wants to receive workspace folder 4459 | change notifications. 4460 | 4461 | If a string is provided the string is treated as an ID 4462 | under which the notification is registered on the client 4463 | side. The ID can be used to unregister for these events 4464 | using the `client/unregisterCapability` request. """ 4465 | 4466 | 4467 | class FileOperationOptions(TypedDict): 4468 | """Options for notifications/requests for user operations on files. 4469 | 4470 | @since 3.16.0 4471 | """ 4472 | 4473 | didCreate: NotRequired["FileOperationRegistrationOptions"] 4474 | """ The server is interested in receiving didCreateFiles notifications. """ 4475 | willCreate: NotRequired["FileOperationRegistrationOptions"] 4476 | """ The server is interested in receiving willCreateFiles requests. """ 4477 | didRename: NotRequired["FileOperationRegistrationOptions"] 4478 | """ The server is interested in receiving didRenameFiles notifications. """ 4479 | willRename: NotRequired["FileOperationRegistrationOptions"] 4480 | """ The server is interested in receiving willRenameFiles requests. """ 4481 | didDelete: NotRequired["FileOperationRegistrationOptions"] 4482 | """ The server is interested in receiving didDeleteFiles file notifications. """ 4483 | willDelete: NotRequired["FileOperationRegistrationOptions"] 4484 | """ The server is interested in receiving willDeleteFiles file requests. """ 4485 | 4486 | 4487 | class CodeDescription(TypedDict): 4488 | """Structure to capture a description for an error code. 4489 | 4490 | @since 3.16.0 4491 | """ 4492 | 4493 | href: "URI" 4494 | """ An URI to open with more information about the diagnostic error. """ 4495 | 4496 | 4497 | class DiagnosticRelatedInformation(TypedDict): 4498 | """Represents a related message and source code location for a diagnostic. This should be 4499 | used to point to code locations that cause or related to a diagnostics, e.g when duplicating 4500 | a symbol in a scope. 4501 | """ 4502 | 4503 | location: "Location" 4504 | """ The location of this related diagnostic information. """ 4505 | message: str 4506 | """ The message of this related diagnostic information. """ 4507 | 4508 | 4509 | class ParameterInformation(TypedDict): 4510 | """Represents a parameter of a callable-signature. A parameter can 4511 | have a label and a doc-comment. 4512 | """ 4513 | 4514 | label: str | list[Uint | Uint] 4515 | """ The label of this parameter information. 4516 | 4517 | Either a string or an inclusive start and exclusive end offsets within its containing 4518 | signature label. (see SignatureInformation.label). The offsets are based on a UTF-16 4519 | string representation as `Position` and `Range` does. 4520 | 4521 | *Note*: a label of type string should be a substring of its containing signature label. 4522 | Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`. """ 4523 | documentation: NotRequired[Union[str, "MarkupContent"]] 4524 | """ The human-readable doc-comment of this parameter. Will be shown 4525 | in the UI but can be omitted. """ 4526 | 4527 | 4528 | class NotebookCellTextDocumentFilter(TypedDict): 4529 | """A notebook cell text document filter denotes a cell text 4530 | document by different properties. 4531 | 4532 | @since 3.17.0 4533 | """ 4534 | 4535 | notebook: Union[str, "NotebookDocumentFilter"] 4536 | """ A filter that matches against the notebook 4537 | containing the notebook cell. If a string 4538 | value is provided it matches against the 4539 | notebook type. '*' matches every notebook. """ 4540 | language: NotRequired[str] 4541 | """ A language id like `python`. 4542 | 4543 | Will be matched against the language id of the 4544 | notebook cell document. '*' matches every language. """ 4545 | 4546 | 4547 | class FileOperationPatternOptions(TypedDict): 4548 | """Matching options for the file operation pattern. 4549 | 4550 | @since 3.16.0 4551 | """ 4552 | 4553 | ignoreCase: NotRequired[bool] 4554 | """ The pattern should be matched ignoring casing. """ 4555 | 4556 | 4557 | class ExecutionSummary(TypedDict): 4558 | executionOrder: Uint 4559 | """ A strict monotonically increasing value 4560 | indicating the execution order of a cell 4561 | inside a notebook. """ 4562 | success: NotRequired[bool] 4563 | """ Whether the execution was successful or 4564 | not if known by the client. """ 4565 | 4566 | 4567 | class WorkspaceClientCapabilities(TypedDict): 4568 | """Workspace specific client capabilities.""" 4569 | 4570 | applyEdit: NotRequired[bool] 4571 | """ The client supports applying batch edits 4572 | to the workspace by supporting the request 4573 | 'workspace/applyEdit' """ 4574 | workspaceEdit: NotRequired["WorkspaceEditClientCapabilities"] 4575 | """ Capabilities specific to `WorkspaceEdit`s. """ 4576 | didChangeConfiguration: NotRequired["DidChangeConfigurationClientCapabilities"] 4577 | """ Capabilities specific to the `workspace/didChangeConfiguration` notification. """ 4578 | didChangeWatchedFiles: NotRequired["DidChangeWatchedFilesClientCapabilities"] 4579 | """ Capabilities specific to the `workspace/didChangeWatchedFiles` notification. """ 4580 | symbol: NotRequired["WorkspaceSymbolClientCapabilities"] 4581 | """ Capabilities specific to the `workspace/symbol` request. """ 4582 | executeCommand: NotRequired["ExecuteCommandClientCapabilities"] 4583 | """ Capabilities specific to the `workspace/executeCommand` request. """ 4584 | workspaceFolders: NotRequired[bool] 4585 | """ The client has support for workspace folders. 4586 | 4587 | @since 3.6.0 """ 4588 | configuration: NotRequired[bool] 4589 | """ The client supports `workspace/configuration` requests. 4590 | 4591 | @since 3.6.0 """ 4592 | semanticTokens: NotRequired["SemanticTokensWorkspaceClientCapabilities"] 4593 | """ Capabilities specific to the semantic token requests scoped to the 4594 | workspace. 4595 | 4596 | @since 3.16.0. """ 4597 | codeLens: NotRequired["CodeLensWorkspaceClientCapabilities"] 4598 | """ Capabilities specific to the code lens requests scoped to the 4599 | workspace. 4600 | 4601 | @since 3.16.0. """ 4602 | fileOperations: NotRequired["FileOperationClientCapabilities"] 4603 | """ The client has support for file notifications/requests for user operations on files. 4604 | 4605 | Since 3.16.0 """ 4606 | inlineValue: NotRequired["InlineValueWorkspaceClientCapabilities"] 4607 | """ Capabilities specific to the inline values requests scoped to the 4608 | workspace. 4609 | 4610 | @since 3.17.0. """ 4611 | inlayHint: NotRequired["InlayHintWorkspaceClientCapabilities"] 4612 | """ Capabilities specific to the inlay hint requests scoped to the 4613 | workspace. 4614 | 4615 | @since 3.17.0. """ 4616 | diagnostics: NotRequired["DiagnosticWorkspaceClientCapabilities"] 4617 | """ Capabilities specific to the diagnostic requests scoped to the 4618 | workspace. 4619 | 4620 | @since 3.17.0. """ 4621 | 4622 | 4623 | class TextDocumentClientCapabilities(TypedDict): 4624 | """Text document specific client capabilities.""" 4625 | 4626 | synchronization: NotRequired["TextDocumentSyncClientCapabilities"] 4627 | """ Defines which synchronization capabilities the client supports. """ 4628 | completion: NotRequired["CompletionClientCapabilities"] 4629 | """ Capabilities specific to the `textDocument/completion` request. """ 4630 | hover: NotRequired["HoverClientCapabilities"] 4631 | """ Capabilities specific to the `textDocument/hover` request. """ 4632 | signatureHelp: NotRequired["SignatureHelpClientCapabilities"] 4633 | """ Capabilities specific to the `textDocument/signatureHelp` request. """ 4634 | declaration: NotRequired["DeclarationClientCapabilities"] 4635 | """ Capabilities specific to the `textDocument/declaration` request. 4636 | 4637 | @since 3.14.0 """ 4638 | definition: NotRequired["DefinitionClientCapabilities"] 4639 | """ Capabilities specific to the `textDocument/definition` request. """ 4640 | typeDefinition: NotRequired["TypeDefinitionClientCapabilities"] 4641 | """ Capabilities specific to the `textDocument/typeDefinition` request. 4642 | 4643 | @since 3.6.0 """ 4644 | implementation: NotRequired["ImplementationClientCapabilities"] 4645 | """ Capabilities specific to the `textDocument/implementation` request. 4646 | 4647 | @since 3.6.0 """ 4648 | references: NotRequired["ReferenceClientCapabilities"] 4649 | """ Capabilities specific to the `textDocument/references` request. """ 4650 | documentHighlight: NotRequired["DocumentHighlightClientCapabilities"] 4651 | """ Capabilities specific to the `textDocument/documentHighlight` request. """ 4652 | documentSymbol: NotRequired["DocumentSymbolClientCapabilities"] 4653 | """ Capabilities specific to the `textDocument/documentSymbol` request. """ 4654 | codeAction: NotRequired["CodeActionClientCapabilities"] 4655 | """ Capabilities specific to the `textDocument/codeAction` request. """ 4656 | codeLens: NotRequired["CodeLensClientCapabilities"] 4657 | """ Capabilities specific to the `textDocument/codeLens` request. """ 4658 | documentLink: NotRequired["DocumentLinkClientCapabilities"] 4659 | """ Capabilities specific to the `textDocument/documentLink` request. """ 4660 | colorProvider: NotRequired["DocumentColorClientCapabilities"] 4661 | """ Capabilities specific to the `textDocument/documentColor` and the 4662 | `textDocument/colorPresentation` request. 4663 | 4664 | @since 3.6.0 """ 4665 | formatting: NotRequired["DocumentFormattingClientCapabilities"] 4666 | """ Capabilities specific to the `textDocument/formatting` request. """ 4667 | rangeFormatting: NotRequired["DocumentRangeFormattingClientCapabilities"] 4668 | """ Capabilities specific to the `textDocument/rangeFormatting` request. """ 4669 | onTypeFormatting: NotRequired["DocumentOnTypeFormattingClientCapabilities"] 4670 | """ Capabilities specific to the `textDocument/onTypeFormatting` request. """ 4671 | rename: NotRequired["RenameClientCapabilities"] 4672 | """ Capabilities specific to the `textDocument/rename` request. """ 4673 | foldingRange: NotRequired["FoldingRangeClientCapabilities"] 4674 | """ Capabilities specific to the `textDocument/foldingRange` request. 4675 | 4676 | @since 3.10.0 """ 4677 | selectionRange: NotRequired["SelectionRangeClientCapabilities"] 4678 | """ Capabilities specific to the `textDocument/selectionRange` request. 4679 | 4680 | @since 3.15.0 """ 4681 | publishDiagnostics: NotRequired["PublishDiagnosticsClientCapabilities"] 4682 | """ Capabilities specific to the `textDocument/publishDiagnostics` notification. """ 4683 | callHierarchy: NotRequired["CallHierarchyClientCapabilities"] 4684 | """ Capabilities specific to the various call hierarchy requests. 4685 | 4686 | @since 3.16.0 """ 4687 | semanticTokens: NotRequired["SemanticTokensClientCapabilities"] 4688 | """ Capabilities specific to the various semantic token request. 4689 | 4690 | @since 3.16.0 """ 4691 | linkedEditingRange: NotRequired["LinkedEditingRangeClientCapabilities"] 4692 | """ Capabilities specific to the `textDocument/linkedEditingRange` request. 4693 | 4694 | @since 3.16.0 """ 4695 | moniker: NotRequired["MonikerClientCapabilities"] 4696 | """ Client capabilities specific to the `textDocument/moniker` request. 4697 | 4698 | @since 3.16.0 """ 4699 | typeHierarchy: NotRequired["TypeHierarchyClientCapabilities"] 4700 | """ Capabilities specific to the various type hierarchy requests. 4701 | 4702 | @since 3.17.0 """ 4703 | inlineValue: NotRequired["InlineValueClientCapabilities"] 4704 | """ Capabilities specific to the `textDocument/inlineValue` request. 4705 | 4706 | @since 3.17.0 """ 4707 | inlayHint: NotRequired["InlayHintClientCapabilities"] 4708 | """ Capabilities specific to the `textDocument/inlayHint` request. 4709 | 4710 | @since 3.17.0 """ 4711 | diagnostic: NotRequired["DiagnosticClientCapabilities"] 4712 | """ Capabilities specific to the diagnostic pull model. 4713 | 4714 | @since 3.17.0 """ 4715 | 4716 | 4717 | class NotebookDocumentClientCapabilities(TypedDict): 4718 | """Capabilities specific to the notebook document support. 4719 | 4720 | @since 3.17.0 4721 | """ 4722 | 4723 | synchronization: "NotebookDocumentSyncClientCapabilities" 4724 | """ Capabilities specific to notebook document synchronization 4725 | 4726 | @since 3.17.0 """ 4727 | 4728 | 4729 | class WindowClientCapabilities(TypedDict): 4730 | workDoneProgress: NotRequired[bool] 4731 | """ It indicates whether the client supports server initiated 4732 | progress using the `window/workDoneProgress/create` request. 4733 | 4734 | The capability also controls Whether client supports handling 4735 | of progress notifications. If set servers are allowed to report a 4736 | `workDoneProgress` property in the request specific server 4737 | capabilities. 4738 | 4739 | @since 3.15.0 """ 4740 | showMessage: NotRequired["ShowMessageRequestClientCapabilities"] 4741 | """ Capabilities specific to the showMessage request. 4742 | 4743 | @since 3.16.0 """ 4744 | showDocument: NotRequired["ShowDocumentClientCapabilities"] 4745 | """ Capabilities specific to the showDocument request. 4746 | 4747 | @since 3.16.0 """ 4748 | 4749 | 4750 | class GeneralClientCapabilities(TypedDict): 4751 | """General client capabilities. 4752 | 4753 | @since 3.16.0 4754 | """ 4755 | 4756 | staleRequestSupport: NotRequired["__GeneralClientCapabilities_staleRequestSupport_Type_1"] 4757 | """ Client capability that signals how the client 4758 | handles stale requests (e.g. a request 4759 | for which the client will not process the response 4760 | anymore since the information is outdated). 4761 | 4762 | @since 3.17.0 """ 4763 | regularExpressions: NotRequired["RegularExpressionsClientCapabilities"] 4764 | """ Client capabilities specific to regular expressions. 4765 | 4766 | @since 3.16.0 """ 4767 | markdown: NotRequired["MarkdownClientCapabilities"] 4768 | """ Client capabilities specific to the client's markdown parser. 4769 | 4770 | @since 3.16.0 """ 4771 | positionEncodings: NotRequired[list["PositionEncodingKind"]] 4772 | """ The position encodings supported by the client. Client and server 4773 | have to agree on the same position encoding to ensure that offsets 4774 | (e.g. character position in a line) are interpreted the same on both 4775 | sides. 4776 | 4777 | To keep the protocol backwards compatible the following applies: if 4778 | the value 'utf-16' is missing from the array of position encodings 4779 | servers can assume that the client supports UTF-16. UTF-16 is 4780 | therefore a mandatory encoding. 4781 | 4782 | If omitted it defaults to ['utf-16']. 4783 | 4784 | Implementation considerations: since the conversion from one encoding 4785 | into another requires the content of the file / line the conversion 4786 | is best done where the file is read which is usually on the server 4787 | side. 4788 | 4789 | @since 3.17.0 """ 4790 | 4791 | 4792 | class RelativePattern(TypedDict): 4793 | """A relative pattern is a helper to construct glob patterns that are matched 4794 | relatively to a base URI. The common value for a `baseUri` is a workspace 4795 | folder root, but it can be another absolute URI as well. 4796 | 4797 | @since 3.17.0 4798 | """ 4799 | 4800 | baseUri: Union["WorkspaceFolder", "URI"] 4801 | """ A workspace folder or a base URI to which this pattern will be matched 4802 | against relatively. """ 4803 | pattern: "Pattern" 4804 | """ The actual glob pattern; """ 4805 | 4806 | 4807 | class WorkspaceEditClientCapabilities(TypedDict): 4808 | documentChanges: NotRequired[bool] 4809 | """ The client supports versioned document changes in `WorkspaceEdit`s """ 4810 | resourceOperations: NotRequired[list["ResourceOperationKind"]] 4811 | """ The resource operations the client supports. Clients should at least 4812 | support 'create', 'rename' and 'delete' files and folders. 4813 | 4814 | @since 3.13.0 """ 4815 | failureHandling: NotRequired["FailureHandlingKind"] 4816 | """ The failure handling strategy of a client if applying the workspace edit 4817 | fails. 4818 | 4819 | @since 3.13.0 """ 4820 | normalizesLineEndings: NotRequired[bool] 4821 | """ Whether the client normalizes line endings to the client specific 4822 | setting. 4823 | If set to `true` the client will normalize line ending characters 4824 | in a workspace edit to the client-specified new line 4825 | character. 4826 | 4827 | @since 3.16.0 """ 4828 | changeAnnotationSupport: NotRequired["__WorkspaceEditClientCapabilities_changeAnnotationSupport_Type_1"] 4829 | """ Whether the client in general supports change annotations on text edits, 4830 | create file, rename file and delete file changes. 4831 | 4832 | @since 3.16.0 """ 4833 | 4834 | 4835 | class DidChangeConfigurationClientCapabilities(TypedDict): 4836 | dynamicRegistration: NotRequired[bool] 4837 | """ Did change configuration notification supports dynamic registration. """ 4838 | 4839 | 4840 | class DidChangeWatchedFilesClientCapabilities(TypedDict): 4841 | dynamicRegistration: NotRequired[bool] 4842 | """ Did change watched files notification supports dynamic registration. Please note 4843 | that the current protocol doesn't support static configuration for file changes 4844 | from the server side. """ 4845 | relativePatternSupport: NotRequired[bool] 4846 | """ Whether the client has support for {@link RelativePattern relative pattern} 4847 | or not. 4848 | 4849 | @since 3.17.0 """ 4850 | 4851 | 4852 | class WorkspaceSymbolClientCapabilities(TypedDict): 4853 | """Client capabilities for a {@link WorkspaceSymbolRequest}.""" 4854 | 4855 | dynamicRegistration: NotRequired[bool] 4856 | """ Symbol request supports dynamic registration. """ 4857 | symbolKind: NotRequired["__WorkspaceSymbolClientCapabilities_symbolKind_Type_1"] 4858 | """ Specific capabilities for the `SymbolKind` in the `workspace/symbol` request. """ 4859 | tagSupport: NotRequired["__WorkspaceSymbolClientCapabilities_tagSupport_Type_1"] 4860 | """ The client supports tags on `SymbolInformation`. 4861 | Clients supporting tags have to handle unknown tags gracefully. 4862 | 4863 | @since 3.16.0 """ 4864 | resolveSupport: NotRequired["__WorkspaceSymbolClientCapabilities_resolveSupport_Type_1"] 4865 | """ The client support partial workspace symbols. The client will send the 4866 | request `workspaceSymbol/resolve` to the server to resolve additional 4867 | properties. 4868 | 4869 | @since 3.17.0 """ 4870 | 4871 | 4872 | class ExecuteCommandClientCapabilities(TypedDict): 4873 | """The client capabilities of a {@link ExecuteCommandRequest}.""" 4874 | 4875 | dynamicRegistration: NotRequired[bool] 4876 | """ Execute command supports dynamic registration. """ 4877 | 4878 | 4879 | class SemanticTokensWorkspaceClientCapabilities(TypedDict): 4880 | """@since 3.16.0""" 4881 | 4882 | refreshSupport: NotRequired[bool] 4883 | """ Whether the client implementation supports a refresh request sent from 4884 | the server to the client. 4885 | 4886 | Note that this event is global and will force the client to refresh all 4887 | semantic tokens currently shown. It should be used with absolute care 4888 | and is useful for situation where a server for example detects a project 4889 | wide change that requires such a calculation. """ 4890 | 4891 | 4892 | class CodeLensWorkspaceClientCapabilities(TypedDict): 4893 | """@since 3.16.0""" 4894 | 4895 | refreshSupport: NotRequired[bool] 4896 | """ Whether the client implementation supports a refresh request sent from the 4897 | server to the client. 4898 | 4899 | Note that this event is global and will force the client to refresh all 4900 | code lenses currently shown. It should be used with absolute care and is 4901 | useful for situation where a server for example detect a project wide 4902 | change that requires such a calculation. """ 4903 | 4904 | 4905 | class FileOperationClientCapabilities(TypedDict): 4906 | """Capabilities relating to events from file operations by the user in the client. 4907 | 4908 | These events do not come from the file system, they come from user operations 4909 | like renaming a file in the UI. 4910 | 4911 | @since 3.16.0 4912 | """ 4913 | 4914 | dynamicRegistration: NotRequired[bool] 4915 | """ Whether the client supports dynamic registration for file requests/notifications. """ 4916 | didCreate: NotRequired[bool] 4917 | """ The client has support for sending didCreateFiles notifications. """ 4918 | willCreate: NotRequired[bool] 4919 | """ The client has support for sending willCreateFiles requests. """ 4920 | didRename: NotRequired[bool] 4921 | """ The client has support for sending didRenameFiles notifications. """ 4922 | willRename: NotRequired[bool] 4923 | """ The client has support for sending willRenameFiles requests. """ 4924 | didDelete: NotRequired[bool] 4925 | """ The client has support for sending didDeleteFiles notifications. """ 4926 | willDelete: NotRequired[bool] 4927 | """ The client has support for sending willDeleteFiles requests. """ 4928 | 4929 | 4930 | class InlineValueWorkspaceClientCapabilities(TypedDict): 4931 | """Client workspace capabilities specific to inline values. 4932 | 4933 | @since 3.17.0 4934 | """ 4935 | 4936 | refreshSupport: NotRequired[bool] 4937 | """ Whether the client implementation supports a refresh request sent from the 4938 | server to the client. 4939 | 4940 | Note that this event is global and will force the client to refresh all 4941 | inline values currently shown. It should be used with absolute care and is 4942 | useful for situation where a server for example detects a project wide 4943 | change that requires such a calculation. """ 4944 | 4945 | 4946 | class InlayHintWorkspaceClientCapabilities(TypedDict): 4947 | """Client workspace capabilities specific to inlay hints. 4948 | 4949 | @since 3.17.0 4950 | """ 4951 | 4952 | refreshSupport: NotRequired[bool] 4953 | """ Whether the client implementation supports a refresh request sent from 4954 | the server to the client. 4955 | 4956 | Note that this event is global and will force the client to refresh all 4957 | inlay hints currently shown. It should be used with absolute care and 4958 | is useful for situation where a server for example detects a project wide 4959 | change that requires such a calculation. """ 4960 | 4961 | 4962 | class DiagnosticWorkspaceClientCapabilities(TypedDict): 4963 | """Workspace client capabilities specific to diagnostic pull requests. 4964 | 4965 | @since 3.17.0 4966 | """ 4967 | 4968 | refreshSupport: NotRequired[bool] 4969 | """ Whether the client implementation supports a refresh request sent from 4970 | the server to the client. 4971 | 4972 | Note that this event is global and will force the client to refresh all 4973 | pulled diagnostics currently shown. It should be used with absolute care and 4974 | is useful for situation where a server for example detects a project wide 4975 | change that requires such a calculation. """ 4976 | 4977 | 4978 | class TextDocumentSyncClientCapabilities(TypedDict): 4979 | dynamicRegistration: NotRequired[bool] 4980 | """ Whether text document synchronization supports dynamic registration. """ 4981 | willSave: NotRequired[bool] 4982 | """ The client supports sending will save notifications. """ 4983 | willSaveWaitUntil: NotRequired[bool] 4984 | """ The client supports sending a will save request and 4985 | waits for a response providing text edits which will 4986 | be applied to the document before it is saved. """ 4987 | didSave: NotRequired[bool] 4988 | """ The client supports did save notifications. """ 4989 | 4990 | 4991 | class CompletionClientCapabilities(TypedDict): 4992 | """Completion client capabilities""" 4993 | 4994 | dynamicRegistration: NotRequired[bool] 4995 | """ Whether completion supports dynamic registration. """ 4996 | completionItem: NotRequired["__CompletionClientCapabilities_completionItem_Type_1"] 4997 | """ The client supports the following `CompletionItem` specific 4998 | capabilities. """ 4999 | completionItemKind: NotRequired["__CompletionClientCapabilities_completionItemKind_Type_1"] 5000 | insertTextMode: NotRequired["InsertTextMode"] 5001 | """ Defines how the client handles whitespace and indentation 5002 | when accepting a completion item that uses multi line 5003 | text in either `insertText` or `textEdit`. 5004 | 5005 | @since 3.17.0 """ 5006 | contextSupport: NotRequired[bool] 5007 | """ The client supports to send additional context information for a 5008 | `textDocument/completion` request. """ 5009 | completionList: NotRequired["__CompletionClientCapabilities_completionList_Type_1"] 5010 | """ The client supports the following `CompletionList` specific 5011 | capabilities. 5012 | 5013 | @since 3.17.0 """ 5014 | 5015 | 5016 | class HoverClientCapabilities(TypedDict): 5017 | dynamicRegistration: NotRequired[bool] 5018 | """ Whether hover supports dynamic registration. """ 5019 | contentFormat: NotRequired[list["MarkupKind"]] 5020 | """ Client supports the following content formats for the content 5021 | property. The order describes the preferred format of the client. """ 5022 | 5023 | 5024 | class SignatureHelpClientCapabilities(TypedDict): 5025 | """Client Capabilities for a {@link SignatureHelpRequest}.""" 5026 | 5027 | dynamicRegistration: NotRequired[bool] 5028 | """ Whether signature help supports dynamic registration. """ 5029 | signatureInformation: NotRequired["__SignatureHelpClientCapabilities_signatureInformation_Type_1"] 5030 | """ The client supports the following `SignatureInformation` 5031 | specific properties. """ 5032 | contextSupport: NotRequired[bool] 5033 | """ The client supports to send additional context information for a 5034 | `textDocument/signatureHelp` request. A client that opts into 5035 | contextSupport will also support the `retriggerCharacters` on 5036 | `SignatureHelpOptions`. 5037 | 5038 | @since 3.15.0 """ 5039 | 5040 | 5041 | class DeclarationClientCapabilities(TypedDict): 5042 | """@since 3.14.0""" 5043 | 5044 | dynamicRegistration: NotRequired[bool] 5045 | """ Whether declaration supports dynamic registration. If this is set to `true` 5046 | the client supports the new `DeclarationRegistrationOptions` return value 5047 | for the corresponding server capability as well. """ 5048 | linkSupport: NotRequired[bool] 5049 | """ The client supports additional metadata in the form of declaration links. """ 5050 | 5051 | 5052 | class DefinitionClientCapabilities(TypedDict): 5053 | """Client Capabilities for a {@link DefinitionRequest}.""" 5054 | 5055 | dynamicRegistration: NotRequired[bool] 5056 | """ Whether definition supports dynamic registration. """ 5057 | linkSupport: NotRequired[bool] 5058 | """ The client supports additional metadata in the form of definition links. 5059 | 5060 | @since 3.14.0 """ 5061 | 5062 | 5063 | class TypeDefinitionClientCapabilities(TypedDict): 5064 | """Since 3.6.0""" 5065 | 5066 | dynamicRegistration: NotRequired[bool] 5067 | """ Whether implementation supports dynamic registration. If this is set to `true` 5068 | the client supports the new `TypeDefinitionRegistrationOptions` return value 5069 | for the corresponding server capability as well. """ 5070 | linkSupport: NotRequired[bool] 5071 | """ The client supports additional metadata in the form of definition links. 5072 | 5073 | Since 3.14.0 """ 5074 | 5075 | 5076 | class ImplementationClientCapabilities(TypedDict): 5077 | """@since 3.6.0""" 5078 | 5079 | dynamicRegistration: NotRequired[bool] 5080 | """ Whether implementation supports dynamic registration. If this is set to `true` 5081 | the client supports the new `ImplementationRegistrationOptions` return value 5082 | for the corresponding server capability as well. """ 5083 | linkSupport: NotRequired[bool] 5084 | """ The client supports additional metadata in the form of definition links. 5085 | 5086 | @since 3.14.0 """ 5087 | 5088 | 5089 | class ReferenceClientCapabilities(TypedDict): 5090 | """Client Capabilities for a {@link ReferencesRequest}.""" 5091 | 5092 | dynamicRegistration: NotRequired[bool] 5093 | """ Whether references supports dynamic registration. """ 5094 | 5095 | 5096 | class DocumentHighlightClientCapabilities(TypedDict): 5097 | """Client Capabilities for a {@link DocumentHighlightRequest}.""" 5098 | 5099 | dynamicRegistration: NotRequired[bool] 5100 | """ Whether document highlight supports dynamic registration. """ 5101 | 5102 | 5103 | class DocumentSymbolClientCapabilities(TypedDict): 5104 | """Client Capabilities for a {@link DocumentSymbolRequest}.""" 5105 | 5106 | dynamicRegistration: NotRequired[bool] 5107 | """ Whether document symbol supports dynamic registration. """ 5108 | symbolKind: NotRequired["__DocumentSymbolClientCapabilities_symbolKind_Type_1"] 5109 | """ Specific capabilities for the `SymbolKind` in the 5110 | `textDocument/documentSymbol` request. """ 5111 | hierarchicalDocumentSymbolSupport: NotRequired[bool] 5112 | """ The client supports hierarchical document symbols. """ 5113 | tagSupport: NotRequired["__DocumentSymbolClientCapabilities_tagSupport_Type_1"] 5114 | """ The client supports tags on `SymbolInformation`. Tags are supported on 5115 | `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true. 5116 | Clients supporting tags have to handle unknown tags gracefully. 5117 | 5118 | @since 3.16.0 """ 5119 | labelSupport: NotRequired[bool] 5120 | """ The client supports an additional label presented in the UI when 5121 | registering a document symbol provider. 5122 | 5123 | @since 3.16.0 """ 5124 | 5125 | 5126 | class CodeActionClientCapabilities(TypedDict): 5127 | """The Client Capabilities of a {@link CodeActionRequest}.""" 5128 | 5129 | dynamicRegistration: NotRequired[bool] 5130 | """ Whether code action supports dynamic registration. """ 5131 | codeActionLiteralSupport: NotRequired["__CodeActionClientCapabilities_codeActionLiteralSupport_Type_1"] 5132 | """ The client support code action literals of type `CodeAction` as a valid 5133 | response of the `textDocument/codeAction` request. If the property is not 5134 | set the request can only return `Command` literals. 5135 | 5136 | @since 3.8.0 """ 5137 | isPreferredSupport: NotRequired[bool] 5138 | """ Whether code action supports the `isPreferred` property. 5139 | 5140 | @since 3.15.0 """ 5141 | disabledSupport: NotRequired[bool] 5142 | """ Whether code action supports the `disabled` property. 5143 | 5144 | @since 3.16.0 """ 5145 | dataSupport: NotRequired[bool] 5146 | """ Whether code action supports the `data` property which is 5147 | preserved between a `textDocument/codeAction` and a 5148 | `codeAction/resolve` request. 5149 | 5150 | @since 3.16.0 """ 5151 | resolveSupport: NotRequired["__CodeActionClientCapabilities_resolveSupport_Type_1"] 5152 | """ Whether the client supports resolving additional code action 5153 | properties via a separate `codeAction/resolve` request. 5154 | 5155 | @since 3.16.0 """ 5156 | honorsChangeAnnotations: NotRequired[bool] 5157 | """ Whether the client honors the change annotations in 5158 | text edits and resource operations returned via the 5159 | `CodeAction#edit` property by for example presenting 5160 | the workspace edit in the user interface and asking 5161 | for confirmation. 5162 | 5163 | @since 3.16.0 """ 5164 | 5165 | 5166 | class CodeLensClientCapabilities(TypedDict): 5167 | """The client capabilities of a {@link CodeLensRequest}.""" 5168 | 5169 | dynamicRegistration: NotRequired[bool] 5170 | """ Whether code lens supports dynamic registration. """ 5171 | 5172 | 5173 | class DocumentLinkClientCapabilities(TypedDict): 5174 | """The client capabilities of a {@link DocumentLinkRequest}.""" 5175 | 5176 | dynamicRegistration: NotRequired[bool] 5177 | """ Whether document link supports dynamic registration. """ 5178 | tooltipSupport: NotRequired[bool] 5179 | """ Whether the client supports the `tooltip` property on `DocumentLink`. 5180 | 5181 | @since 3.15.0 """ 5182 | 5183 | 5184 | class DocumentColorClientCapabilities(TypedDict): 5185 | dynamicRegistration: NotRequired[bool] 5186 | """ Whether implementation supports dynamic registration. If this is set to `true` 5187 | the client supports the new `DocumentColorRegistrationOptions` return value 5188 | for the corresponding server capability as well. """ 5189 | 5190 | 5191 | class DocumentFormattingClientCapabilities(TypedDict): 5192 | """Client capabilities of a {@link DocumentFormattingRequest}.""" 5193 | 5194 | dynamicRegistration: NotRequired[bool] 5195 | """ Whether formatting supports dynamic registration. """ 5196 | 5197 | 5198 | class DocumentRangeFormattingClientCapabilities(TypedDict): 5199 | """Client capabilities of a {@link DocumentRangeFormattingRequest}.""" 5200 | 5201 | dynamicRegistration: NotRequired[bool] 5202 | """ Whether range formatting supports dynamic registration. """ 5203 | 5204 | 5205 | class DocumentOnTypeFormattingClientCapabilities(TypedDict): 5206 | """Client capabilities of a {@link DocumentOnTypeFormattingRequest}.""" 5207 | 5208 | dynamicRegistration: NotRequired[bool] 5209 | """ Whether on type formatting supports dynamic registration. """ 5210 | 5211 | 5212 | class RenameClientCapabilities(TypedDict): 5213 | dynamicRegistration: NotRequired[bool] 5214 | """ Whether rename supports dynamic registration. """ 5215 | prepareSupport: NotRequired[bool] 5216 | """ Client supports testing for validity of rename operations 5217 | before execution. 5218 | 5219 | @since 3.12.0 """ 5220 | prepareSupportDefaultBehavior: NotRequired["PrepareSupportDefaultBehavior"] 5221 | """ Client supports the default behavior result. 5222 | 5223 | The value indicates the default behavior used by the 5224 | client. 5225 | 5226 | @since 3.16.0 """ 5227 | honorsChangeAnnotations: NotRequired[bool] 5228 | """ Whether the client honors the change annotations in 5229 | text edits and resource operations returned via the 5230 | rename request's workspace edit by for example presenting 5231 | the workspace edit in the user interface and asking 5232 | for confirmation. 5233 | 5234 | @since 3.16.0 """ 5235 | 5236 | 5237 | class FoldingRangeClientCapabilities(TypedDict): 5238 | dynamicRegistration: NotRequired[bool] 5239 | """ Whether implementation supports dynamic registration for folding range 5240 | providers. If this is set to `true` the client supports the new 5241 | `FoldingRangeRegistrationOptions` return value for the corresponding 5242 | server capability as well. """ 5243 | rangeLimit: NotRequired[Uint] 5244 | """ The maximum number of folding ranges that the client prefers to receive 5245 | per document. The value serves as a hint, servers are free to follow the 5246 | limit. """ 5247 | lineFoldingOnly: NotRequired[bool] 5248 | """ If set, the client signals that it only supports folding complete lines. 5249 | If set, client will ignore specified `startCharacter` and `endCharacter` 5250 | properties in a FoldingRange. """ 5251 | foldingRangeKind: NotRequired["__FoldingRangeClientCapabilities_foldingRangeKind_Type_1"] 5252 | """ Specific options for the folding range kind. 5253 | 5254 | @since 3.17.0 """ 5255 | foldingRange: NotRequired["__FoldingRangeClientCapabilities_foldingRange_Type_1"] 5256 | """ Specific options for the folding range. 5257 | 5258 | @since 3.17.0 """ 5259 | 5260 | 5261 | class SelectionRangeClientCapabilities(TypedDict): 5262 | dynamicRegistration: NotRequired[bool] 5263 | """ Whether implementation supports dynamic registration for selection range providers. If this is set to `true` 5264 | the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server 5265 | capability as well. """ 5266 | 5267 | 5268 | class PublishDiagnosticsClientCapabilities(TypedDict): 5269 | """The publish diagnostic client capabilities.""" 5270 | 5271 | relatedInformation: NotRequired[bool] 5272 | """ Whether the clients accepts diagnostics with related information. """ 5273 | tagSupport: NotRequired["__PublishDiagnosticsClientCapabilities_tagSupport_Type_1"] 5274 | """ Client supports the tag property to provide meta data about a diagnostic. 5275 | Clients supporting tags have to handle unknown tags gracefully. 5276 | 5277 | @since 3.15.0 """ 5278 | versionSupport: NotRequired[bool] 5279 | """ Whether the client interprets the version property of the 5280 | `textDocument/publishDiagnostics` notification's parameter. 5281 | 5282 | @since 3.15.0 """ 5283 | codeDescriptionSupport: NotRequired[bool] 5284 | """ Client supports a codeDescription property 5285 | 5286 | @since 3.16.0 """ 5287 | dataSupport: NotRequired[bool] 5288 | """ Whether code action supports the `data` property which is 5289 | preserved between a `textDocument/publishDiagnostics` and 5290 | `textDocument/codeAction` request. 5291 | 5292 | @since 3.16.0 """ 5293 | 5294 | 5295 | class CallHierarchyClientCapabilities(TypedDict): 5296 | """@since 3.16.0""" 5297 | 5298 | dynamicRegistration: NotRequired[bool] 5299 | """ Whether implementation supports dynamic registration. If this is set to `true` 5300 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 5301 | return value for the corresponding server capability as well. """ 5302 | 5303 | 5304 | class SemanticTokensClientCapabilities(TypedDict): 5305 | """@since 3.16.0""" 5306 | 5307 | dynamicRegistration: NotRequired[bool] 5308 | """ Whether implementation supports dynamic registration. If this is set to `true` 5309 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 5310 | return value for the corresponding server capability as well. """ 5311 | requests: "__SemanticTokensClientCapabilities_requests_Type_1" 5312 | """ Which requests the client supports and might send to the server 5313 | depending on the server's capability. Please note that clients might not 5314 | show semantic tokens or degrade some of the user experience if a range 5315 | or full request is advertised by the client but not provided by the 5316 | server. If for example the client capability `requests.full` and 5317 | `request.range` are both set to true but the server only provides a 5318 | range provider the client might not render a minimap correctly or might 5319 | even decide to not show any semantic tokens at all. """ 5320 | tokenTypes: list[str] 5321 | """ The token types that the client supports. """ 5322 | tokenModifiers: list[str] 5323 | """ The token modifiers that the client supports. """ 5324 | formats: list["TokenFormat"] 5325 | """ The token formats the clients supports. """ 5326 | overlappingTokenSupport: NotRequired[bool] 5327 | """ Whether the client supports tokens that can overlap each other. """ 5328 | multilineTokenSupport: NotRequired[bool] 5329 | """ Whether the client supports tokens that can span multiple lines. """ 5330 | serverCancelSupport: NotRequired[bool] 5331 | """ Whether the client allows the server to actively cancel a 5332 | semantic token request, e.g. supports returning 5333 | LSPErrorCodes.ServerCancelled. If a server does the client 5334 | needs to retrigger the request. 5335 | 5336 | @since 3.17.0 """ 5337 | augmentsSyntaxTokens: NotRequired[bool] 5338 | """ Whether the client uses semantic tokens to augment existing 5339 | syntax tokens. If set to `true` client side created syntax 5340 | tokens and semantic tokens are both used for colorization. If 5341 | set to `false` the client only uses the returned semantic tokens 5342 | for colorization. 5343 | 5344 | If the value is `undefined` then the client behavior is not 5345 | specified. 5346 | 5347 | @since 3.17.0 """ 5348 | 5349 | 5350 | class LinkedEditingRangeClientCapabilities(TypedDict): 5351 | """Client capabilities for the linked editing range request. 5352 | 5353 | @since 3.16.0 5354 | """ 5355 | 5356 | dynamicRegistration: NotRequired[bool] 5357 | """ Whether implementation supports dynamic registration. If this is set to `true` 5358 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 5359 | return value for the corresponding server capability as well. """ 5360 | 5361 | 5362 | class MonikerClientCapabilities(TypedDict): 5363 | """Client capabilities specific to the moniker request. 5364 | 5365 | @since 3.16.0 5366 | """ 5367 | 5368 | dynamicRegistration: NotRequired[bool] 5369 | """ Whether moniker supports dynamic registration. If this is set to `true` 5370 | the client supports the new `MonikerRegistrationOptions` return value 5371 | for the corresponding server capability as well. """ 5372 | 5373 | 5374 | class TypeHierarchyClientCapabilities(TypedDict): 5375 | """@since 3.17.0""" 5376 | 5377 | dynamicRegistration: NotRequired[bool] 5378 | """ Whether implementation supports dynamic registration. If this is set to `true` 5379 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 5380 | return value for the corresponding server capability as well. """ 5381 | 5382 | 5383 | class InlineValueClientCapabilities(TypedDict): 5384 | """Client capabilities specific to inline values. 5385 | 5386 | @since 3.17.0 5387 | """ 5388 | 5389 | dynamicRegistration: NotRequired[bool] 5390 | """ Whether implementation supports dynamic registration for inline value providers. """ 5391 | 5392 | 5393 | class InlayHintClientCapabilities(TypedDict): 5394 | """Inlay hint client capabilities. 5395 | 5396 | @since 3.17.0 5397 | """ 5398 | 5399 | dynamicRegistration: NotRequired[bool] 5400 | """ Whether inlay hints support dynamic registration. """ 5401 | resolveSupport: NotRequired["__InlayHintClientCapabilities_resolveSupport_Type_1"] 5402 | """ Indicates which properties a client can resolve lazily on an inlay 5403 | hint. """ 5404 | 5405 | 5406 | class DiagnosticClientCapabilities(TypedDict): 5407 | """Client capabilities specific to diagnostic pull requests. 5408 | 5409 | @since 3.17.0 5410 | """ 5411 | 5412 | dynamicRegistration: NotRequired[bool] 5413 | """ Whether implementation supports dynamic registration. If this is set to `true` 5414 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 5415 | return value for the corresponding server capability as well. """ 5416 | relatedDocumentSupport: NotRequired[bool] 5417 | """ Whether the clients supports related documents for document diagnostic pulls. """ 5418 | 5419 | 5420 | class NotebookDocumentSyncClientCapabilities(TypedDict): 5421 | """Notebook specific client capabilities. 5422 | 5423 | @since 3.17.0 5424 | """ 5425 | 5426 | dynamicRegistration: NotRequired[bool] 5427 | """ Whether implementation supports dynamic registration. If this is 5428 | set to `true` the client supports the new 5429 | `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` 5430 | return value for the corresponding server capability as well. """ 5431 | executionSummarySupport: NotRequired[bool] 5432 | """ The client supports sending execution summary data per cell. """ 5433 | 5434 | 5435 | class ShowMessageRequestClientCapabilities(TypedDict): 5436 | """Show message request client capabilities""" 5437 | 5438 | messageActionItem: NotRequired["__ShowMessageRequestClientCapabilities_messageActionItem_Type_1"] 5439 | """ Capabilities specific to the `MessageActionItem` type. """ 5440 | 5441 | 5442 | class ShowDocumentClientCapabilities(TypedDict): 5443 | """Client capabilities for the showDocument request. 5444 | 5445 | @since 3.16.0 5446 | """ 5447 | 5448 | support: bool 5449 | """ The client has support for the showDocument 5450 | request. """ 5451 | 5452 | 5453 | class RegularExpressionsClientCapabilities(TypedDict): 5454 | """Client capabilities specific to regular expressions. 5455 | 5456 | @since 3.16.0 5457 | """ 5458 | 5459 | engine: str 5460 | """ The engine's name. """ 5461 | version: NotRequired[str] 5462 | """ The engine's version. """ 5463 | 5464 | 5465 | class MarkdownClientCapabilities(TypedDict): 5466 | """Client capabilities specific to the used markdown parser. 5467 | 5468 | @since 3.16.0 5469 | """ 5470 | 5471 | parser: str 5472 | """ The name of the parser. """ 5473 | version: NotRequired[str] 5474 | """ The version of the parser. """ 5475 | allowedTags: NotRequired[list[str]] 5476 | """ A list of HTML tags that the client allows / supports in 5477 | Markdown. 5478 | 5479 | @since 3.17.0 """ 5480 | 5481 | 5482 | class __CodeActionClientCapabilities_codeActionLiteralSupport_Type_1(TypedDict): 5483 | codeActionKind: "__CodeActionClientCapabilities_codeActionLiteralSupport_codeActionKind_Type_1" 5484 | """ The code action kind is support with the following value 5485 | set. """ 5486 | 5487 | 5488 | class __CodeActionClientCapabilities_codeActionLiteralSupport_codeActionKind_Type_1(TypedDict): 5489 | valueSet: list["CodeActionKind"] 5490 | """ The code action kind values the client supports. When this 5491 | property exists the client also guarantees that it will 5492 | handle values outside its set gracefully and falls back 5493 | to a default value when unknown. """ 5494 | 5495 | 5496 | class __CodeActionClientCapabilities_resolveSupport_Type_1(TypedDict): 5497 | properties: list[str] 5498 | """ The properties that a client can resolve lazily. """ 5499 | 5500 | 5501 | class __CodeAction_disabled_Type_1(TypedDict): 5502 | reason: str 5503 | """ Human readable description of why the code action is currently disabled. 5504 | 5505 | This is displayed in the code actions UI. """ 5506 | 5507 | 5508 | class __CompletionClientCapabilities_completionItemKind_Type_1(TypedDict): 5509 | valueSet: NotRequired[list["CompletionItemKind"]] 5510 | """ The completion item kind values the client supports. When this 5511 | property exists the client also guarantees that it will 5512 | handle values outside its set gracefully and falls back 5513 | to a default value when unknown. 5514 | 5515 | If this property is not present the client only supports 5516 | the completion items kinds from `Text` to `Reference` as defined in 5517 | the initial version of the protocol. """ 5518 | 5519 | 5520 | class __CompletionClientCapabilities_completionItem_Type_1(TypedDict): 5521 | snippetSupport: NotRequired[bool] 5522 | """ Client supports snippets as insert text. 5523 | 5524 | A snippet can define tab stops and placeholders with `$1`, `$2` 5525 | and `${3:foo}`. `$0` defines the final tab stop, it defaults to 5526 | the end of the snippet. Placeholders with equal identifiers are linked, 5527 | that is typing in one will update others too. """ 5528 | commitCharactersSupport: NotRequired[bool] 5529 | """ Client supports commit characters on a completion item. """ 5530 | documentationFormat: NotRequired[list["MarkupKind"]] 5531 | """ Client supports the following content formats for the documentation 5532 | property. The order describes the preferred format of the client. """ 5533 | deprecatedSupport: NotRequired[bool] 5534 | """ Client supports the deprecated property on a completion item. """ 5535 | preselectSupport: NotRequired[bool] 5536 | """ Client supports the preselect property on a completion item. """ 5537 | tagSupport: NotRequired["__CompletionClientCapabilities_completionItem_tagSupport_Type_1"] 5538 | """ Client supports the tag property on a completion item. Clients supporting 5539 | tags have to handle unknown tags gracefully. Clients especially need to 5540 | preserve unknown tags when sending a completion item back to the server in 5541 | a resolve call. 5542 | 5543 | @since 3.15.0 """ 5544 | insertReplaceSupport: NotRequired[bool] 5545 | """ Client support insert replace edit to control different behavior if a 5546 | completion item is inserted in the text or should replace text. 5547 | 5548 | @since 3.16.0 """ 5549 | resolveSupport: NotRequired["__CompletionClientCapabilities_completionItem_resolveSupport_Type_1"] 5550 | """ Indicates which properties a client can resolve lazily on a completion 5551 | item. Before version 3.16.0 only the predefined properties `documentation` 5552 | and `details` could be resolved lazily. 5553 | 5554 | @since 3.16.0 """ 5555 | insertTextModeSupport: NotRequired["__CompletionClientCapabilities_completionItem_insertTextModeSupport_Type_1"] 5556 | """ The client supports the `insertTextMode` property on 5557 | a completion item to override the whitespace handling mode 5558 | as defined by the client (see `insertTextMode`). 5559 | 5560 | @since 3.16.0 """ 5561 | labelDetailsSupport: NotRequired[bool] 5562 | """ The client has support for completion item label 5563 | details (see also `CompletionItemLabelDetails`). 5564 | 5565 | @since 3.17.0 """ 5566 | 5567 | 5568 | class __CompletionClientCapabilities_completionItem_insertTextModeSupport_Type_1(TypedDict): 5569 | valueSet: list["InsertTextMode"] 5570 | 5571 | 5572 | class __CompletionClientCapabilities_completionItem_resolveSupport_Type_1(TypedDict): 5573 | properties: list[str] 5574 | """ The properties that a client can resolve lazily. """ 5575 | 5576 | 5577 | class __CompletionClientCapabilities_completionItem_tagSupport_Type_1(TypedDict): 5578 | valueSet: list["CompletionItemTag"] 5579 | """ The tags supported by the client. """ 5580 | 5581 | 5582 | class __CompletionClientCapabilities_completionList_Type_1(TypedDict): 5583 | itemDefaults: NotRequired[list[str]] 5584 | """ The client supports the following itemDefaults on 5585 | a completion list. 5586 | 5587 | The value lists the supported property names of the 5588 | `CompletionList.itemDefaults` object. If omitted 5589 | no properties are supported. 5590 | 5591 | @since 3.17.0 """ 5592 | 5593 | 5594 | class __CompletionList_itemDefaults_Type_1(TypedDict): 5595 | commitCharacters: NotRequired[list[str]] 5596 | """ A default commit character set. 5597 | 5598 | @since 3.17.0 """ 5599 | editRange: NotRequired[Union["Range", "__CompletionList_itemDefaults_editRange_Type_1"]] 5600 | """ A default edit range. 5601 | 5602 | @since 3.17.0 """ 5603 | insertTextFormat: NotRequired["InsertTextFormat"] 5604 | """ A default insert text format. 5605 | 5606 | @since 3.17.0 """ 5607 | insertTextMode: NotRequired["InsertTextMode"] 5608 | """ A default insert text mode. 5609 | 5610 | @since 3.17.0 """ 5611 | data: NotRequired["LSPAny"] 5612 | """ A default data value. 5613 | 5614 | @since 3.17.0 """ 5615 | 5616 | 5617 | class __CompletionList_itemDefaults_editRange_Type_1(TypedDict): 5618 | insert: "Range" 5619 | replace: "Range" 5620 | 5621 | 5622 | class __CompletionOptions_completionItem_Type_1(TypedDict): 5623 | labelDetailsSupport: NotRequired[bool] 5624 | """ The server has support for completion item label 5625 | details (see also `CompletionItemLabelDetails`) when 5626 | receiving a completion item in a resolve call. 5627 | 5628 | @since 3.17.0 """ 5629 | 5630 | 5631 | class __CompletionOptions_completionItem_Type_2(TypedDict): 5632 | labelDetailsSupport: NotRequired[bool] 5633 | """ The server has support for completion item label 5634 | details (see also `CompletionItemLabelDetails`) when 5635 | receiving a completion item in a resolve call. 5636 | 5637 | @since 3.17.0 """ 5638 | 5639 | 5640 | class __DocumentSymbolClientCapabilities_symbolKind_Type_1(TypedDict): 5641 | valueSet: NotRequired[list["SymbolKind"]] 5642 | """ The symbol kind values the client supports. When this 5643 | property exists the client also guarantees that it will 5644 | handle values outside its set gracefully and falls back 5645 | to a default value when unknown. 5646 | 5647 | If this property is not present the client only supports 5648 | the symbol kinds from `File` to `Array` as defined in 5649 | the initial version of the protocol. """ 5650 | 5651 | 5652 | class __DocumentSymbolClientCapabilities_tagSupport_Type_1(TypedDict): 5653 | valueSet: list["SymbolTag"] 5654 | """ The tags supported by the client. """ 5655 | 5656 | 5657 | class __FoldingRangeClientCapabilities_foldingRangeKind_Type_1(TypedDict): 5658 | valueSet: NotRequired[list["FoldingRangeKind"]] 5659 | """ The folding range kind values the client supports. When this 5660 | property exists the client also guarantees that it will 5661 | handle values outside its set gracefully and falls back 5662 | to a default value when unknown. """ 5663 | 5664 | 5665 | class __FoldingRangeClientCapabilities_foldingRange_Type_1(TypedDict): 5666 | collapsedText: NotRequired[bool] 5667 | """ If set, the client signals that it supports setting collapsedText on 5668 | folding ranges to display custom labels instead of the default text. 5669 | 5670 | @since 3.17.0 """ 5671 | 5672 | 5673 | class __GeneralClientCapabilities_staleRequestSupport_Type_1(TypedDict): 5674 | cancel: bool 5675 | """ The client will actively cancel the request. """ 5676 | retryOnContentModified: list[str] 5677 | """ The list of requests for which the client 5678 | will retry the request if it receives a 5679 | response with error code `ContentModified` """ 5680 | 5681 | 5682 | class __InitializeResult_serverInfo_Type_1(TypedDict): 5683 | name: str 5684 | """ The name of the server as defined by the server. """ 5685 | version: NotRequired[str] 5686 | """ The server's version as defined by the server. """ 5687 | 5688 | 5689 | class __InlayHintClientCapabilities_resolveSupport_Type_1(TypedDict): 5690 | properties: list[str] 5691 | """ The properties that a client can resolve lazily. """ 5692 | 5693 | 5694 | class __MarkedString_Type_1(TypedDict): 5695 | language: str 5696 | value: str 5697 | 5698 | 5699 | class __NotebookDocumentChangeEvent_cells_Type_1(TypedDict): 5700 | structure: NotRequired["__NotebookDocumentChangeEvent_cells_structure_Type_1"] 5701 | """ Changes to the cell structure to add or 5702 | remove cells. """ 5703 | data: NotRequired[list["NotebookCell"]] 5704 | """ Changes to notebook cells properties like its 5705 | kind, execution summary or metadata. """ 5706 | textContent: NotRequired[list["__NotebookDocumentChangeEvent_cells_textContent_Type_1"]] 5707 | """ Changes to the text content of notebook cells. """ 5708 | 5709 | 5710 | class __NotebookDocumentChangeEvent_cells_structure_Type_1(TypedDict): 5711 | array: "NotebookCellArrayChange" 5712 | """ The change to the cell array. """ 5713 | didOpen: NotRequired[list["TextDocumentItem"]] 5714 | """ Additional opened cell text documents. """ 5715 | didClose: NotRequired[list["TextDocumentIdentifier"]] 5716 | """ Additional closed cell text documents. """ 5717 | 5718 | 5719 | class __NotebookDocumentChangeEvent_cells_textContent_Type_1(TypedDict): 5720 | document: "VersionedTextDocumentIdentifier" 5721 | changes: list["TextDocumentContentChangeEvent"] 5722 | 5723 | 5724 | class __NotebookDocumentFilter_Type_1(TypedDict): 5725 | notebookType: str 5726 | """ The type of the enclosing notebook. """ 5727 | scheme: NotRequired[str] 5728 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """ 5729 | pattern: NotRequired[str] 5730 | """ A glob pattern. """ 5731 | 5732 | 5733 | class __NotebookDocumentFilter_Type_2(TypedDict): 5734 | notebookType: NotRequired[str] 5735 | """ The type of the enclosing notebook. """ 5736 | scheme: str 5737 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """ 5738 | pattern: NotRequired[str] 5739 | """ A glob pattern. """ 5740 | 5741 | 5742 | class __NotebookDocumentFilter_Type_3(TypedDict): 5743 | notebookType: NotRequired[str] 5744 | """ The type of the enclosing notebook. """ 5745 | scheme: NotRequired[str] 5746 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """ 5747 | pattern: str 5748 | """ A glob pattern. """ 5749 | 5750 | 5751 | class __NotebookDocumentSyncOptions_notebookSelector_Type_1(TypedDict): 5752 | notebook: Union[str, "NotebookDocumentFilter"] 5753 | """ The notebook to be synced If a string 5754 | value is provided it matches against the 5755 | notebook type. '*' matches every notebook. """ 5756 | cells: NotRequired[list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_1"]] 5757 | """ The cells of the matching notebook to be synced. """ 5758 | 5759 | 5760 | class __NotebookDocumentSyncOptions_notebookSelector_Type_2(TypedDict): 5761 | notebook: NotRequired[Union[str, "NotebookDocumentFilter"]] 5762 | """ The notebook to be synced If a string 5763 | value is provided it matches against the 5764 | notebook type. '*' matches every notebook. """ 5765 | cells: list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_2"] 5766 | """ The cells of the matching notebook to be synced. """ 5767 | 5768 | 5769 | class __NotebookDocumentSyncOptions_notebookSelector_Type_3(TypedDict): 5770 | notebook: Union[str, "NotebookDocumentFilter"] 5771 | """ The notebook to be synced If a string 5772 | value is provided it matches against the 5773 | notebook type. '*' matches every notebook. """ 5774 | cells: NotRequired[list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_3"]] 5775 | """ The cells of the matching notebook to be synced. """ 5776 | 5777 | 5778 | class __NotebookDocumentSyncOptions_notebookSelector_Type_4(TypedDict): 5779 | notebook: NotRequired[Union[str, "NotebookDocumentFilter"]] 5780 | """ The notebook to be synced If a string 5781 | value is provided it matches against the 5782 | notebook type. '*' matches every notebook. """ 5783 | cells: list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_4"] 5784 | """ The cells of the matching notebook to be synced. """ 5785 | 5786 | 5787 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_1(TypedDict): 5788 | language: str 5789 | 5790 | 5791 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_2(TypedDict): 5792 | language: str 5793 | 5794 | 5795 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_3(TypedDict): 5796 | language: str 5797 | 5798 | 5799 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_4(TypedDict): 5800 | language: str 5801 | 5802 | 5803 | class __PrepareRenameResult_Type_1(TypedDict): 5804 | range: "Range" 5805 | placeholder: str 5806 | 5807 | 5808 | class __PrepareRenameResult_Type_2(TypedDict): 5809 | defaultBehavior: bool 5810 | 5811 | 5812 | class __PublishDiagnosticsClientCapabilities_tagSupport_Type_1(TypedDict): 5813 | valueSet: list["DiagnosticTag"] 5814 | """ The tags supported by the client. """ 5815 | 5816 | 5817 | class __SemanticTokensClientCapabilities_requests_Type_1(TypedDict): 5818 | range: NotRequired[bool | dict] 5819 | """ The client will send the `textDocument/semanticTokens/range` request if 5820 | the server provides a corresponding handler. """ 5821 | full: NotRequired[Union[bool, "__SemanticTokensClientCapabilities_requests_full_Type_1"]] 5822 | """ The client will send the `textDocument/semanticTokens/full` request if 5823 | the server provides a corresponding handler. """ 5824 | 5825 | 5826 | class __SemanticTokensClientCapabilities_requests_full_Type_1(TypedDict): 5827 | delta: NotRequired[bool] 5828 | """ The client will send the `textDocument/semanticTokens/full/delta` request if 5829 | the server provides a corresponding handler. """ 5830 | 5831 | 5832 | class __SemanticTokensOptions_full_Type_1(TypedDict): 5833 | delta: NotRequired[bool] 5834 | """ The server supports deltas for full documents. """ 5835 | 5836 | 5837 | class __SemanticTokensOptions_full_Type_2(TypedDict): 5838 | delta: NotRequired[bool] 5839 | """ The server supports deltas for full documents. """ 5840 | 5841 | 5842 | class __ServerCapabilities_workspace_Type_1(TypedDict): 5843 | workspaceFolders: NotRequired["WorkspaceFoldersServerCapabilities"] 5844 | """ The server supports workspace folder. 5845 | 5846 | @since 3.6.0 """ 5847 | fileOperations: NotRequired["FileOperationOptions"] 5848 | """ The server is interested in notifications/requests for operations on files. 5849 | 5850 | @since 3.16.0 """ 5851 | 5852 | 5853 | class __ShowMessageRequestClientCapabilities_messageActionItem_Type_1(TypedDict): 5854 | additionalPropertiesSupport: NotRequired[bool] 5855 | """ Whether the client supports additional attributes which 5856 | are preserved and send back to the server in the 5857 | request's response. """ 5858 | 5859 | 5860 | class __SignatureHelpClientCapabilities_signatureInformation_Type_1(TypedDict): 5861 | documentationFormat: NotRequired[list["MarkupKind"]] 5862 | """ Client supports the following content formats for the documentation 5863 | property. The order describes the preferred format of the client. """ 5864 | parameterInformation: NotRequired["__SignatureHelpClientCapabilities_signatureInformation_parameterInformation_Type_1"] 5865 | """ Client capabilities specific to parameter information. """ 5866 | activeParameterSupport: NotRequired[bool] 5867 | """ The client supports the `activeParameter` property on `SignatureInformation` 5868 | literal. 5869 | 5870 | @since 3.16.0 """ 5871 | 5872 | 5873 | class __SignatureHelpClientCapabilities_signatureInformation_parameterInformation_Type_1(TypedDict): 5874 | labelOffsetSupport: NotRequired[bool] 5875 | """ The client supports processing label offsets instead of a 5876 | simple label string. 5877 | 5878 | @since 3.14.0 """ 5879 | 5880 | 5881 | class __TextDocumentContentChangeEvent_Type_1(TypedDict): 5882 | range: "Range" 5883 | """ The range of the document that changed. """ 5884 | rangeLength: NotRequired[Uint] 5885 | """ The optional length of the range that got replaced. 5886 | 5887 | @deprecated use range instead. """ 5888 | text: str 5889 | """ The new text for the provided range. """ 5890 | 5891 | 5892 | class __TextDocumentContentChangeEvent_Type_2(TypedDict): 5893 | text: str 5894 | """ The new text of the whole document. """ 5895 | 5896 | 5897 | class __TextDocumentFilter_Type_1(TypedDict): 5898 | language: str 5899 | """ A language id, like `typescript`. """ 5900 | scheme: NotRequired[str] 5901 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """ 5902 | pattern: NotRequired[str] 5903 | """ A glob pattern, like `*.{ts,js}`. """ 5904 | 5905 | 5906 | class __TextDocumentFilter_Type_2(TypedDict): 5907 | language: NotRequired[str] 5908 | """ A language id, like `typescript`. """ 5909 | scheme: str 5910 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """ 5911 | pattern: NotRequired[str] 5912 | """ A glob pattern, like `*.{ts,js}`. """ 5913 | 5914 | 5915 | class __TextDocumentFilter_Type_3(TypedDict): 5916 | language: NotRequired[str] 5917 | """ A language id, like `typescript`. """ 5918 | scheme: NotRequired[str] 5919 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """ 5920 | pattern: str 5921 | """ A glob pattern, like `*.{ts,js}`. """ 5922 | 5923 | 5924 | class __WorkspaceEditClientCapabilities_changeAnnotationSupport_Type_1(TypedDict): 5925 | groupsOnLabel: NotRequired[bool] 5926 | """ Whether the client groups edits with equal labels into tree nodes, 5927 | for instance all edits labelled with "Changes in Strings" would 5928 | be a tree node. """ 5929 | 5930 | 5931 | class __WorkspaceSymbolClientCapabilities_resolveSupport_Type_1(TypedDict): 5932 | properties: list[str] 5933 | """ The properties that a client can resolve lazily. Usually 5934 | `location.range` """ 5935 | 5936 | 5937 | class __WorkspaceSymbolClientCapabilities_symbolKind_Type_1(TypedDict): 5938 | valueSet: NotRequired[list["SymbolKind"]] 5939 | """ The symbol kind values the client supports. When this 5940 | property exists the client also guarantees that it will 5941 | handle values outside its set gracefully and falls back 5942 | to a default value when unknown. 5943 | 5944 | If this property is not present the client only supports 5945 | the symbol kinds from `File` to `Array` as defined in 5946 | the initial version of the protocol. """ 5947 | 5948 | 5949 | class __WorkspaceSymbolClientCapabilities_tagSupport_Type_1(TypedDict): 5950 | valueSet: list["SymbolTag"] 5951 | """ The tags supported by the client. """ 5952 | 5953 | 5954 | class __WorkspaceSymbol_location_Type_1(TypedDict): 5955 | uri: "DocumentUri" 5956 | 5957 | 5958 | class ___InitializeParams_clientInfo_Type_1(TypedDict): 5959 | name: str 5960 | """ The name of the client as defined by the client. """ 5961 | version: NotRequired[str] 5962 | """ The client's version as defined by the client. """ 5963 | ```