summaryrefslogtreecommitdiff
path: root/ale_linters
diff options
context:
space:
mode:
Diffstat (limited to 'ale_linters')
-rw-r--r--ale_linters/haskell/ghc.vim8
-rw-r--r--ale_linters/haskell/stack-build.vim14
-rw-r--r--ale_linters/haskell/stack-ghc.vim10
3 files changed, 24 insertions, 8 deletions
diff --git a/ale_linters/haskell/ghc.vim b/ale_linters/haskell/ghc.vim
index ee6370b5..fdf22f9f 100644
--- a/ale_linters/haskell/ghc.vim
+++ b/ale_linters/haskell/ghc.vim
@@ -8,11 +8,3 @@ call ale#linter#Define('haskell', {
\ 'command': 'ghc -fno-code -v0 %t',
\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
\})
-
-call ale#linter#Define('haskell', {
-\ 'name': 'stack-ghc',
-\ 'output_stream': 'stderr',
-\ 'executable': 'stack',
-\ 'command': 'stack ghc -- -fno-code -v0 %t',
-\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
-\})
diff --git a/ale_linters/haskell/stack-build.vim b/ale_linters/haskell/stack-build.vim
new file mode 100644
index 00000000..1c2a06f6
--- /dev/null
+++ b/ale_linters/haskell/stack-build.vim
@@ -0,0 +1,14 @@
+" 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#linter#Define('haskell', {
+\ 'name': 'stack-build',
+\ 'output_stream': 'stderr',
+\ 'executable': 'stack',
+\ 'command': 'stack build',
+\ 'lint_file': 1,
+\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
+\})
diff --git a/ale_linters/haskell/stack-ghc.vim b/ale_linters/haskell/stack-ghc.vim
new file mode 100644
index 00000000..0367dc24
--- /dev/null
+++ b/ale_linters/haskell/stack-ghc.vim
@@ -0,0 +1,10 @@
+" Author: w0rp <devw0rp@gmail.com>
+" Description: ghc for Haskell files, using Stack
+
+call ale#linter#Define('haskell', {
+\ 'name': 'stack-ghc',
+\ 'output_stream': 'stderr',
+\ 'executable': 'stack',
+\ 'command': 'stack ghc -- -fno-code -v0 %t',
+\ 'callback': 'ale#handlers#haskell#HandleGHCFormat',
+\})