33 lines
1.0 KiB
Lua
33 lines
1.0 KiB
Lua
return {
|
||
{
|
||
"mrcjkb/haskell-tools.nvim",
|
||
-- WICHTIG: expliziter Modulname; Lazy soll NICHT raten
|
||
main = "haskell-tools",
|
||
ft = { "haskell", "lhaskell", "cabal", "cabalproject" },
|
||
|
||
-- Gib Lazy NICHT die Chance, sein Auto-setup zu machen:
|
||
-- Wir liefern EINE eigene config-Funktion und rufen setup() selbst.
|
||
config = function(_, _)
|
||
local ok, ht = pcall(require, "haskell-tools")
|
||
if not ok or type(ht.setup) ~= "function" then
|
||
vim.notify("[haskell-tools] setup() nicht gefunden – wird übersprungen", vim.log.levels.ERROR)
|
||
return
|
||
end
|
||
|
||
ht.setup({
|
||
hls = {
|
||
-- Dein Nix-HLS, damit Mason außen vor bleibt
|
||
cmd = { "haskell-language-server-wrapper", "--lsp" },
|
||
settings = {
|
||
haskell = {
|
||
formattingProvider = "fourmolu",
|
||
cabalFormattingProvider = "none",
|
||
plugin = { fourmolu = { config = { external = false } } },
|
||
},
|
||
},
|
||
},
|
||
})
|
||
end,
|
||
},
|
||
}
|