I like to add default extensions to my cabal file for common extensions and would like the Haskell process to pick those up and check my file with those extensions... but I set the variable to '("-XDerivingStrategies") for example. Flycheck continues to suggest the language extension. Is there a way to tell haskell-mode to use this list of extensions when starting up the ghci process?
Ok... I think this customization variable is there but not really used by anything in haskell-mode.
You select hlint as your flychecker with flycheck-select-checker, which if available on your path, seems to understand your cabal configuration. It doesn't seem to work but there is a customization variable in the haskell-interactive group to turn off these language extension suggestions... seems like switching the flymake checker is key.
Next I had to set haskell-process-type to 'ghci
Then I had to add the language extensions as the ghci process parameters by adding them to the list of values in haskell-process-args-ghci.
I don't know why but the cabal-repl type for haskell-process-type doesn't seem to work well with haskell-interactive-mode.
It doesn't seem like many of these can be properly set by .dir-locals.el or at least I haven't figured out the right incantation... so if your project uses a different set of default extensions.. well, you'll have to set the variables per session or update your customization group when you switch I guess?
I think hls (so lsp-mode/lsp-haskell) can figure out the extensions stuff :? what are the things that haskell-mode that lsp-haskell is not good enough at?
I like to add default extensions to my cabal file for common extensions and would like the Haskell process to pick those up and check my file with those extensions... but I set the variable to
'("-XDerivingStrategies")
for example. Flycheck continues to suggest the language extension. Is there a way to tellhaskell-mode
to use this list of extensions when starting up the ghci process?Ok... I think this customization variable is there but not really used by anything in
haskell-mode
.You select
hlint
as your flychecker withflycheck-select-checker
, which if available on your path, seems to understand your cabal configuration. It doesn't seem to work but there is a customization variable in thehaskell-interactive
group to turn off these language extension suggestions... seems like switching the flymake checker is key.Next I had to set
haskell-process-type
to'ghci
Then I had to add the language extensions as the
ghci
process parameters by adding them to the list of values inhaskell-process-args-ghci
.I don't know why but the
cabal-repl
type forhaskell-process-type
doesn't seem to work well withhaskell-interactive-mode
.It doesn't seem like many of these can be properly set by
.dir-locals.el
or at least I haven't figured out the right incantation... so if your project uses a different set of default extensions.. well, you'll have to set the variables per session or update your customization group when you switch I guess?I think hls (so
lsp-mode/lsp-haskell
) can figure out the extensions stuff :? what are the things thathaskell-mode
thatlsp-haskell
is not good enough at?Does
lsp-mode
work with ghci or ghcid?I think it uses a ghci session to collect info from ghc