Vim
Haskell
stack
quickrun
ale

= ale.vimとQuickRunでstack環境を使う

デフォルトだとグローバルに存在するghcrunhaskellを使ってしまい、stackで入れたパッケージが使えない。

追記(2019/05/12): ALEの設定はまだうまくいってないかもしれません(ただ単に全てのエラーが表示されなくなった気がする)


ALEの設定

(ALEはリントツール等用のみで使用し、Lspはvim-lspに任せているため使用していません。)

ale_lintersstack-ghcを指定してあげます

let g:ale_linters = {

\ 'haskell': ['stack-ghc'],
\ }

また、この時hie等も同時に指定しないようにしてください。自分の環境だと動きませんでした。


QuickRun

g:quickrun_config.haskellを作成し、設定を書き込んでやります。

let g:quickrun_config = {}

let g:quickrun_config.haskell = {'command': 'stack',
\'cmdopt': 'runhaskell',
\}

ここで'command': 'stack runhaskell'としないことが重要です。

そうした場合、「そんなもんねーよ!」と怒られてしまいます。

[2019-05-11 21:59]