zed/extensions
xdBronch 029d08350e
zig: Switch to official Zig grammar (#20004)
Closes #20001

the old outline was *weird* for many reasons so ill just show it with a
hodgepodge of zig declarations
before:

![image](https://github.com/user-attachments/assets/87395623-3e28-491c-9693-c1714da6b29f)
after:

![image](https://github.com/user-attachments/assets/1aa3f3b7-18b0-4d39-b1c6-99740e7bcd6a)

why were values shown? why werent `var`s or modifiers like pub, const,
export? it was very odd to me and inconsistent with other languages. i
chose to leave out unnamed tests, it just seemed like noise to me since
they werent distinct but i can easily revert that
unfortunately there seems to be a bug upstream which causes those
`t`/`f` decls to show 2 things
https://github.com/tree-sitter-grammars/tree-sitter-zig/issues/3

im very new to treesitter and queries so i really havent looked over the
rest of the stuff here, other than outline theyre unmodified please lmk
if theres anything wrong

Release Notes:

- Changed upstream treesitter grammar for zig
2024-11-07 09:47:15 +01:00
..
astro Add inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206) 2024-11-04 15:36:39 -08:00
clojure chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
csharp csharp: Add support for triple-slash doc comments (#18869) 2024-10-08 13:54:11 -04:00
deno chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
elixir Add inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206) 2024-11-04 15:36:39 -08:00
elm chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
emmet extensions: Upgrade zed_extension_api to v0.1.0 (#16955) 2024-08-27 12:00:43 -04:00
erlang erlang: Bump to v0.1.0 (#17679) 2024-09-10 23:21:24 -04:00
glsl chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
haskell extensions: Upgrade zed_extension_api to v0.1.0 (#16955) 2024-08-27 12:00:43 -04:00
html html: Bump to v0.1.3 (#19251) 2024-10-16 08:42:27 -04:00
lua lua: Bump to v0.1.0 (#18246) 2024-09-23 19:53:28 -04:00
ocaml ocaml: Bump to v0.1.0 (#17945) 2024-09-17 12:13:06 -04:00
perplexity perplexity: Remove duplicate step and fix numbering in README (#17978) 2024-09-17 18:31:06 -04:00
php languages: Do not expose unnecessary captures from tasks (#19625) 2024-10-23 18:54:08 +02:00
prisma extensions: Upgrade zed_extension_api to v0.1.0 (#16955) 2024-08-27 12:00:43 -04:00
proto proto: Bump to v0.2.0 (#18814) 2024-10-07 10:11:12 -04:00
purescript extensions: Upgrade zed_extension_api to v0.1.0 (#16955) 2024-08-27 12:00:43 -04:00
racket Improve syntax highlights (#18728) 2024-10-09 19:25:46 +02:00
ruff ruff: Bump to v0.1.0 (#17960) 2024-09-17 14:21:06 -04:00
scheme Add inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206) 2024-11-04 15:36:39 -08:00
slash-commands-example slash-commands-example: Fix numbering in README (#17452) 2024-09-05 15:39:09 -04:00
snippets chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
terraform terraform: Bump to v0.1.1 (#18382) 2024-09-26 08:36:58 -04:00
test-extension zed_extension_api: Fork new version of extension API (#17795) 2024-09-13 10:54:23 -04:00
toml Add inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206) 2024-11-04 15:36:39 -08:00
uiua extensions: Upgrade zed_extension_api to v0.1.0 (#16955) 2024-08-27 12:00:43 -04:00
zig zig: Switch to official Zig grammar (#20004) 2024-11-07 09:47:15 +01:00
.gitignore Provide wasm extensions with APIs needed for using pre-installed LSP binaries (#9085) 2024-03-08 17:18:06 -05:00
EXTRACTION.md Document extension extraction process (#19085) 2024-10-11 16:33:40 -04:00
README.md Document extension bump process (#18872) 2024-10-08 16:13:56 -04:00

Zed Extensions

This directory contains extensions for Zed that are largely maintained by the Zed team. They currently live in the Zed repository for ease of maintenance.

If you are looking for the Zed extension registry, see the zed-industries/extensions repo.

Structure

Currently, Zed includes support for a number of languages without requiring installing an extension. Those languages can be found under crates/languages/src.

Support for all other languages is done via extensions. This directory (extensions/) contains a number of officially maintained extensions. These extensions use the same zed_extension_api available to all Zed Extensions for providing language servers, tree-sitter grammars and tree-sitter queries.

Dev Extensions

See the docs for Developing an Extension Locally for how to work with one of these extensions.

Updating

Note

This update process is usually handled by Zed staff. Community contributors should just submit a PR (step 1) and we'll take it from there.

The process for updating an extension in this directory has three parts.

  1. Create a PR with your changes. (Merge it)

  2. Bump the extension version in:

    • extensions/{language_name}/extension.toml
    • extensions/{language_name}/Cargo.toml
    • Cargo.lock

    You can do this manually, or with a script:

    # Output the current version for a given language
    ./script/language-extension-version <langname>
    
    # Update the version in `extension.toml` and `Cargo.toml` and trigger a `cargo check`
    ./script/language-extension-version <langname> <new_version>
    

    Commit your changes to a branch, push a PR and merge it.

  3. Open a PR to zed-industries/extensions repo that updates the extension in question

Edit extensions.toml in the extensions repo to reflect the new version you set above and update the submodule latest Zed commit.

# Go into your clone of the extensions repo
cd ../extensions

# Update
git checkout main
git pull
just init-submodule extensions/zed

# Update the Zed submodule
cd extensions/zed
git checkout main
git pull
cd -
git add extensions.toml extensions/zed