From 35a2508415866c376e6d2ba49ac7e81cea648f23 Mon Sep 17 00:00:00 2001 From: Marco Turchetto Date: Thu, 25 Dec 2025 01:28:12 +0100 Subject: [PATCH 1/2] feat: haskell lsp support --- packages/opencode/src/lsp/server.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index b432e5a5d0a..0610aa2d07e 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -1892,4 +1892,22 @@ export namespace LSPServer { } }, } + + export const HLS: Info = { + id: "haskell-language-server", + extensions: [".hs", ".lhs"], + root: NearestRoot(["stack.yaml", "cabal.project", "hie.yaml", "*.cabal"]), + async spawn(root) { + const bin = Bun.which("haskell-language-server-wrapper") + if (!bin) { + log.info("haskell-language-server-wrapper not found, please install haskell-language-server") + return + } + return { + process: spawn(bin, ["--lsp"], { + cwd: root, + }), + } + }, + } } From 896daf94372108fe84d257184ce02ebd720a8b40 Mon Sep 17 00:00:00 2001 From: Marco Turchetto Date: Thu, 25 Dec 2025 19:13:32 +0100 Subject: [PATCH 2/2] fix: add .lhs haskell extension --- packages/opencode/src/lsp/language.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/opencode/src/lsp/language.ts b/packages/opencode/src/lsp/language.ts index 620944a8e07..d279f7d64e7 100644 --- a/packages/opencode/src/lsp/language.ts +++ b/packages/opencode/src/lsp/language.ts @@ -39,6 +39,7 @@ export const LANGUAGE_EXTENSIONS: Record = { ".hbs": "handlebars", ".handlebars": "handlebars", ".hs": "haskell", + ".lhs": "haskell", ".html": "html", ".htm": "html", ".ini": "ini",