diff --git a/syntax_checkers/elixir/elixir.vim b/syntax_checkers/elixir/elixir.vim index 93bca4d4..ae8e449c 100644 --- a/syntax_checkers/elixir/elixir.vim +++ b/syntax_checkers/elixir/elixir.vim @@ -14,12 +14,22 @@ 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 })