ZIm/extensions
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
..
astro astro: Bump to v0.1.0 (#15172) 2024-07-25 08:16:28 -04:00
clojure clojure: Bump to v0.0.3 (#13935) 2024-07-08 11:29:07 -04:00
csharp csharp: Use lsp settings to locate binary if present (#15885) 2024-08-07 10:58:13 -04:00
dart dart: Release 0.0.3 (#14176) 2024-07-11 11:48:04 +02:00
deno deno: Bump to v0.0.2 (#15173) 2024-07-25 08:19:43 -04:00
elixir elixir: Bump to v0.0.9 (#16879) 2024-08-26 10:58:49 -04:00
elm Extract Elm language into an extension (#10432) 2024-04-11 10:23:49 -07:00
emmet emmet: Upgrade zed_extension_api to v0.0.6 (#15177) 2024-07-25 08:34:45 -04:00
erlang erlang: Update tree-sitter grammar and query files (#15973) 2024-08-14 11:07:54 -04:00
gleam extension: Define capabilities in the extension manifest (#16953) 2024-08-27 11:10:58 -04:00
glsl glsl: Bump to v0.1.0 (#10734) 2024-04-18 11:57:21 -04:00
haskell haskell: Bump to v0.1.1 (#16228) 2024-08-14 11:57:47 -04:00
html assistant: Add annotations to more languages (#15866) 2024-08-07 13:47:21 +02:00
lua lua: Bump to v0.0.3 (#13882) 2024-07-05 14:17:53 -04:00
ocaml ocaml: Bump to v0.0.2 (#13864) 2024-07-05 10:10:54 -04:00
perplexity Add a /perplexity slash command in an extension (#16438) 2024-08-18 16:34:55 -06:00
php Add more PHP keywords (#16720) 2024-08-23 09:51:07 +03:00
prisma prisma: Upgrade zed_extension_api to v0.0.6 (#15180) 2024-07-25 08:46:17 -04:00
purescript purescript: Upgrade zed_extension_api to v0.0.6 (#15181) 2024-07-25 08:55:16 -04:00
racket Clean up whitespace (#10755) 2024-04-23 13:31:21 -04:00
ruby ruby: Upgrade zed_extension_api to v0.1.0 (#16907) 2024-08-26 14:20:41 -04:00
ruff ruff: Refactor language server loading (#15852) 2024-08-06 09:10:18 -04:00
scheme Clean up whitespace (#10755) 2024-04-23 13:31:21 -04:00
slash-commands-example Remove tooltip_text from extension manifests (#16312) 2024-08-15 15:54:53 -04:00
snippets snippets: Release 0.0.5 (#13434) 2024-06-24 00:39:42 +02:00
svelte svelte: Bump to v0.0.3 (#14650) 2024-07-17 10:20:50 -04:00
terraform terraform: Bump to v0.0.4 (#15174) 2024-07-25 08:22:28 -04:00
test-extension Use a dedicated test extension in extension tests (#13781) 2024-07-03 11:10:51 -04:00
toml Auto detect some DSLs (#14693) 2024-07-18 04:38:44 +00:00
uiua uiua: Upgrade zed_extension_api to v0.0.6 (#15240) 2024-07-25 20:43:15 -04:00
vue vue: Bump to v0.1.0 (#14748) 2024-07-18 11:39:30 -04:00
zig zig: Bump to v0.3.0 (#16669) 2024-08-22 15:56:09 +02:00
.gitignore Provide wasm extensions with APIs needed for using pre-installed LSP binaries (#9085) 2024-03-08 17:18:06 -05:00