Detailed changes
@@ -24,12 +24,42 @@
# Language Support
+- [Astro](./languages/astro.md)
+- [C](./languages/c.md)
+- [C++](./languages/cpp.md)
+- [C#](./languages/csharp.md)
+- [Clojure](./languages/clojure.md)
+- [CSS](./languages/css.md)
+- [Deno](./languages/deno.md)
- [Elixir](./languages/elixir.md)
+- [Elm](./languages/elm.md)
+- [Erlang](./languages/erlang.md)
+- [Gleam](./languages/gleam.md)
- [Go](./languages/go.md)
+- [Haskell](./languages/haskell.md)
+- [HTML](./languages/html.md)
- [JavaScript](./languages/javascript.md)
+- [JSON](./languages/json.md)
+- [Lua](./languages/lua.md)
+- [Markdown](./languages/markdown.md)
+- [OCaml](./languages/ocaml.md)
+- [PHP](./languages/php.md)
+- [Prisma](./languages/prisma.md)
+- [Proto](./languages/proto.md)
+- [PureScript](./languages/purescript.md)
- [Python](./languages/python.md)
+- [Racket](./languages/racket.md)
- [Ruby](./languages/ruby.md)
- [Rust](./languages/rust.md)
+- [Scheme](./languages/scheme.md)
+- [Svelte](./languages/svelte.md)
+- [Terraform](./languages/terraform.md)
+- [TOML](./languages/toml.md)
+- [TypeScript](./languages/typescript.md)
+- [Uiua](./languages/uiua.md)
+- [Vue](./languages/vue.md)
+- [YAML](./languages/yaml.md)
+- [Zig](./languages/zig.md)
# Developing Zed
@@ -1,4 +1,3 @@
# Astro
-- Tree Sitter: [tree-sitter-astro](https://github.com/virchau13/tree-sitter-astro)
-- Language Server: [astro](https://github.com/withastro/language-tools/tree/main/packages/language-server)
+Astro support is available through the [Astro extension](https://github.com/zed-industries/zed/tree/main/extensions/astro).
@@ -1,4 +1,6 @@
# C
+C support is available natively in Zed.
+
- Tree Sitter: [tree-sitter-c](https://github.com/tree-sitter/tree-sitter-c)
- Language Server: [clangd](https://github.com/clangd/clangd)
@@ -1,4 +1,3 @@
# Clojure
-- Tree Sitter: [tree-sitter-clojure](https://github.com/prcastro/tree-sitter-clojure)
-- Language Server: [clojure-lsp](https://github.com/clojure-lsp/clojure-lsp)
+Clojure support is available through the [Clojure extension](https://github.com/zed-industries/zed/tree/main/extensions/clojure).
@@ -1,4 +1,6 @@
# C++
+C++ support is available natively in Zed.
+
- Tree Sitter: [tree-sitter-cpp](https://github.com/tree-sitter/tree-sitter-cpp)
- Language Server: [clangd](https://github.com/clangd/clangd)
@@ -1,4 +1,3 @@
# C#
-- Tree Sitter: [tree-sitter-c-sharp](https://github.com/tree-sitter/tree-sitter-c-sharp)
-- Language Server: [OmniSharp](https://github.com/OmniSharp/omnisharp-roslyn)
+C# support is available through the [C# extension](https://github.com/zed-industries/zed/tree/main/extensions/csharp).
@@ -1,4 +1,6 @@
# CSS
+CSS support is available natively in Zed.
+
- Tree Sitter: [tree-sitter-css](https://github.com/tree-sitter/tree-sitter-css)
- Language Server: N/A
@@ -1,4 +1,3 @@
# Deno
-- Tree Sitter: [tree-sitter-typescript](https://github.com/tree-sitter/tree-sitter-typescript)
-- Language Server: [deno](https://github.com/denoland/deno)
+Deno support is available through the [Deno extension](https://github.com/zed-industries/zed/tree/main/extensions/deno).
@@ -1,7 +1,6 @@
# Elm
-- Tree Sitter: [tree-sitter-elm](https://github.com/elm-tooling/tree-sitter-elm)
-- Language Server: [elm-language-server](https://github.com/elm-tooling/elm-language-server)
+Elm support is available through the [Elm extension](https://github.com/zed-industries/zed/tree/main/extensions/elm).
### Setting up `elm-language-server`
@@ -21,5 +20,4 @@ Elm language server can be configured in your `settings.json`, e.g.:
}
```
-`elm-format`, `elm-review` and `elm` need to be installed and made available in the environment
-or configured in the settings. See the [full list of server settings here](https://github.com/elm-tooling/elm-language-server?tab=readme-ov-file#server-settings).
+`elm-format`, `elm-review` and `elm` need to be installed and made available in the environment or configured in the settings. See the [full list of server settings here](https://github.com/elm-tooling/elm-language-server?tab=readme-ov-file#server-settings).
@@ -1,4 +0,0 @@
-# ERB
-
-- Tree Sitter: [tree-sitter-embedded-template](https://github.com/tree-sitter/tree-sitter-embedded-template)
-- Language Server: [solargraph](https://github.com/castwide/solargraph)
@@ -1,4 +1,3 @@
# Erlang
-- Tree Sitter: [tree-sitter-erlang](https://github.com/WhatsApp/tree-sitter-erlang)
-- Language Server: [erlang_ls](https://github.com/erlang-ls/erlang_ls)
+Erlang support is available through the [Erlang extension](https://github.com/zed-industries/zed/tree/main/extensions/erlang).
@@ -1,4 +1,3 @@
# Gleam
-- Tree Sitter: [tree-sitter-gleam](https://github.com/gleam-lang/tree-sitter-gleam)
-- Language Server: [gleam](https://github.com/gleam-lang/gleam)
+Gleam support is available through the [Gleam extension](https://github.com/zed-industries/zed/tree/main/extensions/gleam).
@@ -1,4 +1,3 @@
# Haskell
-- Tree Sitter: [tree-sitter-haskell](https://github.com/tree-sitter/tree-sitter-haskell)
-- Language Server: [hls](https://github.com/haskell/haskell-language-server)
+Haskell support is available through the [Haskell extension](https://github.com/zed-industries/zed/tree/main/extensions/haskell).
@@ -1,4 +1,15 @@
# HTML
-- Tree Sitter: [tree-sitter-html](https://github.com/tree-sitter/tree-sitter-html)
-- Language Server: [vscode-html-language-server](https://github.com/hrsh7th/vscode-langservers-extracted)
+HTML support is available through the [HTML extension](https://github.com/zed-industries/zed/tree/main/extensions/html).
+
+This extension is automatically installed.
+
+If you do not want to use the HTML extension, you can add the following to your settings:
+
+```json
+{
+ "auto_install_extensions": {
+ "html": false
+ }
+}
+```
@@ -1,4 +1,6 @@
# JSON
+JSON support is available natively in Zed.
+
- Tree Sitter: [tree-sitter-json](https://github.com/tree-sitter/tree-sitter-json)
- Language Server: [json-language-server](https://github.com/zed-industries/json-language-server)
@@ -1,4 +1,3 @@
# Lua
-- Tree Sitter: [tree-sitter-lua](https://github.com/MunifTanjim/tree-sitter-lua)
-- Language Server: [lua-language-server](https://github.com/LuaLS/lua-language-server)
+Lua support is available through the [Lua extension](https://github.com/zed-industries/zed/tree/main/extensions/lua).
@@ -1,4 +1,6 @@
# Markdown
+Markdown support is available natively in Zed.
+
- Tree Sitter: [tree-sitter-markdown](https://github.com/MDeiml/tree-sitter-markdown)
- Language Server: N/A
@@ -1,13 +1,12 @@
# OCaml
-- Tree Sitter: [tree-sitter-ocaml](https://github.com/tree-sitter/tree-sitter-ocaml)
-- Language Server: [ocamllsp](https://github.com/ocaml/ocaml-lsp)
+OCaml support is available through the [OCaml extension](https://github.com/zed-industries/zed/tree/main/extensions/ocaml).
## Setup Instructions
If you have the development environment already setup, you can skip to [Launching Zed](#launching-zed)
-### Using OPAM
+### Using Opam
Opam is the official package manager for OCaml and is highly recommended for getting started with OCaml. To get started using Opam, please follow the instructions provided [here](https://ocaml.org/install).
@@ -1,4 +1,3 @@
# PHP
-- Tree Sitter: [tree-sitter-php](https://github.com/tree-sitter/tree-sitter-php)
-- Language Server: [intelephense](https://intelephense.com/)
+PHP support is available through the [PHP extension](https://github.com/zed-industries/zed/tree/main/extensions/php).
@@ -1,4 +1,3 @@
# Prisma
-- Tree Sitter: [tree-sitter-prisma](https://github.com/victorhqc/tree-sitter-prisma)
-- Language Server: [prisma-language-server](https://github.com/prisma/language-tools/tree/main/packages/language-server)
+Prisma support is available through the [Prisma extension](https://github.com/zed-industries/zed/tree/main/extensions/prisma).
@@ -1,4 +1,6 @@
# Proto
+Proto support is available natively in Zed.
+
- Tree-Sitter: [tree-sitter-proto](https://github.com/rewinfrey/tree-sitter-proto)
- Language-Server: N/A
@@ -1,4 +1,3 @@
# PureScript
-- Tree Sitter: [tree-sitter-purescript](https://github.com/postsolar/tree-sitter-purescript)
-- Language Server: [purescript](https://github.com/nwolverson/purescript-language-server)
+PureScript support is available through the [PureScript extension](https://github.com/zed-industries/zed/tree/main/extensions/purescript).
@@ -1,4 +1,3 @@
# Racket
-- Tree Sitter: [tree-sitter-racket](https://github.com/zed-industries/tree-sitter-racket)
-- Language Server: N/A
+Racket support is available through the [Racket extension](https://github.com/zed-industries/zed/tree/main/extensions/racket).
@@ -2,6 +2,8 @@
Ruby support is available through the [Ruby extension](https://github.com/zed-industries/zed/tree/main/extensions/ruby).
+The Ruby extension also provides support for ERB files.
+
## Choosing a language server
The Ruby extension offers both `solargraph` and `ruby-lsp` language server support.
@@ -1,4 +1,3 @@
# Scheme
-- Tree Sitter: [tree-sitter-scheme](https://github.com/6cdh/tree-sitter-scheme)
-- Language Server: N/A
+Scheme support is available through the [Scheme extension](https://github.com/zed-industries/zed/tree/main/extensions/scheme).
@@ -1,7 +1,6 @@
# Svelte
-- Tree Sitter: [tree-sitter-svelte](https://github.com/Himujjal/tree-sitter-svelte)
-- Language Server: [svelte](https://github.com/sveltejs/language-tools/tree/master/packages/language-server)
+Svelte support is available through the [Svelte extension](https://github.com/zed-industries/zed/tree/main/extensions/svelte).
## Inlay Hints
@@ -1,7 +1,6 @@
# Terraform
-- Tree Sitter: [tree-sitter-hcl](https://github.com/MichaHoffmann/tree-sitter-hcl)
-- Language Server: [terraform-ls](https://github.com/hashicorp/terraform-ls)
+Terraform support is available through the [Terraform extension](https://github.com/zed-industries/zed/tree/main/extensions/terraform).
### Configuration
@@ -1,4 +1,3 @@
# TOML
-- Tree Sitter: [tree-sitter-toml](https://github.com/tree-sitter/tree-sitter-toml)
-- Language Server: [taplo](https://taplo.tamasfe.dev)
+TOML support is available through the [TOML extension](https://github.com/zed-industries/zed/tree/main/extensions/toml).
@@ -1,4 +0,0 @@
-# TSX
-
-- Tree Sitter: [tree-sitter-typescript](https://github.com/tree-sitter/tree-sitter-typescript)
-- Language Server: [typescript-language-server](https://github.com/typescript-language-server/typescript-language-server)
@@ -1,5 +1,7 @@
# TypeScript
+TypeScript and TSX support are available natively in Zed.
+
- Tree Sitter: [tree-sitter-typescript](https://github.com/tree-sitter/tree-sitter-typescript)
- Language Server: [typescript-language-server](https://github.com/typescript-language-server/typescript-language-server)
@@ -1,4 +1,3 @@
# Uiua
-- Tree Sitter: [tree-sitter-uiua](https://github.com/shnarazk/tree-sitter-uiua)
-- Language Server: [uiua](https://github.com/uiua-lang/uiua)
+Uiua support is available through the [Uiua extension](https://github.com/zed-industries/zed/tree/main/extensions/uiua).
@@ -1,6 +1,5 @@
# Vue
-- Tree Sitter: [tree-sitter-vue](https://github.com/zed-industries/tree-sitter-vue)
-- Language Server: [@vue/language-server](https://github.com/vuejs/language-tools/tree/master/packages/language-server)
+Vue support is available through the [Vue extension](https://github.com/zed-industries/zed/tree/main/extensions/vue).
-> Pinned `@vue/language-server` to version 1.8 until Zed supports 2.x #9846
+> `@vue/language-server` is pinned to v1.8 due to some issues in v2.x [#9846](https://github.com/zed-industries/zed/pull/9846)
@@ -1,4 +1,6 @@
# YAML
+YAML support is available natively in Zed.
+
- Tree Sitter: [tree-sitter-yaml](https://github.com/zed-industries/tree-sitter-yaml)
- Language Server: [yaml-language-server](https://github.com/redhat-developer/yaml-language-server)
@@ -1,4 +1,3 @@
# Zig
-- Tree Sitter: [tree-sitter-zig](https://github.com/maxxnino/tree-sitter-zig)
-- Language Server: [zls](https://github.com/zigtools/zls)
+Zig support is available through the [Zig extension](https://github.com/zed-industries/zed/tree/main/extensions/zig).