This is page 18 of 18. 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
│ ├── docs.yaml
│ ├── junie.yml
│ ├── publish.yml
│ └── pytest.yml
├── .gitignore
├── .serena
│ ├── .gitignore
│ ├── 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
│ ├── _config.yml
│ ├── .gitignore
│ ├── 01-about
│ │ ├── 000_intro.md
│ │ ├── 010_llm-integration.md
│ │ ├── 020_programming-languages.md
│ │ ├── 030_serena-in-action.md
│ │ ├── 035_tools.md
│ │ ├── 040_comparison-to-other-agents.md
│ │ └── 050_acknowledgements.md
│ ├── 02-usage
│ │ ├── 000_intro.md
│ │ ├── 010_prerequisites.md
│ │ ├── 020_running.md
│ │ ├── 030_clients.md
│ │ ├── 040_workflow.md
│ │ ├── 050_configuration.md
│ │ ├── 060_dashboard.md
│ │ ├── 070_security.md
│ │ └── 999_additional-usage.md
│ ├── 03-special-guides
│ │ ├── 000_intro.md
│ │ ├── custom_agent.md
│ │ ├── scala_setup_guide_for_serena.md
│ │ └── serena_on_chatgpt.md
│ ├── autogen_rst.py
│ ├── create_toc.py
│ └── index.md
├── flake.lock
├── flake.nix
├── lessons_learned.md
├── LICENSE
├── llms-install.md
├── public
│ └── .gitignore
├── pyproject.toml
├── README.md
├── repo_dir_sync.py
├── 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
│ └── profile_tool_call.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
│ │ ├── ls_manager.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.css
│ │ │ │ ├── dashboard.js
│ │ │ │ ├── index.html
│ │ │ │ ├── jquery.min.js
│ │ │ │ ├── serena-icon-16.png
│ │ │ │ ├── serena-icon-32.png
│ │ │ │ ├── serena-icon-48.png
│ │ │ │ ├── serena-logo-dark-mode.svg
│ │ │ │ ├── serena-logo.svg
│ │ │ │ ├── serena-logs-dark-mode.png
│ │ │ │ └── serena-logs.png
│ │ │ ├── project.template.yml
│ │ │ └── serena_config.template.yml
│ │ ├── symbol.py
│ │ ├── task_executor.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
│ │ ├── cli_util.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
│ │ ├── fortran_language_server.py
│ │ ├── gopls.py
│ │ ├── haskell_language_server.py
│ │ ├── intelephense.py
│ │ ├── jedi_server.py
│ │ ├── julia_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
│ │ ├── regal_server.py
│ │ ├── ruby_lsp.py
│ │ ├── rust_analyzer.py
│ │ ├── scala_language_server.py
│ │ ├── solargraph.py
│ │ ├── sourcekit_lsp.py
│ │ ├── terraform_ls.py
│ │ ├── typescript_language_server.py
│ │ ├── vts_language_server.py
│ │ ├── yaml_language_server.py
│ │ └── zls.py
│ ├── ls_config.py
│ ├── ls_exceptions.py
│ ├── ls_handler.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
│ ├── cache.py
│ ├── subprocess_util.py
│ └── zip.py
├── sync.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
│ │ ├── fortran
│ │ │ └── test_repo
│ │ │ ├── main.f90
│ │ │ └── modules
│ │ │ ├── geometry.f90
│ │ │ └── math_utils.f90
│ │ ├── go
│ │ │ └── test_repo
│ │ │ └── main.go
│ │ ├── haskell
│ │ │ └── test_repo
│ │ │ ├── app
│ │ │ │ └── Main.hs
│ │ │ ├── haskell-test-repo.cabal
│ │ │ ├── package.yaml
│ │ │ ├── src
│ │ │ │ ├── Calculator.hs
│ │ │ │ └── Helper.hs
│ │ │ └── stack.yaml
│ │ ├── java
│ │ │ └── test_repo
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── test_repo
│ │ │ ├── Main.java
│ │ │ ├── Model.java
│ │ │ ├── ModelUser.java
│ │ │ └── Utils.java
│ │ ├── julia
│ │ │ └── test_repo
│ │ │ ├── lib
│ │ │ │ └── helper.jl
│ │ │ └── main.jl
│ │ ├── 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
│ │ ├── rego
│ │ │ └── test_repo
│ │ │ ├── policies
│ │ │ │ ├── authz.rego
│ │ │ │ └── validation.rego
│ │ │ └── utils
│ │ │ └── helpers.rego
│ │ ├── 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
│ │ ├── scala
│ │ │ ├── build.sbt
│ │ │ ├── project
│ │ │ │ ├── build.properties
│ │ │ │ ├── metals.sbt
│ │ │ │ └── plugins.sbt
│ │ │ └── src
│ │ │ └── main
│ │ │ └── scala
│ │ │ └── com
│ │ │ └── example
│ │ │ ├── Main.scala
│ │ │ └── Utils.scala
│ │ ├── 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
│ │ ├── yaml
│ │ │ └── test_repo
│ │ │ ├── config.yaml
│ │ │ ├── data.yaml
│ │ │ └── services.yml
│ │ └── 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_cli_project_commands.py
│ │ ├── test_edit_marker.py
│ │ ├── test_mcp.py
│ │ ├── test_serena_agent.py
│ │ ├── test_symbol_editing.py
│ │ ├── test_symbol.py
│ │ ├── test_task_executor.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
│ ├── fortran
│ │ ├── __init__.py
│ │ └── test_fortran_basic.py
│ ├── go
│ │ └── test_go_basic.py
│ ├── haskell
│ │ ├── __init__.py
│ │ └── test_haskell_basic.py
│ ├── java
│ │ └── test_java_basic.py
│ ├── julia
│ │ └── test_julia_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
│ ├── rego
│ │ └── test_rego_basic.py
│ ├── ruby
│ │ ├── test_ruby_basic.py
│ │ └── test_ruby_symbol_retrieval.py
│ ├── rust
│ │ ├── test_rust_2024_edition.py
│ │ └── test_rust_basic.py
│ ├── scala
│ │ └── test_scala_language_server.py
│ ├── swift
│ │ └── test_swift_basic.py
│ ├── terraform
│ │ └── test_terraform_basic.py
│ ├── typescript
│ │ └── test_typescript_basic.py
│ ├── util
│ │ └── test_zip.py
│ ├── yaml_ls
│ │ ├── __init__.py
│ │ └── test_yaml_basic.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 | # TODO: I think this type is missing the 'children' field - DJ
2482 |
2483 |
2484 | class DocumentSymbolRegistrationOptions(TypedDict):
2485 | """Registration options for a {@link DocumentSymbolRequest}."""
2486 |
2487 | documentSelector: Union["DocumentSelector", None]
2488 | """ A document selector to identify the scope of the registration. If set to null
2489 | the document selector provided on the client side will be used. """
2490 | label: NotRequired[str]
2491 | """ A human-readable string that is shown when multiple outlines trees
2492 | are shown for the same document.
2493 |
2494 | @since 3.16.0 """
2495 |
2496 |
2497 | class CodeActionParams(TypedDict):
2498 | """The parameters of a {@link CodeActionRequest}."""
2499 |
2500 | textDocument: "TextDocumentIdentifier"
2501 | """ The document in which the command was invoked. """
2502 | range: "Range"
2503 | """ The range for which the command was invoked. """
2504 | context: "CodeActionContext"
2505 | """ Context carrying additional information. """
2506 | workDoneToken: NotRequired["ProgressToken"]
2507 | """ An optional token that a server can use to report work done progress. """
2508 | partialResultToken: NotRequired["ProgressToken"]
2509 | """ An optional token that a server can use to report partial results (e.g. streaming) to
2510 | the client. """
2511 |
2512 |
2513 | class Command(TypedDict):
2514 | """Represents a reference to a command. Provides a title which
2515 | will be used to represent a command in the UI and, optionally,
2516 | an array of arguments which will be passed to the command handler
2517 | function when invoked.
2518 | """
2519 |
2520 | title: str
2521 | """ Title of the command, like `save`. """
2522 | command: str
2523 | """ The identifier of the actual command handler. """
2524 | arguments: NotRequired[list["LSPAny"]]
2525 | """ Arguments that the command handler should be
2526 | invoked with. """
2527 |
2528 |
2529 | class CodeAction(TypedDict):
2530 | """A code action represents a change that can be performed in code, e.g. to fix a problem or
2531 | to refactor code.
2532 |
2533 | A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
2534 | """
2535 |
2536 | title: str
2537 | """ A short, human-readable, title for this code action. """
2538 | kind: NotRequired["CodeActionKind"]
2539 | """ The kind of the code action.
2540 |
2541 | Used to filter code actions. """
2542 | diagnostics: NotRequired[list["Diagnostic"]]
2543 | """ The diagnostics that this code action resolves. """
2544 | isPreferred: NotRequired[bool]
2545 | """ Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
2546 | by keybindings.
2547 |
2548 | A quick fix should be marked preferred if it properly addresses the underlying error.
2549 | A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
2550 |
2551 | @since 3.15.0 """
2552 | disabled: NotRequired["__CodeAction_disabled_Type_1"]
2553 | """ Marks that the code action cannot currently be applied.
2554 |
2555 | Clients should follow the following guidelines regarding disabled code actions:
2556 |
2557 | - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action)
2558 | code action menus.
2559 |
2560 | - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type
2561 | of code action, such as refactorings.
2562 |
2563 | - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions)
2564 | that auto applies a code action and only disabled code actions are returned, the client should show the user an
2565 | error message with `reason` in the editor.
2566 |
2567 | @since 3.16.0 """
2568 | edit: NotRequired["WorkspaceEdit"]
2569 | """ The workspace edit this code action performs. """
2570 | command: NotRequired["Command"]
2571 | """ A command this code action executes. If a code action
2572 | provides an edit and a command, first the edit is
2573 | executed and then the command. """
2574 | data: NotRequired["LSPAny"]
2575 | """ A data entry field that is preserved on a code action between
2576 | a `textDocument/codeAction` and a `codeAction/resolve` request.
2577 |
2578 | @since 3.16.0 """
2579 |
2580 |
2581 | class CodeActionRegistrationOptions(TypedDict):
2582 | """Registration options for a {@link CodeActionRequest}."""
2583 |
2584 | documentSelector: Union["DocumentSelector", None]
2585 | """ A document selector to identify the scope of the registration. If set to null
2586 | the document selector provided on the client side will be used. """
2587 | codeActionKinds: NotRequired[list["CodeActionKind"]]
2588 | """ CodeActionKinds that this server may return.
2589 |
2590 | The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
2591 | may list out every specific kind they provide. """
2592 | resolveProvider: NotRequired[bool]
2593 | """ The server provides support to resolve additional
2594 | information for a code action.
2595 |
2596 | @since 3.16.0 """
2597 |
2598 |
2599 | class WorkspaceSymbolParams(TypedDict):
2600 | """The parameters of a {@link WorkspaceSymbolRequest}."""
2601 |
2602 | query: str
2603 | """ A query string to filter symbols by. Clients may send an empty
2604 | string here to request all symbols. """
2605 | workDoneToken: NotRequired["ProgressToken"]
2606 | """ An optional token that a server can use to report work done progress. """
2607 | partialResultToken: NotRequired["ProgressToken"]
2608 | """ An optional token that a server can use to report partial results (e.g. streaming) to
2609 | the client. """
2610 |
2611 |
2612 | class WorkspaceSymbol(TypedDict):
2613 | """A special workspace symbol that supports locations without a range.
2614 |
2615 | See also SymbolInformation.
2616 |
2617 | @since 3.17.0
2618 | """
2619 |
2620 | location: Union["Location", "__WorkspaceSymbol_location_Type_1"]
2621 | """ The location of the symbol. Whether a server is allowed to
2622 | return a location without a range depends on the client
2623 | capability `workspace.symbol.resolveSupport`.
2624 |
2625 | See SymbolInformation#location for more details. """
2626 | data: NotRequired["LSPAny"]
2627 | """ A data entry field that is preserved on a workspace symbol between a
2628 | workspace symbol request and a workspace symbol resolve request. """
2629 | name: str
2630 | """ The name of this symbol. """
2631 | kind: "SymbolKind"
2632 | """ The kind of this symbol. """
2633 | tags: NotRequired[list["SymbolTag"]]
2634 | """ Tags for this symbol.
2635 |
2636 | @since 3.16.0 """
2637 | containerName: NotRequired[str]
2638 | """ The name of the symbol containing this symbol. This information is for
2639 | user interface purposes (e.g. to render a qualifier in the user interface
2640 | if necessary). It can't be used to re-infer a hierarchy for the document
2641 | symbols. """
2642 |
2643 |
2644 | class WorkspaceSymbolRegistrationOptions(TypedDict):
2645 | """Registration options for a {@link WorkspaceSymbolRequest}."""
2646 |
2647 | resolveProvider: NotRequired[bool]
2648 | """ The server provides support to resolve additional
2649 | information for a workspace symbol.
2650 |
2651 | @since 3.17.0 """
2652 |
2653 |
2654 | class CodeLensParams(TypedDict):
2655 | """The parameters of a {@link CodeLensRequest}."""
2656 |
2657 | textDocument: "TextDocumentIdentifier"
2658 | """ The document to request code lens for. """
2659 | workDoneToken: NotRequired["ProgressToken"]
2660 | """ An optional token that a server can use to report work done progress. """
2661 | partialResultToken: NotRequired["ProgressToken"]
2662 | """ An optional token that a server can use to report partial results (e.g. streaming) to
2663 | the client. """
2664 |
2665 |
2666 | class CodeLens(TypedDict):
2667 | """A code lens represents a {@link Command command} that should be shown along with
2668 | source text, like the number of references, a way to run tests, etc.
2669 |
2670 | A code lens is _unresolved_ when no command is associated to it. For performance
2671 | reasons the creation of a code lens and resolving should be done in two stages.
2672 | """
2673 |
2674 | range: "Range"
2675 | """ The range in which this code lens is valid. Should only span a single line. """
2676 | command: NotRequired["Command"]
2677 | """ The command this code lens represents. """
2678 | data: NotRequired["LSPAny"]
2679 | """ A data entry field that is preserved on a code lens item between
2680 | a {@link CodeLensRequest} and a [CodeLensResolveRequest]
2681 | (#CodeLensResolveRequest) """
2682 |
2683 |
2684 | class CodeLensRegistrationOptions(TypedDict):
2685 | """Registration options for a {@link CodeLensRequest}."""
2686 |
2687 | documentSelector: Union["DocumentSelector", None]
2688 | """ A document selector to identify the scope of the registration. If set to null
2689 | the document selector provided on the client side will be used. """
2690 | resolveProvider: NotRequired[bool]
2691 | """ Code lens has a resolve provider as well. """
2692 |
2693 |
2694 | class DocumentLinkParams(TypedDict):
2695 | """The parameters of a {@link DocumentLinkRequest}."""
2696 |
2697 | textDocument: "TextDocumentIdentifier"
2698 | """ The document to provide document links for. """
2699 | workDoneToken: NotRequired["ProgressToken"]
2700 | """ An optional token that a server can use to report work done progress. """
2701 | partialResultToken: NotRequired["ProgressToken"]
2702 | """ An optional token that a server can use to report partial results (e.g. streaming) to
2703 | the client. """
2704 |
2705 |
2706 | class DocumentLink(TypedDict):
2707 | """A document link is a range in a text document that links to an internal or external resource, like another
2708 | text document or a web site.
2709 | """
2710 |
2711 | range: "Range"
2712 | """ The range this link applies to. """
2713 | target: NotRequired[str]
2714 | """ The uri this link points to. If missing a resolve request is sent later. """
2715 | tooltip: NotRequired[str]
2716 | """ The tooltip text when you hover over this link.
2717 |
2718 | If a tooltip is provided, is will be displayed in a string that includes instructions on how to
2719 | trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS,
2720 | user settings, and localization.
2721 |
2722 | @since 3.15.0 """
2723 | data: NotRequired["LSPAny"]
2724 | """ A data entry field that is preserved on a document link between a
2725 | DocumentLinkRequest and a DocumentLinkResolveRequest. """
2726 |
2727 |
2728 | class DocumentLinkRegistrationOptions(TypedDict):
2729 | """Registration options for a {@link DocumentLinkRequest}."""
2730 |
2731 | documentSelector: Union["DocumentSelector", None]
2732 | """ A document selector to identify the scope of the registration. If set to null
2733 | the document selector provided on the client side will be used. """
2734 | resolveProvider: NotRequired[bool]
2735 | """ Document links have a resolve provider as well. """
2736 |
2737 |
2738 | class DocumentFormattingParams(TypedDict):
2739 | """The parameters of a {@link DocumentFormattingRequest}."""
2740 |
2741 | textDocument: "TextDocumentIdentifier"
2742 | """ The document to format. """
2743 | options: "FormattingOptions"
2744 | """ The format options. """
2745 | workDoneToken: NotRequired["ProgressToken"]
2746 | """ An optional token that a server can use to report work done progress. """
2747 |
2748 |
2749 | class DocumentFormattingRegistrationOptions(TypedDict):
2750 | """Registration options for a {@link DocumentFormattingRequest}."""
2751 |
2752 | documentSelector: Union["DocumentSelector", None]
2753 | """ A document selector to identify the scope of the registration. If set to null
2754 | the document selector provided on the client side will be used. """
2755 |
2756 |
2757 | class DocumentRangeFormattingParams(TypedDict):
2758 | """The parameters of a {@link DocumentRangeFormattingRequest}."""
2759 |
2760 | textDocument: "TextDocumentIdentifier"
2761 | """ The document to format. """
2762 | range: "Range"
2763 | """ The range to format """
2764 | options: "FormattingOptions"
2765 | """ The format options """
2766 | workDoneToken: NotRequired["ProgressToken"]
2767 | """ An optional token that a server can use to report work done progress. """
2768 |
2769 |
2770 | class DocumentRangeFormattingRegistrationOptions(TypedDict):
2771 | """Registration options for a {@link DocumentRangeFormattingRequest}."""
2772 |
2773 | documentSelector: Union["DocumentSelector", None]
2774 | """ A document selector to identify the scope of the registration. If set to null
2775 | the document selector provided on the client side will be used. """
2776 |
2777 |
2778 | class DocumentOnTypeFormattingParams(TypedDict):
2779 | """The parameters of a {@link DocumentOnTypeFormattingRequest}."""
2780 |
2781 | textDocument: "TextDocumentIdentifier"
2782 | """ The document to format. """
2783 | position: "Position"
2784 | """ The position around which the on type formatting should happen.
2785 | This is not necessarily the exact position where the character denoted
2786 | by the property `ch` got typed. """
2787 | ch: str
2788 | """ The character that has been typed that triggered the formatting
2789 | on type request. That is not necessarily the last character that
2790 | got inserted into the document since the client could auto insert
2791 | characters as well (e.g. like automatic brace completion). """
2792 | options: "FormattingOptions"
2793 | """ The formatting options. """
2794 |
2795 |
2796 | class DocumentOnTypeFormattingRegistrationOptions(TypedDict):
2797 | """Registration options for a {@link DocumentOnTypeFormattingRequest}."""
2798 |
2799 | documentSelector: Union["DocumentSelector", None]
2800 | """ A document selector to identify the scope of the registration. If set to null
2801 | the document selector provided on the client side will be used. """
2802 | firstTriggerCharacter: str
2803 | """ A character on which formatting should be triggered, like `{`. """
2804 | moreTriggerCharacter: NotRequired[list[str]]
2805 | """ More trigger characters. """
2806 |
2807 |
2808 | class RenameParams(TypedDict):
2809 | """The parameters of a {@link RenameRequest}."""
2810 |
2811 | textDocument: "TextDocumentIdentifier"
2812 | """ The document to rename. """
2813 | position: "Position"
2814 | """ The position at which this request was sent. """
2815 | newName: str
2816 | """ The new name of the symbol. If the given name is not valid the
2817 | request must return a {@link ResponseError} with an
2818 | appropriate message set. """
2819 | workDoneToken: NotRequired["ProgressToken"]
2820 | """ An optional token that a server can use to report work done progress. """
2821 |
2822 |
2823 | class RenameRegistrationOptions(TypedDict):
2824 | """Registration options for a {@link RenameRequest}."""
2825 |
2826 | documentSelector: Union["DocumentSelector", None]
2827 | """ A document selector to identify the scope of the registration. If set to null
2828 | the document selector provided on the client side will be used. """
2829 | prepareProvider: NotRequired[bool]
2830 | """ Renames should be checked and tested before being executed.
2831 |
2832 | @since version 3.12.0 """
2833 |
2834 |
2835 | class PrepareRenameParams(TypedDict):
2836 | textDocument: "TextDocumentIdentifier"
2837 | """ The text document. """
2838 | position: "Position"
2839 | """ The position inside the text document. """
2840 | workDoneToken: NotRequired["ProgressToken"]
2841 | """ An optional token that a server can use to report work done progress. """
2842 |
2843 |
2844 | class ExecuteCommandParams(TypedDict):
2845 | """The parameters of a {@link ExecuteCommandRequest}."""
2846 |
2847 | command: str
2848 | """ The identifier of the actual command handler. """
2849 | arguments: NotRequired[list["LSPAny"]]
2850 | """ Arguments that the command should be invoked with. """
2851 | workDoneToken: NotRequired["ProgressToken"]
2852 | """ An optional token that a server can use to report work done progress. """
2853 |
2854 |
2855 | class ExecuteCommandRegistrationOptions(TypedDict):
2856 | """Registration options for a {@link ExecuteCommandRequest}."""
2857 |
2858 | commands: list[str]
2859 | """ The commands to be executed on the server """
2860 |
2861 |
2862 | class ApplyWorkspaceEditParams(TypedDict):
2863 | """The parameters passed via a apply workspace edit request."""
2864 |
2865 | label: NotRequired[str]
2866 | """ An optional label of the workspace edit. This label is
2867 | presented in the user interface for example on an undo
2868 | stack to undo the workspace edit. """
2869 | edit: "WorkspaceEdit"
2870 | """ The edits to apply. """
2871 |
2872 |
2873 | class ApplyWorkspaceEditResult(TypedDict):
2874 | """The result returned from the apply workspace edit request.
2875 |
2876 | @since 3.17 renamed from ApplyWorkspaceEditResponse
2877 | """
2878 |
2879 | applied: bool
2880 | """ Indicates whether the edit was applied or not. """
2881 | failureReason: NotRequired[str]
2882 | """ An optional textual description for why the edit was not applied.
2883 | This may be used by the server for diagnostic logging or to provide
2884 | a suitable error for a request that triggered the edit. """
2885 | failedChange: NotRequired[Uint]
2886 | """ Depending on the client's failure handling strategy `failedChange` might
2887 | contain the index of the change that failed. This property is only available
2888 | if the client signals a `failureHandlingStrategy` in its client capabilities. """
2889 |
2890 |
2891 | class WorkDoneProgressBegin(TypedDict):
2892 | kind: Literal["begin"]
2893 | title: str
2894 | """ Mandatory title of the progress operation. Used to briefly inform about
2895 | the kind of operation being performed.
2896 |
2897 | Examples: "Indexing" or "Linking dependencies". """
2898 | cancellable: NotRequired[bool]
2899 | """ Controls if a cancel button should show to allow the user to cancel the
2900 | long running operation. Clients that don't support cancellation are allowed
2901 | to ignore the setting. """
2902 | message: NotRequired[str]
2903 | """ Optional, more detailed associated progress message. Contains
2904 | complementary information to the `title`.
2905 |
2906 | Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
2907 | If unset, the previous progress message (if any) is still valid. """
2908 | percentage: NotRequired[Uint]
2909 | """ Optional progress percentage to display (value 100 is considered 100%).
2910 | If not provided infinite progress is assumed and clients are allowed
2911 | to ignore the `percentage` value in subsequent in report notifications.
2912 |
2913 | The value should be steadily rising. Clients are free to ignore values
2914 | that are not following this rule. The value range is [0, 100]. """
2915 |
2916 |
2917 | class WorkDoneProgressReport(TypedDict):
2918 | kind: Literal["report"]
2919 | cancellable: NotRequired[bool]
2920 | """ Controls enablement state of a cancel button.
2921 |
2922 | Clients that don't support cancellation or don't support controlling the button's
2923 | enablement state are allowed to ignore the property. """
2924 | message: NotRequired[str]
2925 | """ Optional, more detailed associated progress message. Contains
2926 | complementary information to the `title`.
2927 |
2928 | Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
2929 | If unset, the previous progress message (if any) is still valid. """
2930 | percentage: NotRequired[Uint]
2931 | """ Optional progress percentage to display (value 100 is considered 100%).
2932 | If not provided infinite progress is assumed and clients are allowed
2933 | to ignore the `percentage` value in subsequent in report notifications.
2934 |
2935 | The value should be steadily rising. Clients are free to ignore values
2936 | that are not following this rule. The value range is [0, 100] """
2937 |
2938 |
2939 | class WorkDoneProgressEnd(TypedDict):
2940 | kind: Literal["end"]
2941 | message: NotRequired[str]
2942 | """ Optional, a final message indicating to for example indicate the outcome
2943 | of the operation. """
2944 |
2945 |
2946 | class SetTraceParams(TypedDict):
2947 | value: "TraceValues"
2948 |
2949 |
2950 | class LogTraceParams(TypedDict):
2951 | message: str
2952 | verbose: NotRequired[str]
2953 |
2954 |
2955 | class CancelParams(TypedDict):
2956 | id: int | str
2957 | """ The request id to cancel. """
2958 |
2959 |
2960 | class ProgressParams(TypedDict):
2961 | token: "ProgressToken"
2962 | """ The progress token provided by the client or server. """
2963 | value: "LSPAny"
2964 | """ The progress data. """
2965 |
2966 |
2967 | class TextDocumentPositionParams(TypedDict):
2968 | """A parameter literal used in requests to pass a text document and a position inside that
2969 | document.
2970 | """
2971 |
2972 | textDocument: "TextDocumentIdentifier"
2973 | """ The text document. """
2974 | position: "Position"
2975 | """ The position inside the text document. """
2976 |
2977 |
2978 | class WorkDoneProgressParams(TypedDict):
2979 | workDoneToken: NotRequired["ProgressToken"]
2980 | """ An optional token that a server can use to report work done progress. """
2981 |
2982 |
2983 | class PartialResultParams(TypedDict):
2984 | partialResultToken: NotRequired["ProgressToken"]
2985 | """ An optional token that a server can use to report partial results (e.g. streaming) to
2986 | the client. """
2987 |
2988 |
2989 | class LocationLink(TypedDict):
2990 | """Represents the connection of two locations. Provides additional metadata over normal {@link Location locations},
2991 | including an origin range.
2992 | """
2993 |
2994 | originSelectionRange: NotRequired["Range"]
2995 | """ Span of the origin of this link.
2996 |
2997 | Used as the underlined span for mouse interaction. Defaults to the word range at
2998 | the definition position. """
2999 | targetUri: "DocumentUri"
3000 | """ The target resource identifier of this link. """
3001 | targetRange: "Range"
3002 | """ The full target range of this link. If the target for example is a symbol then target range is the
3003 | range enclosing this symbol not including leading/trailing whitespace but everything else
3004 | like comments. This information is typically used to highlight the range in the editor. """
3005 | targetSelectionRange: "Range"
3006 | """ The range that should be selected and revealed when this link is being followed, e.g the name of a function.
3007 | Must be contained by the `targetRange`. See also `DocumentSymbol#range` """
3008 |
3009 |
3010 | class Range(TypedDict):
3011 | """A range in a text document expressed as (zero-based) start and end positions.
3012 |
3013 | If you want to specify a range that contains a line including the line ending
3014 | character(s) then use an end position denoting the start of the next line.
3015 | For example:
3016 | ```ts
3017 | {
3018 | start: { line: 5, character: 23 }
3019 | end : { line 6, character : 0 }
3020 | }
3021 | ```
3022 | """
3023 |
3024 | start: "Position"
3025 | """ The range's start position. """
3026 | end: "Position"
3027 | """ The range's end position. """
3028 |
3029 |
3030 | class ImplementationOptions(TypedDict):
3031 | workDoneProgress: NotRequired[bool]
3032 |
3033 |
3034 | class StaticRegistrationOptions(TypedDict):
3035 | """Static registration options to be returned in the initialize
3036 | request.
3037 | """
3038 |
3039 | id: NotRequired[str]
3040 | """ The id used to register the request. The id can be used to deregister
3041 | the request again. See also Registration#id. """
3042 |
3043 |
3044 | class TypeDefinitionOptions(TypedDict):
3045 | workDoneProgress: NotRequired[bool]
3046 |
3047 |
3048 | class WorkspaceFoldersChangeEvent(TypedDict):
3049 | """The workspace folder change event."""
3050 |
3051 | added: list["WorkspaceFolder"]
3052 | """ The array of added workspace folders """
3053 | removed: list["WorkspaceFolder"]
3054 | """ The array of the removed workspace folders """
3055 |
3056 |
3057 | class ConfigurationItem(TypedDict):
3058 | scopeUri: NotRequired[str]
3059 | """ The scope to get the configuration section for. """
3060 | section: NotRequired[str]
3061 | """ The configuration section asked for. """
3062 |
3063 |
3064 | class TextDocumentIdentifier(TypedDict):
3065 | """A literal to identify a text document in the client."""
3066 |
3067 | uri: "DocumentUri"
3068 | """ The text document's uri. """
3069 |
3070 |
3071 | class Color(TypedDict):
3072 | """Represents a color in RGBA space."""
3073 |
3074 | red: float
3075 | """ The red component of this color in the range [0-1]. """
3076 | green: float
3077 | """ The green component of this color in the range [0-1]. """
3078 | blue: float
3079 | """ The blue component of this color in the range [0-1]. """
3080 | alpha: float
3081 | """ The alpha component of this color in the range [0-1]. """
3082 |
3083 |
3084 | class DocumentColorOptions(TypedDict):
3085 | workDoneProgress: NotRequired[bool]
3086 |
3087 |
3088 | class FoldingRangeOptions(TypedDict):
3089 | workDoneProgress: NotRequired[bool]
3090 |
3091 |
3092 | class DeclarationOptions(TypedDict):
3093 | workDoneProgress: NotRequired[bool]
3094 |
3095 |
3096 | class Position(TypedDict):
3097 | r"""Position in a text document expressed as zero-based line and character
3098 | offset. Prior to 3.17 the offsets were always based on a UTF-16 string
3099 | representation. So a string of the form `a𐐀b` the character offset of the
3100 | character `a` is 0, the character offset of `𐐀` is 1 and the character
3101 | offset of b is 3 since `𐐀` is represented using two code units in UTF-16.
3102 | Since 3.17 clients and servers can agree on a different string encoding
3103 | representation (e.g. UTF-8). The client announces it's supported encoding
3104 | via the client capability [`general.positionEncodings`](#clientCapabilities).
3105 | The value is an array of position encodings the client supports, with
3106 | decreasing preference (e.g. the encoding at index `0` is the most preferred
3107 | one). To stay backwards compatible the only mandatory encoding is UTF-16
3108 | represented via the string `utf-16`. The server can pick one of the
3109 | encodings offered by the client and signals that encoding back to the
3110 | client via the initialize result's property
3111 | [`capabilities.positionEncoding`](#serverCapabilities). If the string value
3112 | `utf-16` is missing from the client's capability `general.positionEncodings`
3113 | servers can safely assume that the client supports UTF-16. If the server
3114 | omits the position encoding in its initialize result the encoding defaults
3115 | to the string value `utf-16`. Implementation considerations: since the
3116 | conversion from one encoding into another requires the content of the
3117 | file / line the conversion is best done where the file is read which is
3118 | usually on the server side.
3119 |
3120 | Positions are line end character agnostic. So you can not specify a position
3121 | that denotes `\r|\n` or `\n|` where `|` represents the character offset.
3122 |
3123 | @since 3.17.0 - support for negotiated position encoding.
3124 | """
3125 |
3126 | line: Uint
3127 | """ Line position in a document (zero-based).
3128 |
3129 | 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.
3130 | If a line number is negative, it defaults to 0. """
3131 | character: Uint
3132 | """ Character offset on a line in a document (zero-based).
3133 |
3134 | The meaning of this offset is determined by the negotiated
3135 | `PositionEncodingKind`.
3136 |
3137 | If the character value is greater than the line length it defaults back to the
3138 | line length. """
3139 |
3140 |
3141 | class SelectionRangeOptions(TypedDict):
3142 | workDoneProgress: NotRequired[bool]
3143 |
3144 |
3145 | class CallHierarchyOptions(TypedDict):
3146 | """Call hierarchy options used during static registration.
3147 |
3148 | @since 3.16.0
3149 | """
3150 |
3151 | workDoneProgress: NotRequired[bool]
3152 |
3153 |
3154 | class SemanticTokensOptions(TypedDict):
3155 | """@since 3.16.0"""
3156 |
3157 | legend: "SemanticTokensLegend"
3158 | """ The legend used by the server """
3159 | range: NotRequired[bool | dict]
3160 | """ Server supports providing semantic tokens for a specific range
3161 | of a document. """
3162 | full: NotRequired[Union[bool, "__SemanticTokensOptions_full_Type_2"]]
3163 | """ Server supports providing semantic tokens for a full document. """
3164 | workDoneProgress: NotRequired[bool]
3165 |
3166 |
3167 | class SemanticTokensEdit(TypedDict):
3168 | """@since 3.16.0"""
3169 |
3170 | start: Uint
3171 | """ The start offset of the edit. """
3172 | deleteCount: Uint
3173 | """ The count of elements to remove. """
3174 | data: NotRequired[list[Uint]]
3175 | """ The elements to insert. """
3176 |
3177 |
3178 | class LinkedEditingRangeOptions(TypedDict):
3179 | workDoneProgress: NotRequired[bool]
3180 |
3181 |
3182 | class FileCreate(TypedDict):
3183 | """Represents information on a file/folder create.
3184 |
3185 | @since 3.16.0
3186 | """
3187 |
3188 | uri: str
3189 | """ A file:// URI for the location of the file/folder being created. """
3190 |
3191 |
3192 | class TextDocumentEdit(TypedDict):
3193 | """Describes textual changes on a text document. A TextDocumentEdit describes all changes
3194 | on a document version Si and after they are applied move the document to version Si+1.
3195 | So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any
3196 | kind of ordering. However the edits must be non overlapping.
3197 | """
3198 |
3199 | textDocument: "OptionalVersionedTextDocumentIdentifier"
3200 | """ The text document to change. """
3201 | edits: list[Union["TextEdit", "AnnotatedTextEdit"]]
3202 | """ The edits to be applied.
3203 |
3204 | @since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a
3205 | client capability. """
3206 |
3207 |
3208 | class CreateFile(TypedDict):
3209 | """Create file operation."""
3210 |
3211 | kind: Literal["create"]
3212 | """ A create """
3213 | uri: "DocumentUri"
3214 | """ The resource to create. """
3215 | options: NotRequired["CreateFileOptions"]
3216 | """ Additional options """
3217 | annotationId: NotRequired["ChangeAnnotationIdentifier"]
3218 | """ An optional annotation identifier describing the operation.
3219 |
3220 | @since 3.16.0 """
3221 |
3222 |
3223 | class RenameFile(TypedDict):
3224 | """Rename file operation"""
3225 |
3226 | kind: Literal["rename"]
3227 | """ A rename """
3228 | oldUri: "DocumentUri"
3229 | """ The old (existing) location. """
3230 | newUri: "DocumentUri"
3231 | """ The new location. """
3232 | options: NotRequired["RenameFileOptions"]
3233 | """ Rename options. """
3234 | annotationId: NotRequired["ChangeAnnotationIdentifier"]
3235 | """ An optional annotation identifier describing the operation.
3236 |
3237 | @since 3.16.0 """
3238 |
3239 |
3240 | class DeleteFile(TypedDict):
3241 | """Delete file operation"""
3242 |
3243 | kind: Literal["delete"]
3244 | """ A delete """
3245 | uri: "DocumentUri"
3246 | """ The file to delete. """
3247 | options: NotRequired["DeleteFileOptions"]
3248 | """ Delete options. """
3249 | annotationId: NotRequired["ChangeAnnotationIdentifier"]
3250 | """ An optional annotation identifier describing the operation.
3251 |
3252 | @since 3.16.0 """
3253 |
3254 |
3255 | class ChangeAnnotation(TypedDict):
3256 | """Additional information that describes document changes.
3257 |
3258 | @since 3.16.0
3259 | """
3260 |
3261 | label: str
3262 | """ A human-readable string describing the actual change. The string
3263 | is rendered prominent in the user interface. """
3264 | needsConfirmation: NotRequired[bool]
3265 | """ A flag which indicates that user confirmation is needed
3266 | before applying the change. """
3267 | description: NotRequired[str]
3268 | """ A human-readable string which is rendered less prominent in
3269 | the user interface. """
3270 |
3271 |
3272 | class FileOperationFilter(TypedDict):
3273 | """A filter to describe in which file operation requests or notifications
3274 | the server is interested in receiving.
3275 |
3276 | @since 3.16.0
3277 | """
3278 |
3279 | scheme: NotRequired[str]
3280 | """ A Uri scheme like `file` or `untitled`. """
3281 | pattern: "FileOperationPattern"
3282 | """ The actual file operation pattern. """
3283 |
3284 |
3285 | class FileRename(TypedDict):
3286 | """Represents information on a file/folder rename.
3287 |
3288 | @since 3.16.0
3289 | """
3290 |
3291 | oldUri: str
3292 | """ A file:// URI for the original location of the file/folder being renamed. """
3293 | newUri: str
3294 | """ A file:// URI for the new location of the file/folder being renamed. """
3295 |
3296 |
3297 | class FileDelete(TypedDict):
3298 | """Represents information on a file/folder delete.
3299 |
3300 | @since 3.16.0
3301 | """
3302 |
3303 | uri: str
3304 | """ A file:// URI for the location of the file/folder being deleted. """
3305 |
3306 |
3307 | class MonikerOptions(TypedDict):
3308 | workDoneProgress: NotRequired[bool]
3309 |
3310 |
3311 | class TypeHierarchyOptions(TypedDict):
3312 | """Type hierarchy options used during static registration.
3313 |
3314 | @since 3.17.0
3315 | """
3316 |
3317 | workDoneProgress: NotRequired[bool]
3318 |
3319 |
3320 | class InlineValueContext(TypedDict):
3321 | """@since 3.17.0"""
3322 |
3323 | frameId: int
3324 | """ The stack frame (as a DAP Id) where the execution has stopped. """
3325 | stoppedLocation: "Range"
3326 | """ The document range where execution has stopped.
3327 | Typically the end position of the range denotes the line where the inline values are shown. """
3328 |
3329 |
3330 | class InlineValueText(TypedDict):
3331 | """Provide inline value as text.
3332 |
3333 | @since 3.17.0
3334 | """
3335 |
3336 | range: "Range"
3337 | """ The document range for which the inline value applies. """
3338 | text: str
3339 | """ The text of the inline value. """
3340 |
3341 |
3342 | class InlineValueVariableLookup(TypedDict):
3343 | """Provide inline value through a variable lookup.
3344 | If only a range is specified, the variable name will be extracted from the underlying document.
3345 | An optional variable name can be used to override the extracted name.
3346 |
3347 | @since 3.17.0
3348 | """
3349 |
3350 | range: "Range"
3351 | """ The document range for which the inline value applies.
3352 | The range is used to extract the variable name from the underlying document. """
3353 | variableName: NotRequired[str]
3354 | """ If specified the name of the variable to look up. """
3355 | caseSensitiveLookup: bool
3356 | """ How to perform the lookup. """
3357 |
3358 |
3359 | class InlineValueEvaluatableExpression(TypedDict):
3360 | """Provide an inline value through an expression evaluation.
3361 | If only a range is specified, the expression will be extracted from the underlying document.
3362 | An optional expression can be used to override the extracted expression.
3363 |
3364 | @since 3.17.0
3365 | """
3366 |
3367 | range: "Range"
3368 | """ The document range for which the inline value applies.
3369 | The range is used to extract the evaluatable expression from the underlying document. """
3370 | expression: NotRequired[str]
3371 | """ If specified the expression overrides the extracted expression. """
3372 |
3373 |
3374 | class InlineValueOptions(TypedDict):
3375 | """Inline value options used during static registration.
3376 |
3377 | @since 3.17.0
3378 | """
3379 |
3380 | workDoneProgress: NotRequired[bool]
3381 |
3382 |
3383 | class InlayHintLabelPart(TypedDict):
3384 | """An inlay hint label part allows for interactive and composite labels
3385 | of inlay hints.
3386 |
3387 | @since 3.17.0
3388 | """
3389 |
3390 | value: str
3391 | """ The value of this label part. """
3392 | tooltip: NotRequired[Union[str, "MarkupContent"]]
3393 | """ The tooltip text when you hover over this label part. Depending on
3394 | the client capability `inlayHint.resolveSupport` clients might resolve
3395 | this property late using the resolve request. """
3396 | location: NotRequired["Location"]
3397 | """ An optional source code location that represents this
3398 | label part.
3399 |
3400 | The editor will use this location for the hover and for code navigation
3401 | features: This part will become a clickable link that resolves to the
3402 | definition of the symbol at the given location (not necessarily the
3403 | location itself), it shows the hover that shows at the given location,
3404 | and it shows a context menu with further code navigation commands.
3405 |
3406 | Depending on the client capability `inlayHint.resolveSupport` clients
3407 | might resolve this property late using the resolve request. """
3408 | command: NotRequired["Command"]
3409 | """ An optional command for this label part.
3410 |
3411 | Depending on the client capability `inlayHint.resolveSupport` clients
3412 | might resolve this property late using the resolve request. """
3413 |
3414 |
3415 | class MarkupContent(TypedDict):
3416 | r"""A `MarkupContent` literal represents a string value which content is interpreted base on its
3417 | kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds.
3418 |
3419 | If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues.
3420 | See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
3421 |
3422 | Here is an example how such a string can be constructed using JavaScript / TypeScript:
3423 | ```ts
3424 | let markdown: MarkdownContent = {
3425 | kind: MarkupKind.Markdown,
3426 | value: [
3427 | '# Header',
3428 | 'Some text',
3429 | '```typescript',
3430 | 'someCode();',
3431 | '```'
3432 | ].join('\n')
3433 | };
3434 | ```
3435 |
3436 | *Please Note* that clients might sanitize the return markdown. A client could decide to
3437 | remove HTML from the markdown to avoid script execution.
3438 | """
3439 |
3440 | kind: "MarkupKind"
3441 | """ The type of the Markup """
3442 | value: str
3443 | """ The content itself """
3444 |
3445 |
3446 | class InlayHintOptions(TypedDict):
3447 | """Inlay hint options used during static registration.
3448 |
3449 | @since 3.17.0
3450 | """
3451 |
3452 | resolveProvider: NotRequired[bool]
3453 | """ The server provides support to resolve additional
3454 | information for an inlay hint item. """
3455 | workDoneProgress: NotRequired[bool]
3456 |
3457 |
3458 | class RelatedFullDocumentDiagnosticReport(TypedDict):
3459 | """A full diagnostic report with a set of related documents.
3460 |
3461 | @since 3.17.0
3462 | """
3463 |
3464 | relatedDocuments: NotRequired[
3465 | dict[
3466 | "DocumentUri",
3467 | Union["FullDocumentDiagnosticReport", "UnchangedDocumentDiagnosticReport"],
3468 | ]
3469 | ]
3470 | """ Diagnostics of related documents. This information is useful
3471 | in programming languages where code in a file A can generate
3472 | diagnostics in a file B which A depends on. An example of
3473 | such a language is C/C++ where marco definitions in a file
3474 | a.cpp and result in errors in a header file b.hpp.
3475 |
3476 | @since 3.17.0 """
3477 | kind: Literal["full"]
3478 | """ A full document diagnostic report. """
3479 | resultId: NotRequired[str]
3480 | """ An optional result id. If provided it will
3481 | be sent on the next diagnostic request for the
3482 | same document. """
3483 | items: list["Diagnostic"]
3484 | """ The actual items. """
3485 |
3486 |
3487 | class RelatedUnchangedDocumentDiagnosticReport(TypedDict):
3488 | """An unchanged diagnostic report with a set of related documents.
3489 |
3490 | @since 3.17.0
3491 | """
3492 |
3493 | relatedDocuments: NotRequired[
3494 | dict[
3495 | "DocumentUri",
3496 | Union["FullDocumentDiagnosticReport", "UnchangedDocumentDiagnosticReport"],
3497 | ]
3498 | ]
3499 | """ Diagnostics of related documents. This information is useful
3500 | in programming languages where code in a file A can generate
3501 | diagnostics in a file B which A depends on. An example of
3502 | such a language is C/C++ where marco definitions in a file
3503 | a.cpp and result in errors in a header file b.hpp.
3504 |
3505 | @since 3.17.0 """
3506 | kind: Literal["unchanged"]
3507 | """ A document diagnostic report indicating
3508 | no changes to the last result. A server can
3509 | only return `unchanged` if result ids are
3510 | provided. """
3511 | resultId: str
3512 | """ A result id which will be sent on the next
3513 | diagnostic request for the same document. """
3514 |
3515 |
3516 | class FullDocumentDiagnosticReport(TypedDict):
3517 | """A diagnostic report with a full set of problems.
3518 |
3519 | @since 3.17.0
3520 | """
3521 |
3522 | kind: Literal["full"]
3523 | """ A full document diagnostic report. """
3524 | resultId: NotRequired[str]
3525 | """ An optional result id. If provided it will
3526 | be sent on the next diagnostic request for the
3527 | same document. """
3528 | items: list["Diagnostic"]
3529 | """ The actual items. """
3530 |
3531 |
3532 | class UnchangedDocumentDiagnosticReport(TypedDict):
3533 | """A diagnostic report indicating that the last returned
3534 | report is still accurate.
3535 |
3536 | @since 3.17.0
3537 | """
3538 |
3539 | kind: Literal["unchanged"]
3540 | """ A document diagnostic report indicating
3541 | no changes to the last result. A server can
3542 | only return `unchanged` if result ids are
3543 | provided. """
3544 | resultId: str
3545 | """ A result id which will be sent on the next
3546 | diagnostic request for the same document. """
3547 |
3548 |
3549 | class DiagnosticOptions(TypedDict):
3550 | """Diagnostic options.
3551 |
3552 | @since 3.17.0
3553 | """
3554 |
3555 | identifier: NotRequired[str]
3556 | """ An optional identifier under which the diagnostics are
3557 | managed by the client. """
3558 | interFileDependencies: bool
3559 | """ Whether the language has inter file dependencies meaning that
3560 | editing code in one file can result in a different diagnostic
3561 | set in another file. Inter file dependencies are common for
3562 | most programming languages and typically uncommon for linters. """
3563 | workspaceDiagnostics: bool
3564 | """ The server provides support for workspace diagnostics as well. """
3565 | workDoneProgress: NotRequired[bool]
3566 |
3567 |
3568 | class PreviousResultId(TypedDict):
3569 | """A previous result id in a workspace pull request.
3570 |
3571 | @since 3.17.0
3572 | """
3573 |
3574 | uri: "DocumentUri"
3575 | """ The URI for which the client knowns a
3576 | result id. """
3577 | value: str
3578 | """ The value of the previous result id. """
3579 |
3580 |
3581 | class NotebookDocument(TypedDict):
3582 | """A notebook document.
3583 |
3584 | @since 3.17.0
3585 | """
3586 |
3587 | uri: "URI"
3588 | """ The notebook document's uri. """
3589 | notebookType: str
3590 | """ The type of the notebook. """
3591 | version: int
3592 | """ The version number of this document (it will increase after each
3593 | change, including undo/redo). """
3594 | metadata: NotRequired["LSPObject"]
3595 | """ Additional metadata stored with the notebook
3596 | document.
3597 |
3598 | Note: should always be an object literal (e.g. LSPObject) """
3599 | cells: list["NotebookCell"]
3600 | """ The cells of a notebook. """
3601 |
3602 |
3603 | class TextDocumentItem(TypedDict):
3604 | """An item to transfer a text document from the client to the
3605 | server.
3606 | """
3607 |
3608 | uri: "DocumentUri"
3609 | """ The text document's uri. """
3610 | languageId: str
3611 | """ The text document's language identifier. """
3612 | version: int
3613 | """ The version number of this document (it will increase after each
3614 | change, including undo/redo). """
3615 | text: str
3616 | """ The content of the opened text document. """
3617 |
3618 |
3619 | class VersionedNotebookDocumentIdentifier(TypedDict):
3620 | """A versioned notebook document identifier.
3621 |
3622 | @since 3.17.0
3623 | """
3624 |
3625 | version: int
3626 | """ The version number of this notebook document. """
3627 | uri: "URI"
3628 | """ The notebook document's uri. """
3629 |
3630 |
3631 | class NotebookDocumentChangeEvent(TypedDict):
3632 | """A change event for a notebook document.
3633 |
3634 | @since 3.17.0
3635 | """
3636 |
3637 | metadata: NotRequired["LSPObject"]
3638 | """ The changed meta data if any.
3639 |
3640 | Note: should always be an object literal (e.g. LSPObject) """
3641 | cells: NotRequired["__NotebookDocumentChangeEvent_cells_Type_1"]
3642 | """ Changes to cells """
3643 |
3644 |
3645 | class NotebookDocumentIdentifier(TypedDict):
3646 | """A literal to identify a notebook document in the client.
3647 |
3648 | @since 3.17.0
3649 | """
3650 |
3651 | uri: "URI"
3652 | """ The notebook document's uri. """
3653 |
3654 |
3655 | class Registration(TypedDict):
3656 | """General parameters to to register for an notification or to register a provider."""
3657 |
3658 | id: str
3659 | """ The id used to register the request. The id can be used to deregister
3660 | the request again. """
3661 | method: str
3662 | """ The method / capability to register for. """
3663 | registerOptions: NotRequired["LSPAny"]
3664 | """ Options necessary for the registration. """
3665 |
3666 |
3667 | class Unregistration(TypedDict):
3668 | """General parameters to unregister a request or notification."""
3669 |
3670 | id: str
3671 | """ The id used to unregister the request or notification. Usually an id
3672 | provided during the register request. """
3673 | method: str
3674 | """ The method to unregister for. """
3675 |
3676 |
3677 | class WorkspaceFoldersInitializeParams(TypedDict):
3678 | workspaceFolders: NotRequired[list["WorkspaceFolder"] | None]
3679 | """ The workspace folders configured in the client when the server starts.
3680 |
3681 | This property is only available if the client supports workspace folders.
3682 | It can be `null` if the client supports workspace folders but none are
3683 | configured.
3684 |
3685 | @since 3.6.0 """
3686 |
3687 |
3688 | class ServerCapabilities(TypedDict):
3689 | """Defines the capabilities provided by a language
3690 | server.
3691 | """
3692 |
3693 | positionEncoding: NotRequired["PositionEncodingKind"]
3694 | """ The position encoding the server picked from the encodings offered
3695 | by the client via the client capability `general.positionEncodings`.
3696 |
3697 | If the client didn't provide any position encodings the only valid
3698 | value that a server can return is 'utf-16'.
3699 |
3700 | If omitted it defaults to 'utf-16'.
3701 |
3702 | @since 3.17.0 """
3703 | textDocumentSync: NotRequired[Union["TextDocumentSyncOptions", "TextDocumentSyncKind"]]
3704 | """ Defines how text documents are synced. Is either a detailed structure
3705 | defining each notification or for backwards compatibility the
3706 | TextDocumentSyncKind number. """
3707 | notebookDocumentSync: NotRequired[Union["NotebookDocumentSyncOptions", "NotebookDocumentSyncRegistrationOptions"]]
3708 | """ Defines how notebook documents are synced.
3709 |
3710 | @since 3.17.0 """
3711 | completionProvider: NotRequired["CompletionOptions"]
3712 | """ The server provides completion support. """
3713 | hoverProvider: NotRequired[Union[bool, "HoverOptions"]]
3714 | """ The server provides hover support. """
3715 | signatureHelpProvider: NotRequired["SignatureHelpOptions"]
3716 | """ The server provides signature help support. """
3717 | declarationProvider: NotRequired[Union[bool, "DeclarationOptions", "DeclarationRegistrationOptions"]]
3718 | """ The server provides Goto Declaration support. """
3719 | definitionProvider: NotRequired[Union[bool, "DefinitionOptions"]]
3720 | """ The server provides goto definition support. """
3721 | typeDefinitionProvider: NotRequired[Union[bool, "TypeDefinitionOptions", "TypeDefinitionRegistrationOptions"]]
3722 | """ The server provides Goto Type Definition support. """
3723 | implementationProvider: NotRequired[Union[bool, "ImplementationOptions", "ImplementationRegistrationOptions"]]
3724 | """ The server provides Goto Implementation support. """
3725 | referencesProvider: NotRequired[Union[bool, "ReferenceOptions"]]
3726 | """ The server provides find references support. """
3727 | documentHighlightProvider: NotRequired[Union[bool, "DocumentHighlightOptions"]]
3728 | """ The server provides document highlight support. """
3729 | documentSymbolProvider: NotRequired[Union[bool, "DocumentSymbolOptions"]]
3730 | """ The server provides document symbol support. """
3731 | codeActionProvider: NotRequired[Union[bool, "CodeActionOptions"]]
3732 | """ The server provides code actions. CodeActionOptions may only be
3733 | specified if the client states that it supports
3734 | `codeActionLiteralSupport` in its initial `initialize` request. """
3735 | codeLensProvider: NotRequired["CodeLensOptions"]
3736 | """ The server provides code lens. """
3737 | documentLinkProvider: NotRequired["DocumentLinkOptions"]
3738 | """ The server provides document link support. """
3739 | colorProvider: NotRequired[Union[bool, "DocumentColorOptions", "DocumentColorRegistrationOptions"]]
3740 | """ The server provides color provider support. """
3741 | workspaceSymbolProvider: NotRequired[Union[bool, "WorkspaceSymbolOptions"]]
3742 | """ The server provides workspace symbol support. """
3743 | documentFormattingProvider: NotRequired[Union[bool, "DocumentFormattingOptions"]]
3744 | """ The server provides document formatting. """
3745 | documentRangeFormattingProvider: NotRequired[Union[bool, "DocumentRangeFormattingOptions"]]
3746 | """ The server provides document range formatting. """
3747 | documentOnTypeFormattingProvider: NotRequired["DocumentOnTypeFormattingOptions"]
3748 | """ The server provides document formatting on typing. """
3749 | renameProvider: NotRequired[Union[bool, "RenameOptions"]]
3750 | """ The server provides rename support. RenameOptions may only be
3751 | specified if the client states that it supports
3752 | `prepareSupport` in its initial `initialize` request. """
3753 | foldingRangeProvider: NotRequired[Union[bool, "FoldingRangeOptions", "FoldingRangeRegistrationOptions"]]
3754 | """ The server provides folding provider support. """
3755 | selectionRangeProvider: NotRequired[Union[bool, "SelectionRangeOptions", "SelectionRangeRegistrationOptions"]]
3756 | """ The server provides selection range support. """
3757 | executeCommandProvider: NotRequired["ExecuteCommandOptions"]
3758 | """ The server provides execute command support. """
3759 | callHierarchyProvider: NotRequired[Union[bool, "CallHierarchyOptions", "CallHierarchyRegistrationOptions"]]
3760 | """ The server provides call hierarchy support.
3761 |
3762 | @since 3.16.0 """
3763 | linkedEditingRangeProvider: NotRequired[Union[bool, "LinkedEditingRangeOptions", "LinkedEditingRangeRegistrationOptions"]]
3764 | """ The server provides linked editing range support.
3765 |
3766 | @since 3.16.0 """
3767 | semanticTokensProvider: NotRequired[Union["SemanticTokensOptions", "SemanticTokensRegistrationOptions"]]
3768 | """ The server provides semantic tokens support.
3769 |
3770 | @since 3.16.0 """
3771 | monikerProvider: NotRequired[Union[bool, "MonikerOptions", "MonikerRegistrationOptions"]]
3772 | """ The server provides moniker support.
3773 |
3774 | @since 3.16.0 """
3775 | typeHierarchyProvider: NotRequired[Union[bool, "TypeHierarchyOptions", "TypeHierarchyRegistrationOptions"]]
3776 | """ The server provides type hierarchy support.
3777 |
3778 | @since 3.17.0 """
3779 | inlineValueProvider: NotRequired[Union[bool, "InlineValueOptions", "InlineValueRegistrationOptions"]]
3780 | """ The server provides inline values.
3781 |
3782 | @since 3.17.0 """
3783 | inlayHintProvider: NotRequired[Union[bool, "InlayHintOptions", "InlayHintRegistrationOptions"]]
3784 | """ The server provides inlay hints.
3785 |
3786 | @since 3.17.0 """
3787 | diagnosticProvider: NotRequired[Union["DiagnosticOptions", "DiagnosticRegistrationOptions"]]
3788 | """ The server has support for pull model diagnostics.
3789 |
3790 | @since 3.17.0 """
3791 | workspace: NotRequired["__ServerCapabilities_workspace_Type_1"]
3792 | """ Workspace specific server capabilities. """
3793 | experimental: NotRequired["LSPAny"]
3794 | """ Experimental server capabilities. """
3795 |
3796 |
3797 | class VersionedTextDocumentIdentifier(TypedDict):
3798 | """A text document identifier to denote a specific version of a text document."""
3799 |
3800 | version: int
3801 | """ The version number of this document. """
3802 | uri: "DocumentUri"
3803 | """ The text document's uri. """
3804 |
3805 |
3806 | class SaveOptions(TypedDict):
3807 | """Save options."""
3808 |
3809 | includeText: NotRequired[bool]
3810 | """ The client is supposed to include the content on save. """
3811 |
3812 |
3813 | class FileEvent(TypedDict):
3814 | """An event describing a file change."""
3815 |
3816 | uri: "DocumentUri"
3817 | """ The file's uri. """
3818 | type: "FileChangeType"
3819 | """ The change type. """
3820 |
3821 |
3822 | class FileSystemWatcher(TypedDict):
3823 | globPattern: "GlobPattern"
3824 | """ The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
3825 |
3826 | @since 3.17.0 support for relative patterns. """
3827 | kind: NotRequired["WatchKind"]
3828 | """ The kind of events of interest. If omitted it defaults
3829 | to WatchKind.Create | WatchKind.Change | WatchKind.Delete
3830 | which is 7. """
3831 |
3832 |
3833 | class Diagnostic(TypedDict):
3834 | """Represents a diagnostic, such as a compiler error or warning. Diagnostic objects
3835 | are only valid in the scope of a resource.
3836 | """
3837 |
3838 | range: "Range"
3839 | """ The range at which the message applies """
3840 | severity: NotRequired["DiagnosticSeverity"]
3841 | """ The diagnostic's severity. Can be omitted. If omitted it is up to the
3842 | client to interpret diagnostics as error, warning, info or hint. """
3843 | code: NotRequired[int | str]
3844 | """ The diagnostic's code, which usually appear in the user interface. """
3845 | codeDescription: NotRequired["CodeDescription"]
3846 | """ An optional property to describe the error code.
3847 | Requires the code field (above) to be present/not null.
3848 |
3849 | @since 3.16.0 """
3850 | source: NotRequired[str]
3851 | """ A human-readable string describing the source of this
3852 | diagnostic, e.g. 'typescript' or 'super lint'. It usually
3853 | appears in the user interface. """
3854 | message: str
3855 | """ The diagnostic's message. It usually appears in the user interface """
3856 | tags: NotRequired[list["DiagnosticTag"]]
3857 | """ Additional metadata about the diagnostic.
3858 |
3859 | @since 3.15.0 """
3860 | relatedInformation: NotRequired[list["DiagnosticRelatedInformation"]]
3861 | """ An array of related diagnostic information, e.g. when symbol-names within
3862 | a scope collide all definitions can be marked via this property. """
3863 | data: NotRequired["LSPAny"]
3864 | """ A data entry field that is preserved between a `textDocument/publishDiagnostics`
3865 | notification and `textDocument/codeAction` request.
3866 |
3867 | @since 3.16.0 """
3868 |
3869 |
3870 | class CompletionContext(TypedDict):
3871 | """Contains additional information about the context in which a completion request is triggered."""
3872 |
3873 | triggerKind: "CompletionTriggerKind"
3874 | """ How the completion was triggered. """
3875 | triggerCharacter: NotRequired[str]
3876 | """ The trigger character (a single character) that has trigger code complete.
3877 | Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter` """
3878 |
3879 |
3880 | class CompletionItemLabelDetails(TypedDict):
3881 | """Additional details for a completion item label.
3882 |
3883 | @since 3.17.0
3884 | """
3885 |
3886 | detail: NotRequired[str]
3887 | """ An optional string which is rendered less prominently directly after {@link CompletionItem.label label},
3888 | without any spacing. Should be used for function signatures and type annotations. """
3889 | description: NotRequired[str]
3890 | """ An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used
3891 | for fully qualified names and file paths. """
3892 |
3893 |
3894 | class InsertReplaceEdit(TypedDict):
3895 | """A special text edit to provide an insert and a replace operation.
3896 |
3897 | @since 3.16.0
3898 | """
3899 |
3900 | newText: str
3901 | """ The string to be inserted. """
3902 | insert: "Range"
3903 | """ The range if the insert is requested """
3904 | replace: "Range"
3905 | """ The range if the replace is requested. """
3906 |
3907 |
3908 | class CompletionOptions(TypedDict):
3909 | """Completion options."""
3910 |
3911 | triggerCharacters: NotRequired[list[str]]
3912 | """ Most tools trigger completion request automatically without explicitly requesting
3913 | it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
3914 | starts to type an identifier. For example if the user types `c` in a JavaScript file
3915 | code complete will automatically pop up present `console` besides others as a
3916 | completion item. Characters that make up identifiers don't need to be listed here.
3917 |
3918 | If code complete should automatically be trigger on characters not being valid inside
3919 | an identifier (for example `.` in JavaScript) list them in `triggerCharacters`. """
3920 | allCommitCharacters: NotRequired[list[str]]
3921 | """ The list of all possible characters that commit a completion. This field can be used
3922 | if clients don't support individual commit characters per completion item. See
3923 | `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
3924 |
3925 | If a server provides both `allCommitCharacters` and commit characters on an individual
3926 | completion item the ones on the completion item win.
3927 |
3928 | @since 3.2.0 """
3929 | resolveProvider: NotRequired[bool]
3930 | """ The server provides support to resolve additional
3931 | information for a completion item. """
3932 | completionItem: NotRequired["__CompletionOptions_completionItem_Type_2"]
3933 | """ The server supports the following `CompletionItem` specific
3934 | capabilities.
3935 |
3936 | @since 3.17.0 """
3937 | workDoneProgress: NotRequired[bool]
3938 |
3939 |
3940 | class HoverOptions(TypedDict):
3941 | """Hover options."""
3942 |
3943 | workDoneProgress: NotRequired[bool]
3944 |
3945 |
3946 | class SignatureHelpContext(TypedDict):
3947 | """Additional information about the context in which a signature help request was triggered.
3948 |
3949 | @since 3.15.0
3950 | """
3951 |
3952 | triggerKind: "SignatureHelpTriggerKind"
3953 | """ Action that caused signature help to be triggered. """
3954 | triggerCharacter: NotRequired[str]
3955 | """ Character that caused signature help to be triggered.
3956 |
3957 | This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter` """
3958 | isRetrigger: bool
3959 | """ `true` if signature help was already showing when it was triggered.
3960 |
3961 | Retriggers occurs when the signature help is already active and can be caused by actions such as
3962 | typing a trigger character, a cursor move, or document content changes. """
3963 | activeSignatureHelp: NotRequired["SignatureHelp"]
3964 | """ The currently active `SignatureHelp`.
3965 |
3966 | The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
3967 | the user navigating through available signatures. """
3968 |
3969 |
3970 | class SignatureInformation(TypedDict):
3971 | """Represents the signature of something callable. A signature
3972 | can have a label, like a function-name, a doc-comment, and
3973 | a set of parameters.
3974 | """
3975 |
3976 | label: str
3977 | """ The label of this signature. Will be shown in
3978 | the UI. """
3979 | documentation: NotRequired[Union[str, "MarkupContent"]]
3980 | """ The human-readable doc-comment of this signature. Will be shown
3981 | in the UI but can be omitted. """
3982 | parameters: NotRequired[list["ParameterInformation"]]
3983 | """ The parameters of this signature. """
3984 | activeParameter: NotRequired[Uint]
3985 | """ The index of the active parameter.
3986 |
3987 | If provided, this is used in place of `SignatureHelp.activeParameter`.
3988 |
3989 | @since 3.16.0 """
3990 |
3991 |
3992 | class SignatureHelpOptions(TypedDict):
3993 | """Server Capabilities for a {@link SignatureHelpRequest}."""
3994 |
3995 | triggerCharacters: NotRequired[list[str]]
3996 | """ List of characters that trigger signature help automatically. """
3997 | retriggerCharacters: NotRequired[list[str]]
3998 | """ List of characters that re-trigger signature help.
3999 |
4000 | These trigger characters are only active when signature help is already showing. All trigger characters
4001 | are also counted as re-trigger characters.
4002 |
4003 | @since 3.15.0 """
4004 | workDoneProgress: NotRequired[bool]
4005 |
4006 |
4007 | class DefinitionOptions(TypedDict):
4008 | """Server Capabilities for a {@link DefinitionRequest}."""
4009 |
4010 | workDoneProgress: NotRequired[bool]
4011 |
4012 |
4013 | class ReferenceContext(TypedDict):
4014 | """Value-object that contains additional information when
4015 | requesting references.
4016 | """
4017 |
4018 | includeDeclaration: bool
4019 | """ Include the declaration of the current symbol. """
4020 |
4021 |
4022 | class ReferenceOptions(TypedDict):
4023 | """Reference options."""
4024 |
4025 | workDoneProgress: NotRequired[bool]
4026 |
4027 |
4028 | class DocumentHighlightOptions(TypedDict):
4029 | """Provider options for a {@link DocumentHighlightRequest}."""
4030 |
4031 | workDoneProgress: NotRequired[bool]
4032 |
4033 |
4034 | class BaseSymbolInformation(TypedDict):
4035 | """A base for all symbol information."""
4036 |
4037 | name: str
4038 | """ The name of this symbol. """
4039 | kind: "SymbolKind"
4040 | """ The kind of this symbol. """
4041 | tags: NotRequired[list["SymbolTag"]]
4042 | """ Tags for this symbol.
4043 |
4044 | @since 3.16.0 """
4045 | containerName: NotRequired[str]
4046 | """ The name of the symbol containing this symbol. This information is for
4047 | user interface purposes (e.g. to render a qualifier in the user interface
4048 | if necessary). It can't be used to re-infer a hierarchy for the document
4049 | symbols. """
4050 |
4051 |
4052 | class DocumentSymbolOptions(TypedDict):
4053 | """Provider options for a {@link DocumentSymbolRequest}."""
4054 |
4055 | label: NotRequired[str]
4056 | """ A human-readable string that is shown when multiple outlines trees
4057 | are shown for the same document.
4058 |
4059 | @since 3.16.0 """
4060 | workDoneProgress: NotRequired[bool]
4061 |
4062 |
4063 | class CodeActionContext(TypedDict):
4064 | """Contains additional diagnostic information about the context in which
4065 | a {@link CodeActionProvider.provideCodeActions code action} is run.
4066 | """
4067 |
4068 | diagnostics: list["Diagnostic"]
4069 | """ An array of diagnostics known on the client side overlapping the range provided to the
4070 | `textDocument/codeAction` request. They are provided so that the server knows which
4071 | errors are currently presented to the user for the given range. There is no guarantee
4072 | that these accurately reflect the error state of the resource. The primary parameter
4073 | to compute code actions is the provided range. """
4074 | only: NotRequired[list["CodeActionKind"]]
4075 | """ Requested kind of actions to return.
4076 |
4077 | Actions not of this kind are filtered out by the client before being shown. So servers
4078 | can omit computing them. """
4079 | triggerKind: NotRequired["CodeActionTriggerKind"]
4080 | """ The reason why code actions were requested.
4081 |
4082 | @since 3.17.0 """
4083 |
4084 |
4085 | class CodeActionOptions(TypedDict):
4086 | """Provider options for a {@link CodeActionRequest}."""
4087 |
4088 | codeActionKinds: NotRequired[list["CodeActionKind"]]
4089 | """ CodeActionKinds that this server may return.
4090 |
4091 | The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
4092 | may list out every specific kind they provide. """
4093 | resolveProvider: NotRequired[bool]
4094 | """ The server provides support to resolve additional
4095 | information for a code action.
4096 |
4097 | @since 3.16.0 """
4098 | workDoneProgress: NotRequired[bool]
4099 |
4100 |
4101 | class WorkspaceSymbolOptions(TypedDict):
4102 | """Server capabilities for a {@link WorkspaceSymbolRequest}."""
4103 |
4104 | resolveProvider: NotRequired[bool]
4105 | """ The server provides support to resolve additional
4106 | information for a workspace symbol.
4107 |
4108 | @since 3.17.0 """
4109 | workDoneProgress: NotRequired[bool]
4110 |
4111 |
4112 | class CodeLensOptions(TypedDict):
4113 | """Code Lens provider options of a {@link CodeLensRequest}."""
4114 |
4115 | resolveProvider: NotRequired[bool]
4116 | """ Code lens has a resolve provider as well. """
4117 | workDoneProgress: NotRequired[bool]
4118 |
4119 |
4120 | class DocumentLinkOptions(TypedDict):
4121 | """Provider options for a {@link DocumentLinkRequest}."""
4122 |
4123 | resolveProvider: NotRequired[bool]
4124 | """ Document links have a resolve provider as well. """
4125 | workDoneProgress: NotRequired[bool]
4126 |
4127 |
4128 | class FormattingOptions(TypedDict):
4129 | """Value-object describing what options formatting should use."""
4130 |
4131 | tabSize: Uint
4132 | """ Size of a tab in spaces. """
4133 | insertSpaces: bool
4134 | """ Prefer spaces over tabs. """
4135 | trimTrailingWhitespace: NotRequired[bool]
4136 | """ Trim trailing whitespace on a line.
4137 |
4138 | @since 3.15.0 """
4139 | insertFinalNewline: NotRequired[bool]
4140 | """ Insert a newline character at the end of the file if one does not exist.
4141 |
4142 | @since 3.15.0 """
4143 | trimFinalNewlines: NotRequired[bool]
4144 | """ Trim all newlines after the final newline at the end of the file.
4145 |
4146 | @since 3.15.0 """
4147 |
4148 |
4149 | class DocumentFormattingOptions(TypedDict):
4150 | """Provider options for a {@link DocumentFormattingRequest}."""
4151 |
4152 | workDoneProgress: NotRequired[bool]
4153 |
4154 |
4155 | class DocumentRangeFormattingOptions(TypedDict):
4156 | """Provider options for a {@link DocumentRangeFormattingRequest}."""
4157 |
4158 | workDoneProgress: NotRequired[bool]
4159 |
4160 |
4161 | class DocumentOnTypeFormattingOptions(TypedDict):
4162 | """Provider options for a {@link DocumentOnTypeFormattingRequest}."""
4163 |
4164 | firstTriggerCharacter: str
4165 | """ A character on which formatting should be triggered, like `{`. """
4166 | moreTriggerCharacter: NotRequired[list[str]]
4167 | """ More trigger characters. """
4168 |
4169 |
4170 | class RenameOptions(TypedDict):
4171 | """Provider options for a {@link RenameRequest}."""
4172 |
4173 | prepareProvider: NotRequired[bool]
4174 | """ Renames should be checked and tested before being executed.
4175 |
4176 | @since version 3.12.0 """
4177 | workDoneProgress: NotRequired[bool]
4178 |
4179 |
4180 | class ExecuteCommandOptions(TypedDict):
4181 | """The server capabilities of a {@link ExecuteCommandRequest}."""
4182 |
4183 | commands: list[str]
4184 | """ The commands to be executed on the server """
4185 | workDoneProgress: NotRequired[bool]
4186 |
4187 |
4188 | class SemanticTokensLegend(TypedDict):
4189 | """@since 3.16.0"""
4190 |
4191 | tokenTypes: list[str]
4192 | """ The token types a server uses. """
4193 | tokenModifiers: list[str]
4194 | """ The token modifiers a server uses. """
4195 |
4196 |
4197 | class OptionalVersionedTextDocumentIdentifier(TypedDict):
4198 | """A text document identifier to optionally denote a specific version of a text document."""
4199 |
4200 | version: int | None
4201 | """ The version number of this document. If a versioned text document identifier
4202 | is sent from the server to the client and the file is not open in the editor
4203 | (the server has not received an open notification before) the server can send
4204 | `null` to indicate that the version is unknown and the content on disk is the
4205 | truth (as specified with document content ownership). """
4206 | uri: "DocumentUri"
4207 | """ The text document's uri. """
4208 |
4209 |
4210 | class AnnotatedTextEdit(TypedDict):
4211 | """A special text edit with an additional change annotation.
4212 |
4213 | @since 3.16.0.
4214 | """
4215 |
4216 | annotationId: "ChangeAnnotationIdentifier"
4217 | """ The actual identifier of the change annotation """
4218 | range: "Range"
4219 | """ The range of the text document to be manipulated. To insert
4220 | text into a document create a range where start === end. """
4221 | newText: str
4222 | """ The string to be inserted. For delete operations use an
4223 | empty string. """
4224 |
4225 |
4226 | class ResourceOperation(TypedDict):
4227 | """A generic resource operation."""
4228 |
4229 | kind: str
4230 | """ The resource operation kind. """
4231 | annotationId: NotRequired["ChangeAnnotationIdentifier"]
4232 | """ An optional annotation identifier describing the operation.
4233 |
4234 | @since 3.16.0 """
4235 |
4236 |
4237 | class CreateFileOptions(TypedDict):
4238 | """Options to create a file."""
4239 |
4240 | overwrite: NotRequired[bool]
4241 | """ Overwrite existing file. Overwrite wins over `ignoreIfExists` """
4242 | ignoreIfExists: NotRequired[bool]
4243 | """ Ignore if exists. """
4244 |
4245 |
4246 | class RenameFileOptions(TypedDict):
4247 | """Rename file options"""
4248 |
4249 | overwrite: NotRequired[bool]
4250 | """ Overwrite target if existing. Overwrite wins over `ignoreIfExists` """
4251 | ignoreIfExists: NotRequired[bool]
4252 | """ Ignores if target exists. """
4253 |
4254 |
4255 | class DeleteFileOptions(TypedDict):
4256 | """Delete file options"""
4257 |
4258 | recursive: NotRequired[bool]
4259 | """ Delete the content recursively if a folder is denoted. """
4260 | ignoreIfNotExists: NotRequired[bool]
4261 | """ Ignore the operation if the file doesn't exist. """
4262 |
4263 |
4264 | class FileOperationPattern(TypedDict):
4265 | """A pattern to describe in which file operation requests or notifications
4266 | the server is interested in receiving.
4267 |
4268 | @since 3.16.0
4269 | """
4270 |
4271 | glob: str
4272 | """ The glob pattern to match. Glob patterns can have the following syntax:
4273 | - `*` to match one or more characters in a path segment
4274 | - `?` to match on one character in a path segment
4275 | - `**` to match any number of path segments, including none
4276 | - `{}` to group sub patterns into an OR expression. (e.g. `**\u200b/*.{ts,js}` matches all TypeScript and JavaScript files)
4277 | - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
4278 | - `[!...]` 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`) """
4279 | matches: NotRequired["FileOperationPatternKind"]
4280 | """ Whether to match files or folders with this pattern.
4281 |
4282 | Matches both if undefined. """
4283 | options: NotRequired["FileOperationPatternOptions"]
4284 | """ Additional options used during matching. """
4285 |
4286 |
4287 | class WorkspaceFullDocumentDiagnosticReport(TypedDict):
4288 | """A full document diagnostic report for a workspace diagnostic result.
4289 |
4290 | @since 3.17.0
4291 | """
4292 |
4293 | uri: "DocumentUri"
4294 | """ The URI for which diagnostic information is reported. """
4295 | version: int | None
4296 | """ The version number for which the diagnostics are reported.
4297 | If the document is not marked as open `null` can be provided. """
4298 | kind: Literal["full"]
4299 | """ A full document diagnostic report. """
4300 | resultId: NotRequired[str]
4301 | """ An optional result id. If provided it will
4302 | be sent on the next diagnostic request for the
4303 | same document. """
4304 | items: list["Diagnostic"]
4305 | """ The actual items. """
4306 |
4307 |
4308 | class WorkspaceUnchangedDocumentDiagnosticReport(TypedDict):
4309 | """An unchanged document diagnostic report for a workspace diagnostic result.
4310 |
4311 | @since 3.17.0
4312 | """
4313 |
4314 | uri: "DocumentUri"
4315 | """ The URI for which diagnostic information is reported. """
4316 | version: int | None
4317 | """ The version number for which the diagnostics are reported.
4318 | If the document is not marked as open `null` can be provided. """
4319 | kind: Literal["unchanged"]
4320 | """ A document diagnostic report indicating
4321 | no changes to the last result. A server can
4322 | only return `unchanged` if result ids are
4323 | provided. """
4324 | resultId: str
4325 | """ A result id which will be sent on the next
4326 | diagnostic request for the same document. """
4327 |
4328 |
4329 | class NotebookCell(TypedDict):
4330 | """A notebook cell.
4331 |
4332 | A cell's document URI must be unique across ALL notebook
4333 | cells and can therefore be used to uniquely identify a
4334 | notebook cell or the cell's text document.
4335 |
4336 | @since 3.17.0
4337 | """
4338 |
4339 | kind: "NotebookCellKind"
4340 | """ The cell's kind """
4341 | document: "DocumentUri"
4342 | """ The URI of the cell's text document
4343 | content. """
4344 | metadata: NotRequired["LSPObject"]
4345 | """ Additional metadata stored with the cell.
4346 |
4347 | Note: should always be an object literal (e.g. LSPObject) """
4348 | executionSummary: NotRequired["ExecutionSummary"]
4349 | """ Additional execution summary information
4350 | if supported by the client. """
4351 |
4352 |
4353 | class NotebookCellArrayChange(TypedDict):
4354 | """A change describing how to move a `NotebookCell`
4355 | array from state S to S'.
4356 |
4357 | @since 3.17.0
4358 | """
4359 |
4360 | start: Uint
4361 | """ The start oftest of the cell that changed. """
4362 | deleteCount: Uint
4363 | """ The deleted cells """
4364 | cells: NotRequired[list["NotebookCell"]]
4365 | """ The new cells, if any """
4366 |
4367 |
4368 | class ClientCapabilities(TypedDict):
4369 | """Defines the capabilities provided by the client."""
4370 |
4371 | workspace: NotRequired["WorkspaceClientCapabilities"]
4372 | """ Workspace specific client capabilities. """
4373 | textDocument: NotRequired["TextDocumentClientCapabilities"]
4374 | """ Text document specific client capabilities. """
4375 | notebookDocument: NotRequired["NotebookDocumentClientCapabilities"]
4376 | """ Capabilities specific to the notebook document support.
4377 |
4378 | @since 3.17.0 """
4379 | window: NotRequired["WindowClientCapabilities"]
4380 | """ Window specific client capabilities. """
4381 | general: NotRequired["GeneralClientCapabilities"]
4382 | """ General client capabilities.
4383 |
4384 | @since 3.16.0 """
4385 | experimental: NotRequired["LSPAny"]
4386 | """ Experimental client capabilities. """
4387 |
4388 |
4389 | class TextDocumentSyncOptions(TypedDict):
4390 | openClose: NotRequired[bool]
4391 | """ Open and close notifications are sent to the server. If omitted open close notification should not
4392 | be sent. """
4393 | change: NotRequired["TextDocumentSyncKind"]
4394 | """ Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
4395 | and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None. """
4396 | willSave: NotRequired[bool]
4397 | """ If present will save notifications are sent to the server. If omitted the notification should not be
4398 | sent. """
4399 | willSaveWaitUntil: NotRequired[bool]
4400 | """ If present will save wait until requests are sent to the server. If omitted the request should not be
4401 | sent. """
4402 | save: NotRequired[Union[bool, "SaveOptions"]]
4403 | """ If present save notifications are sent to the server. If omitted the notification should not be
4404 | sent. """
4405 |
4406 |
4407 | class NotebookDocumentSyncOptions(TypedDict):
4408 | """Options specific to a notebook plus its cells
4409 | to be synced to the server.
4410 |
4411 | If a selector provides a notebook document
4412 | filter but no cell selector all cells of a
4413 | matching notebook document will be synced.
4414 |
4415 | If a selector provides no notebook document
4416 | filter but only a cell selector all notebook
4417 | document that contain at least one matching
4418 | cell will be synced.
4419 |
4420 | @since 3.17.0
4421 | """
4422 |
4423 | notebookSelector: list[
4424 | Union[
4425 | "__NotebookDocumentSyncOptions_notebookSelector_Type_1",
4426 | "__NotebookDocumentSyncOptions_notebookSelector_Type_2",
4427 | ]
4428 | ]
4429 | """ The notebooks to be synced """
4430 | save: NotRequired[bool]
4431 | """ Whether save notification should be forwarded to
4432 | the server. Will only be honored if mode === `notebook`. """
4433 |
4434 |
4435 | class NotebookDocumentSyncRegistrationOptions(TypedDict):
4436 | """Registration options specific to a notebook.
4437 |
4438 | @since 3.17.0
4439 | """
4440 |
4441 | notebookSelector: list[
4442 | Union[
4443 | "__NotebookDocumentSyncOptions_notebookSelector_Type_3",
4444 | "__NotebookDocumentSyncOptions_notebookSelector_Type_4",
4445 | ]
4446 | ]
4447 | """ The notebooks to be synced """
4448 | save: NotRequired[bool]
4449 | """ Whether save notification should be forwarded to
4450 | the server. Will only be honored if mode === `notebook`. """
4451 | id: NotRequired[str]
4452 | """ The id used to register the request. The id can be used to deregister
4453 | the request again. See also Registration#id. """
4454 |
4455 |
4456 | class WorkspaceFoldersServerCapabilities(TypedDict):
4457 | supported: NotRequired[bool]
4458 | """ The server has support for workspace folders """
4459 | changeNotifications: NotRequired[str | bool]
4460 | """ Whether the server wants to receive workspace folder
4461 | change notifications.
4462 |
4463 | If a string is provided the string is treated as an ID
4464 | under which the notification is registered on the client
4465 | side. The ID can be used to unregister for these events
4466 | using the `client/unregisterCapability` request. """
4467 |
4468 |
4469 | class FileOperationOptions(TypedDict):
4470 | """Options for notifications/requests for user operations on files.
4471 |
4472 | @since 3.16.0
4473 | """
4474 |
4475 | didCreate: NotRequired["FileOperationRegistrationOptions"]
4476 | """ The server is interested in receiving didCreateFiles notifications. """
4477 | willCreate: NotRequired["FileOperationRegistrationOptions"]
4478 | """ The server is interested in receiving willCreateFiles requests. """
4479 | didRename: NotRequired["FileOperationRegistrationOptions"]
4480 | """ The server is interested in receiving didRenameFiles notifications. """
4481 | willRename: NotRequired["FileOperationRegistrationOptions"]
4482 | """ The server is interested in receiving willRenameFiles requests. """
4483 | didDelete: NotRequired["FileOperationRegistrationOptions"]
4484 | """ The server is interested in receiving didDeleteFiles file notifications. """
4485 | willDelete: NotRequired["FileOperationRegistrationOptions"]
4486 | """ The server is interested in receiving willDeleteFiles file requests. """
4487 |
4488 |
4489 | class CodeDescription(TypedDict):
4490 | """Structure to capture a description for an error code.
4491 |
4492 | @since 3.16.0
4493 | """
4494 |
4495 | href: "URI"
4496 | """ An URI to open with more information about the diagnostic error. """
4497 |
4498 |
4499 | class DiagnosticRelatedInformation(TypedDict):
4500 | """Represents a related message and source code location for a diagnostic. This should be
4501 | used to point to code locations that cause or related to a diagnostics, e.g when duplicating
4502 | a symbol in a scope.
4503 | """
4504 |
4505 | location: "Location"
4506 | """ The location of this related diagnostic information. """
4507 | message: str
4508 | """ The message of this related diagnostic information. """
4509 |
4510 |
4511 | class ParameterInformation(TypedDict):
4512 | """Represents a parameter of a callable-signature. A parameter can
4513 | have a label and a doc-comment.
4514 | """
4515 |
4516 | label: str | list[Uint | Uint]
4517 | """ The label of this parameter information.
4518 |
4519 | Either a string or an inclusive start and exclusive end offsets within its containing
4520 | signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
4521 | string representation as `Position` and `Range` does.
4522 |
4523 | *Note*: a label of type string should be a substring of its containing signature label.
4524 | Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`. """
4525 | documentation: NotRequired[Union[str, "MarkupContent"]]
4526 | """ The human-readable doc-comment of this parameter. Will be shown
4527 | in the UI but can be omitted. """
4528 |
4529 |
4530 | class NotebookCellTextDocumentFilter(TypedDict):
4531 | """A notebook cell text document filter denotes a cell text
4532 | document by different properties.
4533 |
4534 | @since 3.17.0
4535 | """
4536 |
4537 | notebook: Union[str, "NotebookDocumentFilter"]
4538 | """ A filter that matches against the notebook
4539 | containing the notebook cell. If a string
4540 | value is provided it matches against the
4541 | notebook type. '*' matches every notebook. """
4542 | language: NotRequired[str]
4543 | """ A language id like `python`.
4544 |
4545 | Will be matched against the language id of the
4546 | notebook cell document. '*' matches every language. """
4547 |
4548 |
4549 | class FileOperationPatternOptions(TypedDict):
4550 | """Matching options for the file operation pattern.
4551 |
4552 | @since 3.16.0
4553 | """
4554 |
4555 | ignoreCase: NotRequired[bool]
4556 | """ The pattern should be matched ignoring casing. """
4557 |
4558 |
4559 | class ExecutionSummary(TypedDict):
4560 | executionOrder: Uint
4561 | """ A strict monotonically increasing value
4562 | indicating the execution order of a cell
4563 | inside a notebook. """
4564 | success: NotRequired[bool]
4565 | """ Whether the execution was successful or
4566 | not if known by the client. """
4567 |
4568 |
4569 | class WorkspaceClientCapabilities(TypedDict):
4570 | """Workspace specific client capabilities."""
4571 |
4572 | applyEdit: NotRequired[bool]
4573 | """ The client supports applying batch edits
4574 | to the workspace by supporting the request
4575 | 'workspace/applyEdit' """
4576 | workspaceEdit: NotRequired["WorkspaceEditClientCapabilities"]
4577 | """ Capabilities specific to `WorkspaceEdit`s. """
4578 | didChangeConfiguration: NotRequired["DidChangeConfigurationClientCapabilities"]
4579 | """ Capabilities specific to the `workspace/didChangeConfiguration` notification. """
4580 | didChangeWatchedFiles: NotRequired["DidChangeWatchedFilesClientCapabilities"]
4581 | """ Capabilities specific to the `workspace/didChangeWatchedFiles` notification. """
4582 | symbol: NotRequired["WorkspaceSymbolClientCapabilities"]
4583 | """ Capabilities specific to the `workspace/symbol` request. """
4584 | executeCommand: NotRequired["ExecuteCommandClientCapabilities"]
4585 | """ Capabilities specific to the `workspace/executeCommand` request. """
4586 | workspaceFolders: NotRequired[bool]
4587 | """ The client has support for workspace folders.
4588 |
4589 | @since 3.6.0 """
4590 | configuration: NotRequired[bool]
4591 | """ The client supports `workspace/configuration` requests.
4592 |
4593 | @since 3.6.0 """
4594 | semanticTokens: NotRequired["SemanticTokensWorkspaceClientCapabilities"]
4595 | """ Capabilities specific to the semantic token requests scoped to the
4596 | workspace.
4597 |
4598 | @since 3.16.0. """
4599 | codeLens: NotRequired["CodeLensWorkspaceClientCapabilities"]
4600 | """ Capabilities specific to the code lens requests scoped to the
4601 | workspace.
4602 |
4603 | @since 3.16.0. """
4604 | fileOperations: NotRequired["FileOperationClientCapabilities"]
4605 | """ The client has support for file notifications/requests for user operations on files.
4606 |
4607 | Since 3.16.0 """
4608 | inlineValue: NotRequired["InlineValueWorkspaceClientCapabilities"]
4609 | """ Capabilities specific to the inline values requests scoped to the
4610 | workspace.
4611 |
4612 | @since 3.17.0. """
4613 | inlayHint: NotRequired["InlayHintWorkspaceClientCapabilities"]
4614 | """ Capabilities specific to the inlay hint requests scoped to the
4615 | workspace.
4616 |
4617 | @since 3.17.0. """
4618 | diagnostics: NotRequired["DiagnosticWorkspaceClientCapabilities"]
4619 | """ Capabilities specific to the diagnostic requests scoped to the
4620 | workspace.
4621 |
4622 | @since 3.17.0. """
4623 |
4624 |
4625 | class TextDocumentClientCapabilities(TypedDict):
4626 | """Text document specific client capabilities."""
4627 |
4628 | synchronization: NotRequired["TextDocumentSyncClientCapabilities"]
4629 | """ Defines which synchronization capabilities the client supports. """
4630 | completion: NotRequired["CompletionClientCapabilities"]
4631 | """ Capabilities specific to the `textDocument/completion` request. """
4632 | hover: NotRequired["HoverClientCapabilities"]
4633 | """ Capabilities specific to the `textDocument/hover` request. """
4634 | signatureHelp: NotRequired["SignatureHelpClientCapabilities"]
4635 | """ Capabilities specific to the `textDocument/signatureHelp` request. """
4636 | declaration: NotRequired["DeclarationClientCapabilities"]
4637 | """ Capabilities specific to the `textDocument/declaration` request.
4638 |
4639 | @since 3.14.0 """
4640 | definition: NotRequired["DefinitionClientCapabilities"]
4641 | """ Capabilities specific to the `textDocument/definition` request. """
4642 | typeDefinition: NotRequired["TypeDefinitionClientCapabilities"]
4643 | """ Capabilities specific to the `textDocument/typeDefinition` request.
4644 |
4645 | @since 3.6.0 """
4646 | implementation: NotRequired["ImplementationClientCapabilities"]
4647 | """ Capabilities specific to the `textDocument/implementation` request.
4648 |
4649 | @since 3.6.0 """
4650 | references: NotRequired["ReferenceClientCapabilities"]
4651 | """ Capabilities specific to the `textDocument/references` request. """
4652 | documentHighlight: NotRequired["DocumentHighlightClientCapabilities"]
4653 | """ Capabilities specific to the `textDocument/documentHighlight` request. """
4654 | documentSymbol: NotRequired["DocumentSymbolClientCapabilities"]
4655 | """ Capabilities specific to the `textDocument/documentSymbol` request. """
4656 | codeAction: NotRequired["CodeActionClientCapabilities"]
4657 | """ Capabilities specific to the `textDocument/codeAction` request. """
4658 | codeLens: NotRequired["CodeLensClientCapabilities"]
4659 | """ Capabilities specific to the `textDocument/codeLens` request. """
4660 | documentLink: NotRequired["DocumentLinkClientCapabilities"]
4661 | """ Capabilities specific to the `textDocument/documentLink` request. """
4662 | colorProvider: NotRequired["DocumentColorClientCapabilities"]
4663 | """ Capabilities specific to the `textDocument/documentColor` and the
4664 | `textDocument/colorPresentation` request.
4665 |
4666 | @since 3.6.0 """
4667 | formatting: NotRequired["DocumentFormattingClientCapabilities"]
4668 | """ Capabilities specific to the `textDocument/formatting` request. """
4669 | rangeFormatting: NotRequired["DocumentRangeFormattingClientCapabilities"]
4670 | """ Capabilities specific to the `textDocument/rangeFormatting` request. """
4671 | onTypeFormatting: NotRequired["DocumentOnTypeFormattingClientCapabilities"]
4672 | """ Capabilities specific to the `textDocument/onTypeFormatting` request. """
4673 | rename: NotRequired["RenameClientCapabilities"]
4674 | """ Capabilities specific to the `textDocument/rename` request. """
4675 | foldingRange: NotRequired["FoldingRangeClientCapabilities"]
4676 | """ Capabilities specific to the `textDocument/foldingRange` request.
4677 |
4678 | @since 3.10.0 """
4679 | selectionRange: NotRequired["SelectionRangeClientCapabilities"]
4680 | """ Capabilities specific to the `textDocument/selectionRange` request.
4681 |
4682 | @since 3.15.0 """
4683 | publishDiagnostics: NotRequired["PublishDiagnosticsClientCapabilities"]
4684 | """ Capabilities specific to the `textDocument/publishDiagnostics` notification. """
4685 | callHierarchy: NotRequired["CallHierarchyClientCapabilities"]
4686 | """ Capabilities specific to the various call hierarchy requests.
4687 |
4688 | @since 3.16.0 """
4689 | semanticTokens: NotRequired["SemanticTokensClientCapabilities"]
4690 | """ Capabilities specific to the various semantic token request.
4691 |
4692 | @since 3.16.0 """
4693 | linkedEditingRange: NotRequired["LinkedEditingRangeClientCapabilities"]
4694 | """ Capabilities specific to the `textDocument/linkedEditingRange` request.
4695 |
4696 | @since 3.16.0 """
4697 | moniker: NotRequired["MonikerClientCapabilities"]
4698 | """ Client capabilities specific to the `textDocument/moniker` request.
4699 |
4700 | @since 3.16.0 """
4701 | typeHierarchy: NotRequired["TypeHierarchyClientCapabilities"]
4702 | """ Capabilities specific to the various type hierarchy requests.
4703 |
4704 | @since 3.17.0 """
4705 | inlineValue: NotRequired["InlineValueClientCapabilities"]
4706 | """ Capabilities specific to the `textDocument/inlineValue` request.
4707 |
4708 | @since 3.17.0 """
4709 | inlayHint: NotRequired["InlayHintClientCapabilities"]
4710 | """ Capabilities specific to the `textDocument/inlayHint` request.
4711 |
4712 | @since 3.17.0 """
4713 | diagnostic: NotRequired["DiagnosticClientCapabilities"]
4714 | """ Capabilities specific to the diagnostic pull model.
4715 |
4716 | @since 3.17.0 """
4717 |
4718 |
4719 | class NotebookDocumentClientCapabilities(TypedDict):
4720 | """Capabilities specific to the notebook document support.
4721 |
4722 | @since 3.17.0
4723 | """
4724 |
4725 | synchronization: "NotebookDocumentSyncClientCapabilities"
4726 | """ Capabilities specific to notebook document synchronization
4727 |
4728 | @since 3.17.0 """
4729 |
4730 |
4731 | class WindowClientCapabilities(TypedDict):
4732 | workDoneProgress: NotRequired[bool]
4733 | """ It indicates whether the client supports server initiated
4734 | progress using the `window/workDoneProgress/create` request.
4735 |
4736 | The capability also controls Whether client supports handling
4737 | of progress notifications. If set servers are allowed to report a
4738 | `workDoneProgress` property in the request specific server
4739 | capabilities.
4740 |
4741 | @since 3.15.0 """
4742 | showMessage: NotRequired["ShowMessageRequestClientCapabilities"]
4743 | """ Capabilities specific to the showMessage request.
4744 |
4745 | @since 3.16.0 """
4746 | showDocument: NotRequired["ShowDocumentClientCapabilities"]
4747 | """ Capabilities specific to the showDocument request.
4748 |
4749 | @since 3.16.0 """
4750 |
4751 |
4752 | class GeneralClientCapabilities(TypedDict):
4753 | """General client capabilities.
4754 |
4755 | @since 3.16.0
4756 | """
4757 |
4758 | staleRequestSupport: NotRequired["__GeneralClientCapabilities_staleRequestSupport_Type_1"]
4759 | """ Client capability that signals how the client
4760 | handles stale requests (e.g. a request
4761 | for which the client will not process the response
4762 | anymore since the information is outdated).
4763 |
4764 | @since 3.17.0 """
4765 | regularExpressions: NotRequired["RegularExpressionsClientCapabilities"]
4766 | """ Client capabilities specific to regular expressions.
4767 |
4768 | @since 3.16.0 """
4769 | markdown: NotRequired["MarkdownClientCapabilities"]
4770 | """ Client capabilities specific to the client's markdown parser.
4771 |
4772 | @since 3.16.0 """
4773 | positionEncodings: NotRequired[list["PositionEncodingKind"]]
4774 | """ The position encodings supported by the client. Client and server
4775 | have to agree on the same position encoding to ensure that offsets
4776 | (e.g. character position in a line) are interpreted the same on both
4777 | sides.
4778 |
4779 | To keep the protocol backwards compatible the following applies: if
4780 | the value 'utf-16' is missing from the array of position encodings
4781 | servers can assume that the client supports UTF-16. UTF-16 is
4782 | therefore a mandatory encoding.
4783 |
4784 | If omitted it defaults to ['utf-16'].
4785 |
4786 | Implementation considerations: since the conversion from one encoding
4787 | into another requires the content of the file / line the conversion
4788 | is best done where the file is read which is usually on the server
4789 | side.
4790 |
4791 | @since 3.17.0 """
4792 |
4793 |
4794 | class RelativePattern(TypedDict):
4795 | """A relative pattern is a helper to construct glob patterns that are matched
4796 | relatively to a base URI. The common value for a `baseUri` is a workspace
4797 | folder root, but it can be another absolute URI as well.
4798 |
4799 | @since 3.17.0
4800 | """
4801 |
4802 | baseUri: Union["WorkspaceFolder", "URI"]
4803 | """ A workspace folder or a base URI to which this pattern will be matched
4804 | against relatively. """
4805 | pattern: "Pattern"
4806 | """ The actual glob pattern; """
4807 |
4808 |
4809 | class WorkspaceEditClientCapabilities(TypedDict):
4810 | documentChanges: NotRequired[bool]
4811 | """ The client supports versioned document changes in `WorkspaceEdit`s """
4812 | resourceOperations: NotRequired[list["ResourceOperationKind"]]
4813 | """ The resource operations the client supports. Clients should at least
4814 | support 'create', 'rename' and 'delete' files and folders.
4815 |
4816 | @since 3.13.0 """
4817 | failureHandling: NotRequired["FailureHandlingKind"]
4818 | """ The failure handling strategy of a client if applying the workspace edit
4819 | fails.
4820 |
4821 | @since 3.13.0 """
4822 | normalizesLineEndings: NotRequired[bool]
4823 | """ Whether the client normalizes line endings to the client specific
4824 | setting.
4825 | If set to `true` the client will normalize line ending characters
4826 | in a workspace edit to the client-specified new line
4827 | character.
4828 |
4829 | @since 3.16.0 """
4830 | changeAnnotationSupport: NotRequired["__WorkspaceEditClientCapabilities_changeAnnotationSupport_Type_1"]
4831 | """ Whether the client in general supports change annotations on text edits,
4832 | create file, rename file and delete file changes.
4833 |
4834 | @since 3.16.0 """
4835 |
4836 |
4837 | class DidChangeConfigurationClientCapabilities(TypedDict):
4838 | dynamicRegistration: NotRequired[bool]
4839 | """ Did change configuration notification supports dynamic registration. """
4840 |
4841 |
4842 | class DidChangeWatchedFilesClientCapabilities(TypedDict):
4843 | dynamicRegistration: NotRequired[bool]
4844 | """ Did change watched files notification supports dynamic registration. Please note
4845 | that the current protocol doesn't support static configuration for file changes
4846 | from the server side. """
4847 | relativePatternSupport: NotRequired[bool]
4848 | """ Whether the client has support for {@link RelativePattern relative pattern}
4849 | or not.
4850 |
4851 | @since 3.17.0 """
4852 |
4853 |
4854 | class WorkspaceSymbolClientCapabilities(TypedDict):
4855 | """Client capabilities for a {@link WorkspaceSymbolRequest}."""
4856 |
4857 | dynamicRegistration: NotRequired[bool]
4858 | """ Symbol request supports dynamic registration. """
4859 | symbolKind: NotRequired["__WorkspaceSymbolClientCapabilities_symbolKind_Type_1"]
4860 | """ Specific capabilities for the `SymbolKind` in the `workspace/symbol` request. """
4861 | tagSupport: NotRequired["__WorkspaceSymbolClientCapabilities_tagSupport_Type_1"]
4862 | """ The client supports tags on `SymbolInformation`.
4863 | Clients supporting tags have to handle unknown tags gracefully.
4864 |
4865 | @since 3.16.0 """
4866 | resolveSupport: NotRequired["__WorkspaceSymbolClientCapabilities_resolveSupport_Type_1"]
4867 | """ The client support partial workspace symbols. The client will send the
4868 | request `workspaceSymbol/resolve` to the server to resolve additional
4869 | properties.
4870 |
4871 | @since 3.17.0 """
4872 |
4873 |
4874 | class ExecuteCommandClientCapabilities(TypedDict):
4875 | """The client capabilities of a {@link ExecuteCommandRequest}."""
4876 |
4877 | dynamicRegistration: NotRequired[bool]
4878 | """ Execute command supports dynamic registration. """
4879 |
4880 |
4881 | class SemanticTokensWorkspaceClientCapabilities(TypedDict):
4882 | """@since 3.16.0"""
4883 |
4884 | refreshSupport: NotRequired[bool]
4885 | """ Whether the client implementation supports a refresh request sent from
4886 | the server to the client.
4887 |
4888 | Note that this event is global and will force the client to refresh all
4889 | semantic tokens currently shown. It should be used with absolute care
4890 | and is useful for situation where a server for example detects a project
4891 | wide change that requires such a calculation. """
4892 |
4893 |
4894 | class CodeLensWorkspaceClientCapabilities(TypedDict):
4895 | """@since 3.16.0"""
4896 |
4897 | refreshSupport: NotRequired[bool]
4898 | """ Whether the client implementation supports a refresh request sent from the
4899 | server to the client.
4900 |
4901 | Note that this event is global and will force the client to refresh all
4902 | code lenses currently shown. It should be used with absolute care and is
4903 | useful for situation where a server for example detect a project wide
4904 | change that requires such a calculation. """
4905 |
4906 |
4907 | class FileOperationClientCapabilities(TypedDict):
4908 | """Capabilities relating to events from file operations by the user in the client.
4909 |
4910 | These events do not come from the file system, they come from user operations
4911 | like renaming a file in the UI.
4912 |
4913 | @since 3.16.0
4914 | """
4915 |
4916 | dynamicRegistration: NotRequired[bool]
4917 | """ Whether the client supports dynamic registration for file requests/notifications. """
4918 | didCreate: NotRequired[bool]
4919 | """ The client has support for sending didCreateFiles notifications. """
4920 | willCreate: NotRequired[bool]
4921 | """ The client has support for sending willCreateFiles requests. """
4922 | didRename: NotRequired[bool]
4923 | """ The client has support for sending didRenameFiles notifications. """
4924 | willRename: NotRequired[bool]
4925 | """ The client has support for sending willRenameFiles requests. """
4926 | didDelete: NotRequired[bool]
4927 | """ The client has support for sending didDeleteFiles notifications. """
4928 | willDelete: NotRequired[bool]
4929 | """ The client has support for sending willDeleteFiles requests. """
4930 |
4931 |
4932 | class InlineValueWorkspaceClientCapabilities(TypedDict):
4933 | """Client workspace capabilities specific to inline values.
4934 |
4935 | @since 3.17.0
4936 | """
4937 |
4938 | refreshSupport: NotRequired[bool]
4939 | """ Whether the client implementation supports a refresh request sent from the
4940 | server to the client.
4941 |
4942 | Note that this event is global and will force the client to refresh all
4943 | inline values currently shown. It should be used with absolute care and is
4944 | useful for situation where a server for example detects a project wide
4945 | change that requires such a calculation. """
4946 |
4947 |
4948 | class InlayHintWorkspaceClientCapabilities(TypedDict):
4949 | """Client workspace capabilities specific to inlay hints.
4950 |
4951 | @since 3.17.0
4952 | """
4953 |
4954 | refreshSupport: NotRequired[bool]
4955 | """ Whether the client implementation supports a refresh request sent from
4956 | the server to the client.
4957 |
4958 | Note that this event is global and will force the client to refresh all
4959 | inlay hints currently shown. It should be used with absolute care and
4960 | is useful for situation where a server for example detects a project wide
4961 | change that requires such a calculation. """
4962 |
4963 |
4964 | class DiagnosticWorkspaceClientCapabilities(TypedDict):
4965 | """Workspace client capabilities specific to diagnostic pull requests.
4966 |
4967 | @since 3.17.0
4968 | """
4969 |
4970 | refreshSupport: NotRequired[bool]
4971 | """ Whether the client implementation supports a refresh request sent from
4972 | the server to the client.
4973 |
4974 | Note that this event is global and will force the client to refresh all
4975 | pulled diagnostics currently shown. It should be used with absolute care and
4976 | is useful for situation where a server for example detects a project wide
4977 | change that requires such a calculation. """
4978 |
4979 |
4980 | class TextDocumentSyncClientCapabilities(TypedDict):
4981 | dynamicRegistration: NotRequired[bool]
4982 | """ Whether text document synchronization supports dynamic registration. """
4983 | willSave: NotRequired[bool]
4984 | """ The client supports sending will save notifications. """
4985 | willSaveWaitUntil: NotRequired[bool]
4986 | """ The client supports sending a will save request and
4987 | waits for a response providing text edits which will
4988 | be applied to the document before it is saved. """
4989 | didSave: NotRequired[bool]
4990 | """ The client supports did save notifications. """
4991 |
4992 |
4993 | class CompletionClientCapabilities(TypedDict):
4994 | """Completion client capabilities"""
4995 |
4996 | dynamicRegistration: NotRequired[bool]
4997 | """ Whether completion supports dynamic registration. """
4998 | completionItem: NotRequired["__CompletionClientCapabilities_completionItem_Type_1"]
4999 | """ The client supports the following `CompletionItem` specific
5000 | capabilities. """
5001 | completionItemKind: NotRequired["__CompletionClientCapabilities_completionItemKind_Type_1"]
5002 | insertTextMode: NotRequired["InsertTextMode"]
5003 | """ Defines how the client handles whitespace and indentation
5004 | when accepting a completion item that uses multi line
5005 | text in either `insertText` or `textEdit`.
5006 |
5007 | @since 3.17.0 """
5008 | contextSupport: NotRequired[bool]
5009 | """ The client supports to send additional context information for a
5010 | `textDocument/completion` request. """
5011 | completionList: NotRequired["__CompletionClientCapabilities_completionList_Type_1"]
5012 | """ The client supports the following `CompletionList` specific
5013 | capabilities.
5014 |
5015 | @since 3.17.0 """
5016 |
5017 |
5018 | class HoverClientCapabilities(TypedDict):
5019 | dynamicRegistration: NotRequired[bool]
5020 | """ Whether hover supports dynamic registration. """
5021 | contentFormat: NotRequired[list["MarkupKind"]]
5022 | """ Client supports the following content formats for the content
5023 | property. The order describes the preferred format of the client. """
5024 |
5025 |
5026 | class SignatureHelpClientCapabilities(TypedDict):
5027 | """Client Capabilities for a {@link SignatureHelpRequest}."""
5028 |
5029 | dynamicRegistration: NotRequired[bool]
5030 | """ Whether signature help supports dynamic registration. """
5031 | signatureInformation: NotRequired["__SignatureHelpClientCapabilities_signatureInformation_Type_1"]
5032 | """ The client supports the following `SignatureInformation`
5033 | specific properties. """
5034 | contextSupport: NotRequired[bool]
5035 | """ The client supports to send additional context information for a
5036 | `textDocument/signatureHelp` request. A client that opts into
5037 | contextSupport will also support the `retriggerCharacters` on
5038 | `SignatureHelpOptions`.
5039 |
5040 | @since 3.15.0 """
5041 |
5042 |
5043 | class DeclarationClientCapabilities(TypedDict):
5044 | """@since 3.14.0"""
5045 |
5046 | dynamicRegistration: NotRequired[bool]
5047 | """ Whether declaration supports dynamic registration. If this is set to `true`
5048 | the client supports the new `DeclarationRegistrationOptions` return value
5049 | for the corresponding server capability as well. """
5050 | linkSupport: NotRequired[bool]
5051 | """ The client supports additional metadata in the form of declaration links. """
5052 |
5053 |
5054 | class DefinitionClientCapabilities(TypedDict):
5055 | """Client Capabilities for a {@link DefinitionRequest}."""
5056 |
5057 | dynamicRegistration: NotRequired[bool]
5058 | """ Whether definition supports dynamic registration. """
5059 | linkSupport: NotRequired[bool]
5060 | """ The client supports additional metadata in the form of definition links.
5061 |
5062 | @since 3.14.0 """
5063 |
5064 |
5065 | class TypeDefinitionClientCapabilities(TypedDict):
5066 | """Since 3.6.0"""
5067 |
5068 | dynamicRegistration: NotRequired[bool]
5069 | """ Whether implementation supports dynamic registration. If this is set to `true`
5070 | the client supports the new `TypeDefinitionRegistrationOptions` return value
5071 | for the corresponding server capability as well. """
5072 | linkSupport: NotRequired[bool]
5073 | """ The client supports additional metadata in the form of definition links.
5074 |
5075 | Since 3.14.0 """
5076 |
5077 |
5078 | class ImplementationClientCapabilities(TypedDict):
5079 | """@since 3.6.0"""
5080 |
5081 | dynamicRegistration: NotRequired[bool]
5082 | """ Whether implementation supports dynamic registration. If this is set to `true`
5083 | the client supports the new `ImplementationRegistrationOptions` return value
5084 | for the corresponding server capability as well. """
5085 | linkSupport: NotRequired[bool]
5086 | """ The client supports additional metadata in the form of definition links.
5087 |
5088 | @since 3.14.0 """
5089 |
5090 |
5091 | class ReferenceClientCapabilities(TypedDict):
5092 | """Client Capabilities for a {@link ReferencesRequest}."""
5093 |
5094 | dynamicRegistration: NotRequired[bool]
5095 | """ Whether references supports dynamic registration. """
5096 |
5097 |
5098 | class DocumentHighlightClientCapabilities(TypedDict):
5099 | """Client Capabilities for a {@link DocumentHighlightRequest}."""
5100 |
5101 | dynamicRegistration: NotRequired[bool]
5102 | """ Whether document highlight supports dynamic registration. """
5103 |
5104 |
5105 | class DocumentSymbolClientCapabilities(TypedDict):
5106 | """Client Capabilities for a {@link DocumentSymbolRequest}."""
5107 |
5108 | dynamicRegistration: NotRequired[bool]
5109 | """ Whether document symbol supports dynamic registration. """
5110 | symbolKind: NotRequired["__DocumentSymbolClientCapabilities_symbolKind_Type_1"]
5111 | """ Specific capabilities for the `SymbolKind` in the
5112 | `textDocument/documentSymbol` request. """
5113 | hierarchicalDocumentSymbolSupport: NotRequired[bool]
5114 | """ The client supports hierarchical document symbols. """
5115 | tagSupport: NotRequired["__DocumentSymbolClientCapabilities_tagSupport_Type_1"]
5116 | """ The client supports tags on `SymbolInformation`. Tags are supported on
5117 | `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
5118 | Clients supporting tags have to handle unknown tags gracefully.
5119 |
5120 | @since 3.16.0 """
5121 | labelSupport: NotRequired[bool]
5122 | """ The client supports an additional label presented in the UI when
5123 | registering a document symbol provider.
5124 |
5125 | @since 3.16.0 """
5126 |
5127 |
5128 | class CodeActionClientCapabilities(TypedDict):
5129 | """The Client Capabilities of a {@link CodeActionRequest}."""
5130 |
5131 | dynamicRegistration: NotRequired[bool]
5132 | """ Whether code action supports dynamic registration. """
5133 | codeActionLiteralSupport: NotRequired["__CodeActionClientCapabilities_codeActionLiteralSupport_Type_1"]
5134 | """ The client support code action literals of type `CodeAction` as a valid
5135 | response of the `textDocument/codeAction` request. If the property is not
5136 | set the request can only return `Command` literals.
5137 |
5138 | @since 3.8.0 """
5139 | isPreferredSupport: NotRequired[bool]
5140 | """ Whether code action supports the `isPreferred` property.
5141 |
5142 | @since 3.15.0 """
5143 | disabledSupport: NotRequired[bool]
5144 | """ Whether code action supports the `disabled` property.
5145 |
5146 | @since 3.16.0 """
5147 | dataSupport: NotRequired[bool]
5148 | """ Whether code action supports the `data` property which is
5149 | preserved between a `textDocument/codeAction` and a
5150 | `codeAction/resolve` request.
5151 |
5152 | @since 3.16.0 """
5153 | resolveSupport: NotRequired["__CodeActionClientCapabilities_resolveSupport_Type_1"]
5154 | """ Whether the client supports resolving additional code action
5155 | properties via a separate `codeAction/resolve` request.
5156 |
5157 | @since 3.16.0 """
5158 | honorsChangeAnnotations: NotRequired[bool]
5159 | """ Whether the client honors the change annotations in
5160 | text edits and resource operations returned via the
5161 | `CodeAction#edit` property by for example presenting
5162 | the workspace edit in the user interface and asking
5163 | for confirmation.
5164 |
5165 | @since 3.16.0 """
5166 |
5167 |
5168 | class CodeLensClientCapabilities(TypedDict):
5169 | """The client capabilities of a {@link CodeLensRequest}."""
5170 |
5171 | dynamicRegistration: NotRequired[bool]
5172 | """ Whether code lens supports dynamic registration. """
5173 |
5174 |
5175 | class DocumentLinkClientCapabilities(TypedDict):
5176 | """The client capabilities of a {@link DocumentLinkRequest}."""
5177 |
5178 | dynamicRegistration: NotRequired[bool]
5179 | """ Whether document link supports dynamic registration. """
5180 | tooltipSupport: NotRequired[bool]
5181 | """ Whether the client supports the `tooltip` property on `DocumentLink`.
5182 |
5183 | @since 3.15.0 """
5184 |
5185 |
5186 | class DocumentColorClientCapabilities(TypedDict):
5187 | dynamicRegistration: NotRequired[bool]
5188 | """ Whether implementation supports dynamic registration. If this is set to `true`
5189 | the client supports the new `DocumentColorRegistrationOptions` return value
5190 | for the corresponding server capability as well. """
5191 |
5192 |
5193 | class DocumentFormattingClientCapabilities(TypedDict):
5194 | """Client capabilities of a {@link DocumentFormattingRequest}."""
5195 |
5196 | dynamicRegistration: NotRequired[bool]
5197 | """ Whether formatting supports dynamic registration. """
5198 |
5199 |
5200 | class DocumentRangeFormattingClientCapabilities(TypedDict):
5201 | """Client capabilities of a {@link DocumentRangeFormattingRequest}."""
5202 |
5203 | dynamicRegistration: NotRequired[bool]
5204 | """ Whether range formatting supports dynamic registration. """
5205 |
5206 |
5207 | class DocumentOnTypeFormattingClientCapabilities(TypedDict):
5208 | """Client capabilities of a {@link DocumentOnTypeFormattingRequest}."""
5209 |
5210 | dynamicRegistration: NotRequired[bool]
5211 | """ Whether on type formatting supports dynamic registration. """
5212 |
5213 |
5214 | class RenameClientCapabilities(TypedDict):
5215 | dynamicRegistration: NotRequired[bool]
5216 | """ Whether rename supports dynamic registration. """
5217 | prepareSupport: NotRequired[bool]
5218 | """ Client supports testing for validity of rename operations
5219 | before execution.
5220 |
5221 | @since 3.12.0 """
5222 | prepareSupportDefaultBehavior: NotRequired["PrepareSupportDefaultBehavior"]
5223 | """ Client supports the default behavior result.
5224 |
5225 | The value indicates the default behavior used by the
5226 | client.
5227 |
5228 | @since 3.16.0 """
5229 | honorsChangeAnnotations: NotRequired[bool]
5230 | """ Whether the client honors the change annotations in
5231 | text edits and resource operations returned via the
5232 | rename request's workspace edit by for example presenting
5233 | the workspace edit in the user interface and asking
5234 | for confirmation.
5235 |
5236 | @since 3.16.0 """
5237 |
5238 |
5239 | class FoldingRangeClientCapabilities(TypedDict):
5240 | dynamicRegistration: NotRequired[bool]
5241 | """ Whether implementation supports dynamic registration for folding range
5242 | providers. If this is set to `true` the client supports the new
5243 | `FoldingRangeRegistrationOptions` return value for the corresponding
5244 | server capability as well. """
5245 | rangeLimit: NotRequired[Uint]
5246 | """ The maximum number of folding ranges that the client prefers to receive
5247 | per document. The value serves as a hint, servers are free to follow the
5248 | limit. """
5249 | lineFoldingOnly: NotRequired[bool]
5250 | """ If set, the client signals that it only supports folding complete lines.
5251 | If set, client will ignore specified `startCharacter` and `endCharacter`
5252 | properties in a FoldingRange. """
5253 | foldingRangeKind: NotRequired["__FoldingRangeClientCapabilities_foldingRangeKind_Type_1"]
5254 | """ Specific options for the folding range kind.
5255 |
5256 | @since 3.17.0 """
5257 | foldingRange: NotRequired["__FoldingRangeClientCapabilities_foldingRange_Type_1"]
5258 | """ Specific options for the folding range.
5259 |
5260 | @since 3.17.0 """
5261 |
5262 |
5263 | class SelectionRangeClientCapabilities(TypedDict):
5264 | dynamicRegistration: NotRequired[bool]
5265 | """ Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
5266 | the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
5267 | capability as well. """
5268 |
5269 |
5270 | class PublishDiagnosticsClientCapabilities(TypedDict):
5271 | """The publish diagnostic client capabilities."""
5272 |
5273 | relatedInformation: NotRequired[bool]
5274 | """ Whether the clients accepts diagnostics with related information. """
5275 | tagSupport: NotRequired["__PublishDiagnosticsClientCapabilities_tagSupport_Type_1"]
5276 | """ Client supports the tag property to provide meta data about a diagnostic.
5277 | Clients supporting tags have to handle unknown tags gracefully.
5278 |
5279 | @since 3.15.0 """
5280 | versionSupport: NotRequired[bool]
5281 | """ Whether the client interprets the version property of the
5282 | `textDocument/publishDiagnostics` notification's parameter.
5283 |
5284 | @since 3.15.0 """
5285 | codeDescriptionSupport: NotRequired[bool]
5286 | """ Client supports a codeDescription property
5287 |
5288 | @since 3.16.0 """
5289 | dataSupport: NotRequired[bool]
5290 | """ Whether code action supports the `data` property which is
5291 | preserved between a `textDocument/publishDiagnostics` and
5292 | `textDocument/codeAction` request.
5293 |
5294 | @since 3.16.0 """
5295 |
5296 |
5297 | class CallHierarchyClientCapabilities(TypedDict):
5298 | """@since 3.16.0"""
5299 |
5300 | dynamicRegistration: NotRequired[bool]
5301 | """ Whether implementation supports dynamic registration. If this is set to `true`
5302 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5303 | return value for the corresponding server capability as well. """
5304 |
5305 |
5306 | class SemanticTokensClientCapabilities(TypedDict):
5307 | """@since 3.16.0"""
5308 |
5309 | dynamicRegistration: NotRequired[bool]
5310 | """ Whether implementation supports dynamic registration. If this is set to `true`
5311 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5312 | return value for the corresponding server capability as well. """
5313 | requests: "__SemanticTokensClientCapabilities_requests_Type_1"
5314 | """ Which requests the client supports and might send to the server
5315 | depending on the server's capability. Please note that clients might not
5316 | show semantic tokens or degrade some of the user experience if a range
5317 | or full request is advertised by the client but not provided by the
5318 | server. If for example the client capability `requests.full` and
5319 | `request.range` are both set to true but the server only provides a
5320 | range provider the client might not render a minimap correctly or might
5321 | even decide to not show any semantic tokens at all. """
5322 | tokenTypes: list[str]
5323 | """ The token types that the client supports. """
5324 | tokenModifiers: list[str]
5325 | """ The token modifiers that the client supports. """
5326 | formats: list["TokenFormat"]
5327 | """ The token formats the clients supports. """
5328 | overlappingTokenSupport: NotRequired[bool]
5329 | """ Whether the client supports tokens that can overlap each other. """
5330 | multilineTokenSupport: NotRequired[bool]
5331 | """ Whether the client supports tokens that can span multiple lines. """
5332 | serverCancelSupport: NotRequired[bool]
5333 | """ Whether the client allows the server to actively cancel a
5334 | semantic token request, e.g. supports returning
5335 | LSPErrorCodes.ServerCancelled. If a server does the client
5336 | needs to retrigger the request.
5337 |
5338 | @since 3.17.0 """
5339 | augmentsSyntaxTokens: NotRequired[bool]
5340 | """ Whether the client uses semantic tokens to augment existing
5341 | syntax tokens. If set to `true` client side created syntax
5342 | tokens and semantic tokens are both used for colorization. If
5343 | set to `false` the client only uses the returned semantic tokens
5344 | for colorization.
5345 |
5346 | If the value is `undefined` then the client behavior is not
5347 | specified.
5348 |
5349 | @since 3.17.0 """
5350 |
5351 |
5352 | class LinkedEditingRangeClientCapabilities(TypedDict):
5353 | """Client capabilities for the linked editing range request.
5354 |
5355 | @since 3.16.0
5356 | """
5357 |
5358 | dynamicRegistration: NotRequired[bool]
5359 | """ Whether implementation supports dynamic registration. If this is set to `true`
5360 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5361 | return value for the corresponding server capability as well. """
5362 |
5363 |
5364 | class MonikerClientCapabilities(TypedDict):
5365 | """Client capabilities specific to the moniker request.
5366 |
5367 | @since 3.16.0
5368 | """
5369 |
5370 | dynamicRegistration: NotRequired[bool]
5371 | """ Whether moniker supports dynamic registration. If this is set to `true`
5372 | the client supports the new `MonikerRegistrationOptions` return value
5373 | for the corresponding server capability as well. """
5374 |
5375 |
5376 | class TypeHierarchyClientCapabilities(TypedDict):
5377 | """@since 3.17.0"""
5378 |
5379 | dynamicRegistration: NotRequired[bool]
5380 | """ Whether implementation supports dynamic registration. If this is set to `true`
5381 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5382 | return value for the corresponding server capability as well. """
5383 |
5384 |
5385 | class InlineValueClientCapabilities(TypedDict):
5386 | """Client capabilities specific to inline values.
5387 |
5388 | @since 3.17.0
5389 | """
5390 |
5391 | dynamicRegistration: NotRequired[bool]
5392 | """ Whether implementation supports dynamic registration for inline value providers. """
5393 |
5394 |
5395 | class InlayHintClientCapabilities(TypedDict):
5396 | """Inlay hint client capabilities.
5397 |
5398 | @since 3.17.0
5399 | """
5400 |
5401 | dynamicRegistration: NotRequired[bool]
5402 | """ Whether inlay hints support dynamic registration. """
5403 | resolveSupport: NotRequired["__InlayHintClientCapabilities_resolveSupport_Type_1"]
5404 | """ Indicates which properties a client can resolve lazily on an inlay
5405 | hint. """
5406 |
5407 |
5408 | class DiagnosticClientCapabilities(TypedDict):
5409 | """Client capabilities specific to diagnostic pull requests.
5410 |
5411 | @since 3.17.0
5412 | """
5413 |
5414 | dynamicRegistration: NotRequired[bool]
5415 | """ Whether implementation supports dynamic registration. If this is set to `true`
5416 | the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5417 | return value for the corresponding server capability as well. """
5418 | relatedDocumentSupport: NotRequired[bool]
5419 | """ Whether the clients supports related documents for document diagnostic pulls. """
5420 |
5421 |
5422 | class NotebookDocumentSyncClientCapabilities(TypedDict):
5423 | """Notebook specific client capabilities.
5424 |
5425 | @since 3.17.0
5426 | """
5427 |
5428 | dynamicRegistration: NotRequired[bool]
5429 | """ Whether implementation supports dynamic registration. If this is
5430 | set to `true` the client supports the new
5431 | `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5432 | return value for the corresponding server capability as well. """
5433 | executionSummarySupport: NotRequired[bool]
5434 | """ The client supports sending execution summary data per cell. """
5435 |
5436 |
5437 | class ShowMessageRequestClientCapabilities(TypedDict):
5438 | """Show message request client capabilities"""
5439 |
5440 | messageActionItem: NotRequired["__ShowMessageRequestClientCapabilities_messageActionItem_Type_1"]
5441 | """ Capabilities specific to the `MessageActionItem` type. """
5442 |
5443 |
5444 | class ShowDocumentClientCapabilities(TypedDict):
5445 | """Client capabilities for the showDocument request.
5446 |
5447 | @since 3.16.0
5448 | """
5449 |
5450 | support: bool
5451 | """ The client has support for the showDocument
5452 | request. """
5453 |
5454 |
5455 | class RegularExpressionsClientCapabilities(TypedDict):
5456 | """Client capabilities specific to regular expressions.
5457 |
5458 | @since 3.16.0
5459 | """
5460 |
5461 | engine: str
5462 | """ The engine's name. """
5463 | version: NotRequired[str]
5464 | """ The engine's version. """
5465 |
5466 |
5467 | class MarkdownClientCapabilities(TypedDict):
5468 | """Client capabilities specific to the used markdown parser.
5469 |
5470 | @since 3.16.0
5471 | """
5472 |
5473 | parser: str
5474 | """ The name of the parser. """
5475 | version: NotRequired[str]
5476 | """ The version of the parser. """
5477 | allowedTags: NotRequired[list[str]]
5478 | """ A list of HTML tags that the client allows / supports in
5479 | Markdown.
5480 |
5481 | @since 3.17.0 """
5482 |
5483 |
5484 | class __CodeActionClientCapabilities_codeActionLiteralSupport_Type_1(TypedDict):
5485 | codeActionKind: "__CodeActionClientCapabilities_codeActionLiteralSupport_codeActionKind_Type_1"
5486 | """ The code action kind is support with the following value
5487 | set. """
5488 |
5489 |
5490 | class __CodeActionClientCapabilities_codeActionLiteralSupport_codeActionKind_Type_1(TypedDict):
5491 | valueSet: list["CodeActionKind"]
5492 | """ The code action kind values the client supports. When this
5493 | property exists the client also guarantees that it will
5494 | handle values outside its set gracefully and falls back
5495 | to a default value when unknown. """
5496 |
5497 |
5498 | class __CodeActionClientCapabilities_resolveSupport_Type_1(TypedDict):
5499 | properties: list[str]
5500 | """ The properties that a client can resolve lazily. """
5501 |
5502 |
5503 | class __CodeAction_disabled_Type_1(TypedDict):
5504 | reason: str
5505 | """ Human readable description of why the code action is currently disabled.
5506 |
5507 | This is displayed in the code actions UI. """
5508 |
5509 |
5510 | class __CompletionClientCapabilities_completionItemKind_Type_1(TypedDict):
5511 | valueSet: NotRequired[list["CompletionItemKind"]]
5512 | """ The completion item kind values the client supports. When this
5513 | property exists the client also guarantees that it will
5514 | handle values outside its set gracefully and falls back
5515 | to a default value when unknown.
5516 |
5517 | If this property is not present the client only supports
5518 | the completion items kinds from `Text` to `Reference` as defined in
5519 | the initial version of the protocol. """
5520 |
5521 |
5522 | class __CompletionClientCapabilities_completionItem_Type_1(TypedDict):
5523 | snippetSupport: NotRequired[bool]
5524 | """ Client supports snippets as insert text.
5525 |
5526 | A snippet can define tab stops and placeholders with `$1`, `$2`
5527 | and `${3:foo}`. `$0` defines the final tab stop, it defaults to
5528 | the end of the snippet. Placeholders with equal identifiers are linked,
5529 | that is typing in one will update others too. """
5530 | commitCharactersSupport: NotRequired[bool]
5531 | """ Client supports commit characters on a completion item. """
5532 | documentationFormat: NotRequired[list["MarkupKind"]]
5533 | """ Client supports the following content formats for the documentation
5534 | property. The order describes the preferred format of the client. """
5535 | deprecatedSupport: NotRequired[bool]
5536 | """ Client supports the deprecated property on a completion item. """
5537 | preselectSupport: NotRequired[bool]
5538 | """ Client supports the preselect property on a completion item. """
5539 | tagSupport: NotRequired["__CompletionClientCapabilities_completionItem_tagSupport_Type_1"]
5540 | """ Client supports the tag property on a completion item. Clients supporting
5541 | tags have to handle unknown tags gracefully. Clients especially need to
5542 | preserve unknown tags when sending a completion item back to the server in
5543 | a resolve call.
5544 |
5545 | @since 3.15.0 """
5546 | insertReplaceSupport: NotRequired[bool]
5547 | """ Client support insert replace edit to control different behavior if a
5548 | completion item is inserted in the text or should replace text.
5549 |
5550 | @since 3.16.0 """
5551 | resolveSupport: NotRequired["__CompletionClientCapabilities_completionItem_resolveSupport_Type_1"]
5552 | """ Indicates which properties a client can resolve lazily on a completion
5553 | item. Before version 3.16.0 only the predefined properties `documentation`
5554 | and `details` could be resolved lazily.
5555 |
5556 | @since 3.16.0 """
5557 | insertTextModeSupport: NotRequired["__CompletionClientCapabilities_completionItem_insertTextModeSupport_Type_1"]
5558 | """ The client supports the `insertTextMode` property on
5559 | a completion item to override the whitespace handling mode
5560 | as defined by the client (see `insertTextMode`).
5561 |
5562 | @since 3.16.0 """
5563 | labelDetailsSupport: NotRequired[bool]
5564 | """ The client has support for completion item label
5565 | details (see also `CompletionItemLabelDetails`).
5566 |
5567 | @since 3.17.0 """
5568 |
5569 |
5570 | class __CompletionClientCapabilities_completionItem_insertTextModeSupport_Type_1(TypedDict):
5571 | valueSet: list["InsertTextMode"]
5572 |
5573 |
5574 | class __CompletionClientCapabilities_completionItem_resolveSupport_Type_1(TypedDict):
5575 | properties: list[str]
5576 | """ The properties that a client can resolve lazily. """
5577 |
5578 |
5579 | class __CompletionClientCapabilities_completionItem_tagSupport_Type_1(TypedDict):
5580 | valueSet: list["CompletionItemTag"]
5581 | """ The tags supported by the client. """
5582 |
5583 |
5584 | class __CompletionClientCapabilities_completionList_Type_1(TypedDict):
5585 | itemDefaults: NotRequired[list[str]]
5586 | """ The client supports the following itemDefaults on
5587 | a completion list.
5588 |
5589 | The value lists the supported property names of the
5590 | `CompletionList.itemDefaults` object. If omitted
5591 | no properties are supported.
5592 |
5593 | @since 3.17.0 """
5594 |
5595 |
5596 | class __CompletionList_itemDefaults_Type_1(TypedDict):
5597 | commitCharacters: NotRequired[list[str]]
5598 | """ A default commit character set.
5599 |
5600 | @since 3.17.0 """
5601 | editRange: NotRequired[Union["Range", "__CompletionList_itemDefaults_editRange_Type_1"]]
5602 | """ A default edit range.
5603 |
5604 | @since 3.17.0 """
5605 | insertTextFormat: NotRequired["InsertTextFormat"]
5606 | """ A default insert text format.
5607 |
5608 | @since 3.17.0 """
5609 | insertTextMode: NotRequired["InsertTextMode"]
5610 | """ A default insert text mode.
5611 |
5612 | @since 3.17.0 """
5613 | data: NotRequired["LSPAny"]
5614 | """ A default data value.
5615 |
5616 | @since 3.17.0 """
5617 |
5618 |
5619 | class __CompletionList_itemDefaults_editRange_Type_1(TypedDict):
5620 | insert: "Range"
5621 | replace: "Range"
5622 |
5623 |
5624 | class __CompletionOptions_completionItem_Type_1(TypedDict):
5625 | labelDetailsSupport: NotRequired[bool]
5626 | """ The server has support for completion item label
5627 | details (see also `CompletionItemLabelDetails`) when
5628 | receiving a completion item in a resolve call.
5629 |
5630 | @since 3.17.0 """
5631 |
5632 |
5633 | class __CompletionOptions_completionItem_Type_2(TypedDict):
5634 | labelDetailsSupport: NotRequired[bool]
5635 | """ The server has support for completion item label
5636 | details (see also `CompletionItemLabelDetails`) when
5637 | receiving a completion item in a resolve call.
5638 |
5639 | @since 3.17.0 """
5640 |
5641 |
5642 | class __DocumentSymbolClientCapabilities_symbolKind_Type_1(TypedDict):
5643 | valueSet: NotRequired[list["SymbolKind"]]
5644 | """ The symbol kind values the client supports. When this
5645 | property exists the client also guarantees that it will
5646 | handle values outside its set gracefully and falls back
5647 | to a default value when unknown.
5648 |
5649 | If this property is not present the client only supports
5650 | the symbol kinds from `File` to `Array` as defined in
5651 | the initial version of the protocol. """
5652 |
5653 |
5654 | class __DocumentSymbolClientCapabilities_tagSupport_Type_1(TypedDict):
5655 | valueSet: list["SymbolTag"]
5656 | """ The tags supported by the client. """
5657 |
5658 |
5659 | class __FoldingRangeClientCapabilities_foldingRangeKind_Type_1(TypedDict):
5660 | valueSet: NotRequired[list["FoldingRangeKind"]]
5661 | """ The folding range kind values the client supports. When this
5662 | property exists the client also guarantees that it will
5663 | handle values outside its set gracefully and falls back
5664 | to a default value when unknown. """
5665 |
5666 |
5667 | class __FoldingRangeClientCapabilities_foldingRange_Type_1(TypedDict):
5668 | collapsedText: NotRequired[bool]
5669 | """ If set, the client signals that it supports setting collapsedText on
5670 | folding ranges to display custom labels instead of the default text.
5671 |
5672 | @since 3.17.0 """
5673 |
5674 |
5675 | class __GeneralClientCapabilities_staleRequestSupport_Type_1(TypedDict):
5676 | cancel: bool
5677 | """ The client will actively cancel the request. """
5678 | retryOnContentModified: list[str]
5679 | """ The list of requests for which the client
5680 | will retry the request if it receives a
5681 | response with error code `ContentModified` """
5682 |
5683 |
5684 | class __InitializeResult_serverInfo_Type_1(TypedDict):
5685 | name: str
5686 | """ The name of the server as defined by the server. """
5687 | version: NotRequired[str]
5688 | """ The server's version as defined by the server. """
5689 |
5690 |
5691 | class __InlayHintClientCapabilities_resolveSupport_Type_1(TypedDict):
5692 | properties: list[str]
5693 | """ The properties that a client can resolve lazily. """
5694 |
5695 |
5696 | class __MarkedString_Type_1(TypedDict):
5697 | language: str
5698 | value: str
5699 |
5700 |
5701 | class __NotebookDocumentChangeEvent_cells_Type_1(TypedDict):
5702 | structure: NotRequired["__NotebookDocumentChangeEvent_cells_structure_Type_1"]
5703 | """ Changes to the cell structure to add or
5704 | remove cells. """
5705 | data: NotRequired[list["NotebookCell"]]
5706 | """ Changes to notebook cells properties like its
5707 | kind, execution summary or metadata. """
5708 | textContent: NotRequired[list["__NotebookDocumentChangeEvent_cells_textContent_Type_1"]]
5709 | """ Changes to the text content of notebook cells. """
5710 |
5711 |
5712 | class __NotebookDocumentChangeEvent_cells_structure_Type_1(TypedDict):
5713 | array: "NotebookCellArrayChange"
5714 | """ The change to the cell array. """
5715 | didOpen: NotRequired[list["TextDocumentItem"]]
5716 | """ Additional opened cell text documents. """
5717 | didClose: NotRequired[list["TextDocumentIdentifier"]]
5718 | """ Additional closed cell text documents. """
5719 |
5720 |
5721 | class __NotebookDocumentChangeEvent_cells_textContent_Type_1(TypedDict):
5722 | document: "VersionedTextDocumentIdentifier"
5723 | changes: list["TextDocumentContentChangeEvent"]
5724 |
5725 |
5726 | class __NotebookDocumentFilter_Type_1(TypedDict):
5727 | notebookType: str
5728 | """ The type of the enclosing notebook. """
5729 | scheme: NotRequired[str]
5730 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """
5731 | pattern: NotRequired[str]
5732 | """ A glob pattern. """
5733 |
5734 |
5735 | class __NotebookDocumentFilter_Type_2(TypedDict):
5736 | notebookType: NotRequired[str]
5737 | """ The type of the enclosing notebook. """
5738 | scheme: str
5739 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """
5740 | pattern: NotRequired[str]
5741 | """ A glob pattern. """
5742 |
5743 |
5744 | class __NotebookDocumentFilter_Type_3(TypedDict):
5745 | notebookType: NotRequired[str]
5746 | """ The type of the enclosing notebook. """
5747 | scheme: NotRequired[str]
5748 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """
5749 | pattern: str
5750 | """ A glob pattern. """
5751 |
5752 |
5753 | class __NotebookDocumentSyncOptions_notebookSelector_Type_1(TypedDict):
5754 | notebook: Union[str, "NotebookDocumentFilter"]
5755 | """ The notebook to be synced If a string
5756 | value is provided it matches against the
5757 | notebook type. '*' matches every notebook. """
5758 | cells: NotRequired[list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_1"]]
5759 | """ The cells of the matching notebook to be synced. """
5760 |
5761 |
5762 | class __NotebookDocumentSyncOptions_notebookSelector_Type_2(TypedDict):
5763 | notebook: NotRequired[Union[str, "NotebookDocumentFilter"]]
5764 | """ The notebook to be synced If a string
5765 | value is provided it matches against the
5766 | notebook type. '*' matches every notebook. """
5767 | cells: list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_2"]
5768 | """ The cells of the matching notebook to be synced. """
5769 |
5770 |
5771 | class __NotebookDocumentSyncOptions_notebookSelector_Type_3(TypedDict):
5772 | notebook: Union[str, "NotebookDocumentFilter"]
5773 | """ The notebook to be synced If a string
5774 | value is provided it matches against the
5775 | notebook type. '*' matches every notebook. """
5776 | cells: NotRequired[list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_3"]]
5777 | """ The cells of the matching notebook to be synced. """
5778 |
5779 |
5780 | class __NotebookDocumentSyncOptions_notebookSelector_Type_4(TypedDict):
5781 | notebook: NotRequired[Union[str, "NotebookDocumentFilter"]]
5782 | """ The notebook to be synced If a string
5783 | value is provided it matches against the
5784 | notebook type. '*' matches every notebook. """
5785 | cells: list["__NotebookDocumentSyncOptions_notebookSelector_cells_Type_4"]
5786 | """ The cells of the matching notebook to be synced. """
5787 |
5788 |
5789 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_1(TypedDict):
5790 | language: str
5791 |
5792 |
5793 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_2(TypedDict):
5794 | language: str
5795 |
5796 |
5797 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_3(TypedDict):
5798 | language: str
5799 |
5800 |
5801 | class __NotebookDocumentSyncOptions_notebookSelector_cells_Type_4(TypedDict):
5802 | language: str
5803 |
5804 |
5805 | class __PrepareRenameResult_Type_1(TypedDict):
5806 | range: "Range"
5807 | placeholder: str
5808 |
5809 |
5810 | class __PrepareRenameResult_Type_2(TypedDict):
5811 | defaultBehavior: bool
5812 |
5813 |
5814 | class __PublishDiagnosticsClientCapabilities_tagSupport_Type_1(TypedDict):
5815 | valueSet: list["DiagnosticTag"]
5816 | """ The tags supported by the client. """
5817 |
5818 |
5819 | class __SemanticTokensClientCapabilities_requests_Type_1(TypedDict):
5820 | range: NotRequired[bool | dict]
5821 | """ The client will send the `textDocument/semanticTokens/range` request if
5822 | the server provides a corresponding handler. """
5823 | full: NotRequired[Union[bool, "__SemanticTokensClientCapabilities_requests_full_Type_1"]]
5824 | """ The client will send the `textDocument/semanticTokens/full` request if
5825 | the server provides a corresponding handler. """
5826 |
5827 |
5828 | class __SemanticTokensClientCapabilities_requests_full_Type_1(TypedDict):
5829 | delta: NotRequired[bool]
5830 | """ The client will send the `textDocument/semanticTokens/full/delta` request if
5831 | the server provides a corresponding handler. """
5832 |
5833 |
5834 | class __SemanticTokensOptions_full_Type_1(TypedDict):
5835 | delta: NotRequired[bool]
5836 | """ The server supports deltas for full documents. """
5837 |
5838 |
5839 | class __SemanticTokensOptions_full_Type_2(TypedDict):
5840 | delta: NotRequired[bool]
5841 | """ The server supports deltas for full documents. """
5842 |
5843 |
5844 | class __ServerCapabilities_workspace_Type_1(TypedDict):
5845 | workspaceFolders: NotRequired["WorkspaceFoldersServerCapabilities"]
5846 | """ The server supports workspace folder.
5847 |
5848 | @since 3.6.0 """
5849 | fileOperations: NotRequired["FileOperationOptions"]
5850 | """ The server is interested in notifications/requests for operations on files.
5851 |
5852 | @since 3.16.0 """
5853 |
5854 |
5855 | class __ShowMessageRequestClientCapabilities_messageActionItem_Type_1(TypedDict):
5856 | additionalPropertiesSupport: NotRequired[bool]
5857 | """ Whether the client supports additional attributes which
5858 | are preserved and send back to the server in the
5859 | request's response. """
5860 |
5861 |
5862 | class __SignatureHelpClientCapabilities_signatureInformation_Type_1(TypedDict):
5863 | documentationFormat: NotRequired[list["MarkupKind"]]
5864 | """ Client supports the following content formats for the documentation
5865 | property. The order describes the preferred format of the client. """
5866 | parameterInformation: NotRequired["__SignatureHelpClientCapabilities_signatureInformation_parameterInformation_Type_1"]
5867 | """ Client capabilities specific to parameter information. """
5868 | activeParameterSupport: NotRequired[bool]
5869 | """ The client supports the `activeParameter` property on `SignatureInformation`
5870 | literal.
5871 |
5872 | @since 3.16.0 """
5873 |
5874 |
5875 | class __SignatureHelpClientCapabilities_signatureInformation_parameterInformation_Type_1(TypedDict):
5876 | labelOffsetSupport: NotRequired[bool]
5877 | """ The client supports processing label offsets instead of a
5878 | simple label string.
5879 |
5880 | @since 3.14.0 """
5881 |
5882 |
5883 | class __TextDocumentContentChangeEvent_Type_1(TypedDict):
5884 | range: "Range"
5885 | """ The range of the document that changed. """
5886 | rangeLength: NotRequired[Uint]
5887 | """ The optional length of the range that got replaced.
5888 |
5889 | @deprecated use range instead. """
5890 | text: str
5891 | """ The new text for the provided range. """
5892 |
5893 |
5894 | class __TextDocumentContentChangeEvent_Type_2(TypedDict):
5895 | text: str
5896 | """ The new text of the whole document. """
5897 |
5898 |
5899 | class __TextDocumentFilter_Type_1(TypedDict):
5900 | language: str
5901 | """ A language id, like `typescript`. """
5902 | scheme: NotRequired[str]
5903 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """
5904 | pattern: NotRequired[str]
5905 | """ A glob pattern, like `*.{ts,js}`. """
5906 |
5907 |
5908 | class __TextDocumentFilter_Type_2(TypedDict):
5909 | language: NotRequired[str]
5910 | """ A language id, like `typescript`. """
5911 | scheme: str
5912 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """
5913 | pattern: NotRequired[str]
5914 | """ A glob pattern, like `*.{ts,js}`. """
5915 |
5916 |
5917 | class __TextDocumentFilter_Type_3(TypedDict):
5918 | language: NotRequired[str]
5919 | """ A language id, like `typescript`. """
5920 | scheme: NotRequired[str]
5921 | """ A Uri {@link Uri.scheme scheme}, like `file` or `untitled`. """
5922 | pattern: str
5923 | """ A glob pattern, like `*.{ts,js}`. """
5924 |
5925 |
5926 | class __WorkspaceEditClientCapabilities_changeAnnotationSupport_Type_1(TypedDict):
5927 | groupsOnLabel: NotRequired[bool]
5928 | """ Whether the client groups edits with equal labels into tree nodes,
5929 | for instance all edits labelled with "Changes in Strings" would
5930 | be a tree node. """
5931 |
5932 |
5933 | class __WorkspaceSymbolClientCapabilities_resolveSupport_Type_1(TypedDict):
5934 | properties: list[str]
5935 | """ The properties that a client can resolve lazily. Usually
5936 | `location.range` """
5937 |
5938 |
5939 | class __WorkspaceSymbolClientCapabilities_symbolKind_Type_1(TypedDict):
5940 | valueSet: NotRequired[list["SymbolKind"]]
5941 | """ The symbol kind values the client supports. When this
5942 | property exists the client also guarantees that it will
5943 | handle values outside its set gracefully and falls back
5944 | to a default value when unknown.
5945 |
5946 | If this property is not present the client only supports
5947 | the symbol kinds from `File` to `Array` as defined in
5948 | the initial version of the protocol. """
5949 |
5950 |
5951 | class __WorkspaceSymbolClientCapabilities_tagSupport_Type_1(TypedDict):
5952 | valueSet: list["SymbolTag"]
5953 | """ The tags supported by the client. """
5954 |
5955 |
5956 | class __WorkspaceSymbol_location_Type_1(TypedDict):
5957 | uri: "DocumentUri"
5958 |
5959 |
5960 | class ___InitializeParams_clientInfo_Type_1(TypedDict):
5961 | name: str
5962 | """ The name of the client as defined by the client. """
5963 | version: NotRequired[str]
5964 | """ The client's version as defined by the client. """
5965 |
```