summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorAnthony Poon <marquis.andras@gmail.com>2018-10-26 01:30:49 +1100
committerw0rp <w0rp@users.noreply.github.com>2018-10-25 15:30:49 +0100
commit02c0d5bcb9f7d4191a5e069aa0b8cd4065d6c039 (patch)
tree69211b13e1083789394f376a8a79c1e71c8a31b7 /autoload
parent9bdd5771ef85ca24aeadab80bb1d0976920e9305 (diff)
downloadale-02c0d5bcb9f7d4191a5e069aa0b8cd4065d6c039.zip
Only run stack if a stack.yaml config is found (#1752)
* Only run stack if a stack.yaml config is found It is necessary to check for a stack.yaml file to distinguish between cabal-only projects or stack projects (which are also cabal projects since stack is built on top of cabal). * Test that stack is called if stack.yaml exists
Diffstat (limited to 'autoload')
-rw-r--r--autoload/ale/handlers/haskell.vim10
1 files changed, 10 insertions, 0 deletions
diff --git a/autoload/ale/handlers/haskell.vim b/autoload/ale/handlers/haskell.vim
index 9223b650..9e495b36 100644
--- a/autoload/ale/handlers/haskell.vim
+++ b/autoload/ale/handlers/haskell.vim
@@ -1,5 +1,15 @@
" Author: w0rp <devw0rp@gmail.com>
" Description: Error handling for the format GHC outputs.
+"
+function! ale#handlers#haskell#GetStackExecutable(bufnr) abort
+ if ale#path#FindNearestFile(a:bufnr, 'stack.yaml') isnot# ''
+ return 'stack'
+ endif
+
+ " if there is no stack.yaml file, we don't use stack even if it exists,
+ " so we return '', because executable('') apparently always fails
+ return ''
+endfunction
" Remember the directory used for temporary files for Vim.
let s:temp_dir = fnamemodify(ale#util#Tempname(), ':h')