elm.md

 1# Elm
 2
 3Elm support is available through the [Elm extension](https://github.com/zed-extensions/elm).
 4
 5- Tree-sitter: [elm-tooling/tree-sitter-elm](https://github.com/elm-tooling/tree-sitter-elm)
 6- Language Server: [elm-tooling/elm-language-server](https://github.com/elm-tooling/elm-language-server)
 7
 8## Setup
 9
10Zed support for Elm requires installation of `elm`, `elm-format`, and `elm-review`.
11
121. [Install Elm](https://guide.elm-lang.org/install/elm.html) (or run `brew install elm` on macOS).
132. Install `elm-review` to support code linting:
14   ```sh
15   npm install elm-review --save-dev
16   ```
173. Install `elm-format` to support automatic formatting
18   ```sh
19   npm install -g elm-format
20   ```
21
22## Configuring `elm-language-server`
23
24Elm language server can be configured in your `settings.json`, e.g.:
25
26```json
27{
28  "lsp": {
29    "elm-language-server": {
30      "initialization_options": {
31        "disableElmLSDiagnostics": true,
32        "onlyUpdateDiagnosticsOnSave": false,
33        "elmReviewDiagnostics": "warning"
34      }
35    }
36  }
37}
38```
39
40`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).