summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOndřej Súkup <[email protected]>2026-02-02 13:01:49 +0100
committerGitHub <[email protected]>2026-02-02 06:01:49 -0600
commit52006c2fd93b00c216b4fa9f47f0e85ab8a43753 (patch)
tree6a2700b71123e5a30093592771a505ee95576775
parent26197ec95bac8560a637fb496ce34c14bde7bca5 (diff)
downloadopencode-52006c2fd93b00c216b4fa9f47f0e85ab8a43753.tar.gz
opencode-52006c2fd93b00c216b4fa9f47f0e85ab8a43753.zip
feat(opencode): ormolu code formatter for haskell (#10274)
-rw-r--r--packages/opencode/src/format/formatter.ts9
-rw-r--r--packages/web/src/content/docs/formatters.mdx1
-rw-r--r--packages/web/src/content/docs/lsp.mdx1
3 files changed, 11 insertions, 0 deletions
diff --git a/packages/opencode/src/format/formatter.ts b/packages/opencode/src/format/formatter.ts
index 5f0624d6c..9e97fae9d 100644
--- a/packages/opencode/src/format/formatter.ts
+++ b/packages/opencode/src/format/formatter.ts
@@ -355,3 +355,12 @@ export const pint: Info = {
return false
},
}
+
+export const ormolu: Info = {
+ name: "ormolu",
+ command: ["ormolu", "-i", "$FILE"],
+ extensions: [".hs"],
+ async enabled() {
+ return Bun.which("ormolu") !== null
+ },
+}
diff --git a/packages/web/src/content/docs/formatters.mdx b/packages/web/src/content/docs/formatters.mdx
index 225875f62..54f36e0cd 100644
--- a/packages/web/src/content/docs/formatters.mdx
+++ b/packages/web/src/content/docs/formatters.mdx
@@ -36,6 +36,7 @@ OpenCode comes with several built-in formatters for popular languages and framew
| shfmt | .sh, .bash | `shfmt` command available |
| pint | .php | `laravel/pint` dependency in `composer.json` |
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | `oxfmt` dependency in `package.json` and an [experimental env variable flag](/docs/cli/#experimental) |
+| ormolu | .hs | `ormolu` command available |
So if your project has `prettier` in your `package.json`, OpenCode will automatically use it.
diff --git a/packages/web/src/content/docs/lsp.mdx b/packages/web/src/content/docs/lsp.mdx
index 707af84a0..ac788fc60 100644
--- a/packages/web/src/content/docs/lsp.mdx
+++ b/packages/web/src/content/docs/lsp.mdx
@@ -25,6 +25,7 @@ OpenCode comes with several built-in LSP servers for popular languages:
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` installed |
| gleam | .gleam | `gleam` command available |
| gopls | .go | `go` command available |
+| hls | .hs, .lhs | `haskell-language-server-wrapper` command available
| jdtls | .java | `Java SDK (version 21+)` installed |
| kotlin-ls | .kt, .kts | Auto-installs for Kotlin projects |
| lua-ls | .lua | Auto-installs for Lua projects |