diff options
Diffstat (limited to 'ale_linters')
-rw-r--r-- | ale_linters/ruby/rubocop.vim | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ale_linters/ruby/rubocop.vim b/ale_linters/ruby/rubocop.vim index d1286f75..786e1af6 100644 --- a/ale_linters/ruby/rubocop.vim +++ b/ale_linters/ruby/rubocop.vim @@ -25,14 +25,19 @@ function! ale_linters#ruby#rubocop#Handle(buffer, lines) abort endfunction function! ale_linters#ruby#rubocop#GetCommand(buffer) abort - return ale#Var(a:buffer, 'ruby_rubocop_executable') + let l:unescaped = ale#Var(a:buffer, 'ruby_rubocop_executable') + let l:executable = ale#Escape(l:unescaped) + if l:unescaped =~? 'bundle$' + let l:executable = l:executable . ' exec rubocop' + endif + return l:executable \ . ' --format emacs --force-exclusion ' \ . ale#Var(a:buffer, 'ruby_rubocop_options') \ . ' --stdin ' . bufname(a:buffer) endfunction function! ale_linters#ruby#rubocop#GetExecutable(buffer) abort - let l:executable = split(ale#Var(a:buffer, 'ruby_rubocop_executable'))[0] + let l:executable = ale#Var(a:buffer, 'ruby_rubocop_executable') if executable(l:executable) return l:executable endif |