diff options
author | Devon Meunier <devon.meunier@shopify.com> | 2017-05-16 11:47:35 -0400 |
---|---|---|
committer | Devon Meunier <devon.meunier@shopify.com> | 2017-05-16 14:07:52 -0400 |
commit | 9ca51ed035d1fb3cefe28efe0dea60fbe71b4048 (patch) | |
tree | eeb5a61c545ec85f84c9aafde4b29fbce5da4c13 /ale_linters/ruby | |
parent | 8712aee5dcddd366ae52a0c57e67fdbc13c030ee (diff) | |
download | ale-9ca51ed035d1fb3cefe28efe0dea60fbe71b4048.zip |
Allow overriding rubocop executable.
Diffstat (limited to 'ale_linters/ruby')
-rw-r--r-- | ale_linters/ruby/rubocop.vim | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ale_linters/ruby/rubocop.vim b/ale_linters/ruby/rubocop.vim index 95cb5516..d1286f75 100644 --- a/ale_linters/ruby/rubocop.vim +++ b/ale_linters/ruby/rubocop.vim @@ -25,20 +25,32 @@ function! ale_linters#ruby#rubocop#Handle(buffer, lines) abort endfunction function! ale_linters#ruby#rubocop#GetCommand(buffer) abort - return 'rubocop --format emacs --force-exclusion ' + return ale#Var(a:buffer, 'ruby_rubocop_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] + if executable(l:executable) + return l:executable + endif +endfunction + " Set this option to change Rubocop options. if !exists('g:ale_ruby_rubocop_options') " let g:ale_ruby_rubocop_options = '--lint' let g:ale_ruby_rubocop_options = '' endif +if !exists('g:ale_ruby_rubocop_executable') + let g:ale_ruby_rubocop_executable = 'rubocop' +endif + call ale#linter#Define('ruby', { \ 'name': 'rubocop', -\ 'executable': 'rubocop', +\ 'executable_callback': 'ale_linters#ruby#rubocop#GetExecutable', \ 'command_callback': 'ale_linters#ruby#rubocop#GetCommand', \ 'callback': 'ale_linters#ruby#rubocop#Handle', \}) |