summaryrefslogtreecommitdiff
path: root/ale_linters/haskell/stack_build.vim
diff options
context:
space:
mode:
authorJake Zimmerman <zimmerman.jake@gmail.com>2017-07-11 07:05:13 -0500
committerw0rp <w0rp@users.noreply.github.com>2017-07-11 13:05:13 +0100
commit768f761017e4d67d8724684df874006d5b04147d (patch)
treed7be5238419ab11313ded9edd06d73547ec578e5 /ale_linters/haskell/stack_build.vim
parent05d3bb12ddea96b8f93b6e06eea94c4969dc5c72 (diff)
downloadale-768f761017e4d67d8724684df874006d5b04147d.zip
Prefer --fast for stack-build (#754)
* Vim scripts shouldn't have hyphens Especially not ones that will be autoloaded. You can't have a hyphen in a function name, so autoloading functions based on filename will fail. * Add g:haskell_stack_build_options, default: --fast If we're going to use the --fast option, we may as well go the whole 9 yards and let the user configure the 'stack build' flags. * Create documentation for stack-build options
Diffstat (limited to 'ale_linters/haskell/stack_build.vim')
-rw-r--r--ale_linters/haskell/stack_build.vim22
1 files changed, 22 insertions, 0 deletions
diff --git a/ale_linters/haskell/stack_build.vim b/ale_linters/haskell/stack_build.vim
new file mode 100644
index 00000000..525fd3fb
--- /dev/null
+++ b/ale_linters/haskell/stack_build.vim
@@ -0,0 +1,22 @@
+" Author: Jake Zimmerman <jake@zimmerman.io>
+" Description: Like stack-ghc, but for entire projects
+"
+" Note: Ideally, this would *only* typecheck. Right now, it also does codegen.
+" See <https://github.com/commercialhaskell/stack/issues/977>.
+
+call ale#Set('haskell_stack_build_options', '--fast')
+
+function ale_linters#haskell#stack_build#GetCommand(buffer) abort
+ let l:flags = ale#Var(a:buffer, 'haskell_stack_build_options')
+
+ return 'stack build ' . l:flags
+endfunction
+
+call ale#linter#Define('haskell', {
+\ 'name': 'stack-build',
+\ 'output_stream': 'stderr',
+\ 'executable': 'stack',
+\ 'command_callback': 'ale_linters#haskell#stack_build#GetCommand',
+\ 'lint_file': 1,
+\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
+\})