diff options
author | Eddie Lebow <elebow@users.noreply.github.com> | 2017-07-12 19:42:54 -0400 |
---|---|---|
committer | Eddie Lebow <elebow@users.noreply.github.com> | 2017-07-12 19:53:58 -0400 |
commit | dcbb0ffee536754df014085b03bf65cd2c21150f (patch) | |
tree | 6ac1a2b6c87e98e953f7fbdd45994ab14ce061c2 /ale_linters | |
parent | 588595419739e3fec9cad921824e0e07aadb440d (diff) | |
download | ale-dcbb0ffee536754df014085b03bf65cd2c21150f.zip |
Rubocop: handle empty 'files' array in output
The handler previously assumed there would be at least one entry in the
'files' array in the output JSON. It looks like this in the normal case:
"files":[{"path":"app/models/image.rb","offenses":[]}]
But if RuboCop's config excludes the specified input files, causing no
files to be linted, the output is emptier:
"files":[]
This change causes the handler to treat that case correctly, and also
exit early if the reported offense_count is zero.
Diffstat (limited to 'ale_linters')
-rw-r--r-- | ale_linters/ruby/rubocop.vim | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ale_linters/ruby/rubocop.vim b/ale_linters/ruby/rubocop.vim index 9d315be1..a539b1ae 100644 --- a/ale_linters/ruby/rubocop.vim +++ b/ale_linters/ruby/rubocop.vim @@ -28,6 +28,10 @@ function! ale_linters#ruby#rubocop#Handle(buffer, lines) abort \}] endtry + if l:errors['summary']['offense_count'] == 0 || empty(l:errors['files']) + return [] + endif + let l:output = [] for l:error in l:errors['files'][0]['offenses'] |