ZIm/crates/extension/src
Marshall Bowers 8ec36f1e2b
extension: Define capabilities in the extension manifest (#16953)
This PR adds an initial notion of extension capabilities.

Capabilities are used to express the operations an extension is capable
of doing. This will provide further insights into what an extension can
do, as well as provide the ability to grant or deny the set of
capabilities.

Capabilities are defined in the `capabilities` field in the extension
manifest. This field contains an array of capabilities.

Each capability has a `kind` to denote the known capability it
corresponds to. Individual capabilities may have additional fields,
based on the `kind`.

Here's an example of some capabilities:

```toml
capabilities = [
    { kind = "download-file", host = "github.com", path_prefix = "owner/repo" },
    { kind = "npm:install", package = "@vue/language-server" },
]
```

In order to avoid a breaking change, the `capabilities` field is
currently optional and defaults to an empty array. This will allow us to
add support for extensions to define capabilities before we start
enforcing them.

Release Notes:

- N/A
2024-08-27 11:10:58 -04:00
..
wasm_host Further improve /tabs command and slash arguments completion (#16216) 2024-08-14 17:11:51 +03:00
extension_builder.rs extension: Add more logging when building extensions (#16794) 2024-08-26 11:18:06 -04:00
extension_indexed_docs_provider.rs Allow extensions to suggest packages for /docs completions (#16185) 2024-08-13 16:50:57 -04:00
extension_lsp_adapter.rs Extract Vue extension (#10486) 2024-04-12 14:39:27 -04:00
extension_manifest.rs extension: Define capabilities in the extension manifest (#16953) 2024-08-27 11:10:58 -04:00
extension_settings.rs Add SettingsSources::<T>::json_merge_with function (#10869) 2024-04-22 18:38:34 -04:00
extension_slash_command.rs Fix more bugs in files (#16241) 2024-08-16 10:09:38 -07:00
extension_store.rs extension: Remove tooltip_text from SlashCommandManifestEntry (#16306) 2024-08-15 13:25:55 -04:00
extension_store_test.rs extension: Define capabilities in the extension manifest (#16953) 2024-08-27 11:10:58 -04:00
wasm_host.rs extension: Upgrade wasmtime to v21 (#15210) 2024-07-25 13:56:40 -04:00