summaryrefslogtreecommitdiff
path: root/ale_linters
diff options
context:
space:
mode:
authorCarl Smedstad <carl.smedstad@protonmail.com>2021-07-04 14:19:00 +0200
committerGitHub <noreply@github.com>2021-07-04 21:19:00 +0900
commitf9332bae1fc9f2599847e4641b27527df415507b (patch)
tree62d347fe3319c8c58d5304522fe25e1dae8ca083 /ale_linters
parentd6302d18580c8886c14ac9f63d05466cbb43ee17 (diff)
downloadale-f9332bae1fc9f2599847e4641b27527df415507b.zip
Add support for rpmlint 2.0.0 (#3757)
The -o/--option flag was removed in version 2.0.0 of rpmlint. Providing this causes rpmlint to fail and provide no output. Only provide this flag to rpmlint if the version is less than 2.0.0.
Diffstat (limited to 'ale_linters')
-rw-r--r--ale_linters/spec/rpmlint.vim18
1 files changed, 15 insertions, 3 deletions
diff --git a/ale_linters/spec/rpmlint.vim b/ale_linters/spec/rpmlint.vim
index 92ef4d63..5594e3b8 100644
--- a/ale_linters/spec/rpmlint.vim
+++ b/ale_linters/spec/rpmlint.vim
@@ -29,11 +29,18 @@
call ale#Set('spec_rpmlint_executable', 'rpmlint')
call ale#Set('spec_rpmlint_options', '')
-function! ale_linters#spec#rpmlint#GetCommand(buffer) abort
+function! ale_linters#spec#rpmlint#GetCommand(buffer, version) abort
+ if ale#semver#GTE(a:version, [2, 0, 0])
+ " The -o/--option flag was removed in version 2.0.0
+ let l:version_dependent_args = ''
+ else
+ let l:version_dependent_args = ' -o "NetworkEnabled False"'
+ endif
+
return '%e'
\ . ale#Pad(ale#Var(a:buffer, 'spec_rpmlint_options'))
- \ . ' -o "NetworkEnabled False"'
\ . ' -v'
+ \ . l:version_dependent_args
\ . ' %t'
endfunction
@@ -73,6 +80,11 @@ endfunction
call ale#linter#Define('spec', {
\ 'name': 'rpmlint',
\ 'executable': {b -> ale#Var(b, 'spec_rpmlint_executable')},
-\ 'command': function('ale_linters#spec#rpmlint#GetCommand'),
+\ 'command': {buffer -> ale#semver#RunWithVersionCheck(
+\ buffer,
+\ ale#Var(buffer, 'spec_rpmlint_executable'),
+\ '%e --version',
+\ function('ale_linters#spec#rpmlint#GetCommand'),
+\ )},
\ 'callback': 'ale_linters#spec#rpmlint#Handle',
\})