diff --git a/syntax_checkers/eruby.vim b/syntax_checkers/eruby.vim index a066d922..a2e6a7b4 100644 --- a/syntax_checkers/eruby.vim +++ b/syntax_checkers/eruby.vim @@ -14,23 +14,26 @@ if exists("loaded_eruby_syntax_checker") endif let loaded_eruby_syntax_checker = 1 +if !exists("g:syntastic_ruby_exec") + let g:syntastic_ruby_exec = "ruby" +endif + "bail if the user doesnt have ruby installed -if !executable("ruby") +if !executable(expand(g:syntastic_ruby_exec)) finish endif function! SyntaxCheckers_eruby_GetLocList() - "gsub fixes issue #7 rails has it's own eruby syntax - if has('win32') - let makeprg='ruby -rerb -e "puts ERB.new(File.read(''' . - \ (expand("%")) . - \ ''').gsub(''<\%='',''<\%''), nil, ''-'').src" \| ruby -c' - else - let makeprg='RUBYOPT= ruby -rerb -e "puts ERB.new(File.read(''' . - \ (expand("%")) . - \ ''').gsub(''<\%='',''<\%''), nil, ''-'').src" \| RUBYOPT= ruby -c' + let ruby_exec=expand(g:syntastic_ruby_exec) + if !has('win32') + let ruby_exec='RUBYOPT= ' . ruby_exec endif + "gsub fixes issue #7 rails has it's own eruby syntax + let makeprg=ruby_exec . ' -rerb -e "puts ERB.new(File.read(''' . + \ (expand("%")) . + \ ''').gsub(''<\%='',''<\%''), nil, ''-'').src" \| ' . ruby_exec . ' -c' + let errorformat='%-GSyntax OK,%E-:%l: syntax error\, %m,%Z%p^,%W-:%l: warning: %m,%Z%p^,%-C%.%#' return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat})