summaryrefslogtreecommitdiff
path: root/ale_linters/elixir
diff options
context:
space:
mode:
authorJon Parise <jon@indelible.org>2017-02-09 19:15:49 -0800
committerJon Parise <jon@indelible.org>2017-02-09 19:24:28 -0800
commitd3e7d3d5e794dbce9802733a2bcc25e01f82b92b (patch)
treed65e31a96c7e2d57cbc0f373b1c8035aa74b4165 /ale_linters/elixir
parent5de445c041432b602c590a175809d89837cdf2b8 (diff)
downloadale-d3e7d3d5e794dbce9802733a2bcc25e01f82b92b.zip
Pass the buffer's filename to Credo
By default, Credo attributes input from STDIN as though it came from a file named `stdin`. This change passes the buffer's filename, too, so that Credo can use that information when applying its configuration. This is a nice improvement because files like `mix.exs` are normally excluded from Credo-based linting. Previously, ALE would show lint warnings for those files as they were edited. Now, they are correctly honor the Credo configuration and don't produce lint output.
Diffstat (limited to 'ale_linters/elixir')
-rw-r--r--ale_linters/elixir/credo.vim6
1 files changed, 3 insertions, 3 deletions
diff --git a/ale_linters/elixir/credo.vim b/ale_linters/elixir/credo.vim
index f79106d9..4eb5e4d0 100644
--- a/ale_linters/elixir/credo.vim
+++ b/ale_linters/elixir/credo.vim
@@ -3,8 +3,8 @@
function! ale_linters#elixir#credo#Handle(buffer, lines) abort
" Matches patterns line the following:
"
- " stdin:19: F: Pipe chain should start with a raw value.
- let l:pattern = '\v^stdin:(\d+):?(\d+)?: (.): (.+)$'
+ " lib/filename.ex:19:7: F: Pipe chain should start with a raw value.
+ let l:pattern = '\v^.+:(\d+):?(\d+)?: (.): (.+)$'
let l:output = []
for l:line in a:lines
@@ -41,5 +41,5 @@ endfunction
call ale#linter#Define('elixir', {
\ 'name': 'credo',
\ 'executable': 'mix',
- \ 'command': 'mix credo suggest --format=flycheck --read-from-stdin',
+ \ 'command': 'mix credo suggest --format=flycheck --read-from-stdin %s',
\ 'callback': 'ale_linters#elixir#credo#Handle' })