diff options
Diffstat (limited to 'ale_linters/ruby/rubocop.vim')
-rw-r--r-- | ale_linters/ruby/rubocop.vim | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/ale_linters/ruby/rubocop.vim b/ale_linters/ruby/rubocop.vim index 5c1a60e7..9d315be1 100644 --- a/ale_linters/ruby/rubocop.vim +++ b/ale_linters/ruby/rubocop.vim @@ -14,11 +14,19 @@ function! ale_linters#ruby#rubocop#GetCommand(buffer) abort endfunction function! ale_linters#ruby#rubocop#Handle(buffer, lines) abort - if len(a:lines) == 0 - return [] + if empty(a:lines) + return [] endif - let l:errors = json_decode(a:lines[0]) + try + let l:errors = json_decode(a:lines[0]) + catch + return [{ + \ 'lnum': 1, + \ 'text': 'rubocop configuration error (type :ALEDetail for more information)', + \ 'detail': join(a:lines, "\n"), + \}] + endtry let l:output = [] @@ -51,4 +59,5 @@ call ale#linter#Define('ruby', { \ 'executable_callback': 'ale#handlers#rubocop#GetExecutable', \ 'command_callback': 'ale_linters#ruby#rubocop#GetCommand', \ 'callback': 'ale_linters#ruby#rubocop#Handle', +\ 'output_stream': 'both', \}) |