docs: Update language docs and include links in the sidebar (#13828)

Marshall Bowers created

This PR updates the supported language docs and adds them to the sidebar
for better discoverability.

Release Notes:

- N/A

Change summary

docs/src/SUMMARY.md              | 30 ++++++++++++++++++++++++++++++
docs/src/languages/astro.md      |  3 +--
docs/src/languages/c.md          |  2 ++
docs/src/languages/clojure.md    |  3 +--
docs/src/languages/cpp.md        |  2 ++
docs/src/languages/csharp.md     |  3 +--
docs/src/languages/css.md        |  2 ++
docs/src/languages/deno.md       |  3 +--
docs/src/languages/elm.md        |  6 ++----
docs/src/languages/erb.md        |  4 ----
docs/src/languages/erlang.md     |  3 +--
docs/src/languages/gleam.md      |  3 +--
docs/src/languages/haskell.md    |  3 +--
docs/src/languages/html.md       | 15 +++++++++++++--
docs/src/languages/json.md       |  2 ++
docs/src/languages/lua.md        |  3 +--
docs/src/languages/markdown.md   |  2 ++
docs/src/languages/ocaml.md      |  5 ++---
docs/src/languages/php.md        |  3 +--
docs/src/languages/prisma.md     |  3 +--
docs/src/languages/proto.md      |  2 ++
docs/src/languages/purescript.md |  3 +--
docs/src/languages/racket.md     |  3 +--
docs/src/languages/ruby.md       |  2 ++
docs/src/languages/scheme.md     |  3 +--
docs/src/languages/svelte.md     |  3 +--
docs/src/languages/terraform.md  |  3 +--
docs/src/languages/toml.md       |  3 +--
docs/src/languages/tsx.md        |  4 ----
docs/src/languages/typescript.md |  2 ++
docs/src/languages/uiua.md       |  3 +--
docs/src/languages/vue.md        |  5 ++---
docs/src/languages/yaml.md       |  2 ++
docs/src/languages/zig.md        |  3 +--
34 files changed, 85 insertions(+), 56 deletions(-)

Detailed changes

docs/src/SUMMARY.md 🔗

@@ -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
 

docs/src/languages/astro.md 🔗

@@ -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).

docs/src/languages/c.md 🔗

@@ -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)

docs/src/languages/clojure.md 🔗

@@ -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).

docs/src/languages/cpp.md 🔗

@@ -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)

docs/src/languages/csharp.md 🔗

@@ -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).

docs/src/languages/css.md 🔗

@@ -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

docs/src/languages/deno.md 🔗

@@ -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).

docs/src/languages/elm.md 🔗

@@ -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).

docs/src/languages/erb.md 🔗

@@ -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)

docs/src/languages/erlang.md 🔗

@@ -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).

docs/src/languages/gleam.md 🔗

@@ -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).

docs/src/languages/haskell.md 🔗

@@ -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).

docs/src/languages/html.md 🔗

@@ -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
+  }
+}
+```

docs/src/languages/json.md 🔗

@@ -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)

docs/src/languages/lua.md 🔗

@@ -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).

docs/src/languages/markdown.md 🔗

@@ -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

docs/src/languages/ocaml.md 🔗

@@ -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).
 

docs/src/languages/php.md 🔗

@@ -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).

docs/src/languages/prisma.md 🔗

@@ -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).

docs/src/languages/proto.md 🔗

@@ -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

docs/src/languages/purescript.md 🔗

@@ -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).

docs/src/languages/racket.md 🔗

@@ -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).

docs/src/languages/ruby.md 🔗

@@ -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.

docs/src/languages/scheme.md 🔗

@@ -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).

docs/src/languages/svelte.md 🔗

@@ -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
 

docs/src/languages/terraform.md 🔗

@@ -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
 

docs/src/languages/toml.md 🔗

@@ -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).

docs/src/languages/tsx.md 🔗

@@ -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)

docs/src/languages/typescript.md 🔗

@@ -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)
 

docs/src/languages/uiua.md 🔗

@@ -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).

docs/src/languages/vue.md 🔗

@@ -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)

docs/src/languages/yaml.md 🔗

@@ -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)

docs/src/languages/zig.md 🔗

@@ -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).