Add better support for Haskell stack compiler tools (#1851)

* Add better support for Haskell stack compiler tools

This commit adds support for `stack` as the executable of a tool. This
follows a pattern that has been implemented for `bundler`'s tool chain.

* Move hlint command to linter file
* Add vader test for stack exec handling
* Update ghc-mod to support stack execution

`ghc-mod` was previously broken into 2 linters.

1. ghc_mod
2. stack_ghc_mod

This additional linter is not necessary with proper support for
executable variables and `stack exec` handling.

* Support stack exec in hfmt
* Support stack in hdevtools
This commit is contained in:
Evan Borden
2018-09-28 04:05:01 -04:00
committed by w0rp
parent a26b3319a1
commit a8915d885b
18 changed files with 104 additions and 48 deletions

View File

@@ -1,9 +1,4 @@
Before:
Save g:ale_haskell_hlint_executable
" Use an invalid global executable, so we don't match it.
let g:ale_haskell_hlint_executable = 'xxxinvalid'
call ale#test#SetDirectory('/testplugin/test/fixers')
After:
@@ -17,7 +12,7 @@ Execute(The hlint callback should return the correct default values):
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command': ale#Escape('xxxinvalid')
\ 'command': ale#Escape('hlint')
\ . ' --refactor'
\ . ' --refactor-options="--inplace"'
\ . ' %t',