zed/docs/src/languages/haskell.md
morgankrey 6daa541e77
docs: Apply documentation standards across all docs (#49177)
## Summary

Comprehensive remediation of 146 documentation files to align with Zed's
documentation conventions and brand voice guidelines.

## Changes

### YAML Frontmatter
- Added `title` and `description` frontmatter to all docs missing it

### Settings UI Pattern
- Updated 48+ files to show Settings Editor before JSON examples
- Pattern: `Configure X in Settings ({#kb zed::OpenSettings}), or add to
your settings file:`
- Added `([how to edit](./configuring-zed.md#settings-files))` links for
JSON-only settings

### Brand Voice Fixes
- Removed exclamation points (command-palette, key-bindings, repl,
privacy-and-security, etc.)
- Simplified em dash chains to parentheticals (environment,
troubleshooting, agent-panel, etc.)
- Fixed marketing language (yarn.md intro, development/linux.md)

### Terminology Alignment
- `settings UI` -> `Settings Editor`
- `sidebar` -> specific panel names (Project Panel, Collab Panel)
- `directory` -> `folder` in non-technical contexts
- `workspace` -> `project` in non-LSP contexts
- `Command Palette` -> `command palette` (lowercase)

### Callout Standardization
- Converted various callout formats to standard `> **Note:**` pattern

## Related

Depends on conventions established in #49176.

Release Notes:

- N/A
2026-02-17 20:58:17 -06:00

1.6 KiB

title description
Haskell Configure Haskell language support in Zed, including language servers, formatting, and debugging.

Haskell

Haskell support is available through the Haskell extension.

Installing HLS

Recommended method to install haskell-language-server (HLS) is via ghcup (curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh ):

ghcup install hls
which haskell-language-server-wrapper

Configuring HLS

If you need to configure haskell-language-server (hls) you can add configuration options to your Zed settings.json:

{
  "lsp": {
    "hls": {
      "initialization_options": {
        "haskell": {
          "formattingProvider": "fourmolu"
        }
      }
    }
  }
}

See the official configuring haskell-language-server docs for more options.

If you would like to use a specific hls binary, or perhaps use static-ls as a drop-in replacement instead, you can specify the binary path and arguments:

{
  "lsp": {
    "hls": {
      "binary": {
        "path": "static-ls",
        "arguments": ["--experimentalFeatures"]
      }
    }
  }
}