# Add logic for managing language and theme extensions \(\#7467\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/6edeea7c8a3bdbcaaafa38e4740de0ac6927d6fb)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 6edeea7c8a3bdbcaaafa38e4740de0ac6927d6fb

Requested commit: 6edeea7c8a3bdbcaaafa38e4740de0ac6927d6fb

Commit: 6edeea7c8a3bdbcaaafa38e4740de0ac6927d6fb

Tree: 9b1f1503dd9d7b6f837b6a13704d663dc5781e77

Author: Max Brunsfeld

Committer: GitHub

## Message

````
Add logic for managing language and theme extensions (#7467)

This PR adds the initial support for loading extensions in Zed.

### Extensions Directory

Extensions are loaded from the extensions directory.

The extensions directory has the following structure:

```
extensions/
  installed/
    extension-a/
      grammars/
      languages/
    extension-b/
      themes/
  manifest.json
```

The `manifest.json` file is used internally by Zed to keep track of
which extensions are installed. This file should be maintained
automatically, and shouldn't require any direct interaction with it.

Extensions can provide Tree-sitter grammars, languages, and themes.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
````

## Parents

- [6b598a07d95ed65e88bd55e586977a5cac058d29](https://git.cafe/gitcafe/zed/commit/6b598a07d95ed65e88bd55e586977a5cac058d29?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/6edeea7c8a3bdbcaaafa38e4740de0ac6927d6fb?format=markdown)
