NameLast commit messageLast commit date
..
astroAdd inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206)2 years ago
clojurechore: Fix several style lints (#17488)2 years ago
csharpcsharp: Add support for triple-slash doc comments (#18869)2 years ago
denochore: Fix several style lints (#17488)2 years ago
elixirAdd inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206)2 years ago
elmchore: Fix several style lints (#17488)2 years ago
emmetextensions: Upgrade `zed_extension_api` to v0.1.0 (#16955)2 years ago
erlangAdd text objects to extensions (#21488)1 year ago
glslchore: Fix several style lints (#17488)2 years ago
haskellAdd text objects to extensions (#21488)1 year ago
htmlhtml: Bump to v0.1.4 (#20692)1 year ago
luaAdd text objects to extensions (#21488)1 year ago
perplexityFix Perplexity extension URL (#21495)1 year ago
phpAdd text objects to extensions (#21488)1 year ago
prismaAdd text objects to extensions (#21488)1 year ago
protoAdd text objects to extensions (#21488)1 year ago
purescriptextensions: Upgrade `zed_extension_api` to v0.1.0 (#16955)2 years ago
racketImprove syntax highlights (#18728)2 years ago
ruffruff: Bump to v0.1.0 (#17960)2 years ago
schemeAdd inclusive range scope overrides. Don't auto-close quotes at the ends of line comments (#20206)2 years ago
slash-commands-exampleslash-commands-example: Fix numbering in README (#17452)2 years ago
snippetschore: Fix several style lints (#17488)2 years ago
terraformterraform: Bump to v0.1.1 (#18382)2 years ago
test-extensionzed_extension_api: Fork new version of extension API (#17795)2 years ago
tomlAdd text objects to extensions (#21488)1 year ago
uiuaextensions: Upgrade `zed_extension_api` to v0.1.0 (#16955)2 years ago
zigAdd text objects to extensions (#21488)1 year ago
.gitignoreProvide wasm extensions with APIs needed for using pre-installed LSP binaries (#9085)2 years ago
EXTRACTION.mdDocument extension extraction process (#19085)2 years ago
README.mdDocument extension bump process (#18872)2 years ago
README.md

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