diff --git a/syntax_checkers/elixir/elixir.vim b/syntax_checkers/elixir/elixir.vim index 93bca4d4..453bab5e 100644 --- a/syntax_checkers/elixir/elixir.vim +++ b/syntax_checkers/elixir/elixir.vim @@ -14,19 +14,25 @@ if exists("g:loaded_syntastic_elixir_elixir_checker") endif let g:loaded_syntastic_elixir_elixir_checker=1 +let s:syntastic_elixir_compile_command = 'elixir' + +if filereadable('mix.exs') + let s:syntastic_elixir_compile_command = 'mix compile' +endif + function! SyntaxCheckers_elixir_elixir_IsAvailable() - return executable('elixir') + if s:syntastic_elixir_compile_command == 'elixir' + return executable('elixir') + else + return executable('mix') + endif endfunction function! SyntaxCheckers_elixir_elixir_GetLocList() - let makeprg = syntastic#makeprg#build({ 'exe': 'elixir' }) + let makeprg = syntastic#makeprg#build({ 'exe': s:syntastic_elixir_compile_command }) let errorformat = '** %*[^\ ] %f:%l: %m' - let elixir_results = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) - - if !empty(elixir_results) - return elixir_results - endif + return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) endfunction call g:SyntasticRegistry.CreateAndRegisterChecker({