From 5c7019f394588bdc29d7573f5063198c2803dfe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20=C3=81goston?= Date: Sun, 20 Mar 2022 14:52:22 +0100 Subject: [PATCH] Make it possible to override awk --lint option (#4114) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, it's not possible to override the awk `--lint` option with ```viml let g:ale_awk_gawk_options = '--lint=no-ext' ``` although this could be useful for those who only use gawk and don't want to get these lint errors: > FEATURE X is a gawk extension The idea is to move the default `--lint` option before the `awk_gawk_options` in the gawk.vim code to give the custom `--lint=...` option a higher precedence. Co-authored-by: Barnabás Ágoston --- ale_linters/awk/gawk.vim | 3 ++- test/linter/test_gawk.vader | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ale_linters/awk/gawk.vim b/ale_linters/awk/gawk.vim index f795c57d..fe961ae3 100644 --- a/ale_linters/awk/gawk.vim +++ b/ale_linters/awk/gawk.vim @@ -9,8 +9,9 @@ function! ale_linters#awk#gawk#GetCommand(buffer) abort " gawk from attempting to execute the body of the script " it is linting. return '%e --source ' . ale#Escape('BEGIN { exit } END { exit 1 }') + \ . ' --lint' \ . ale#Pad(ale#Var(a:buffer, 'awk_gawk_options')) - \ . ' -f %t --lint /dev/null' + \ . ' -f %t /dev/null' endfunction call ale#linter#Define('awk', { diff --git a/test/linter/test_gawk.vader b/test/linter/test_gawk.vader index ba9f59ab..f4364291 100644 --- a/test/linter/test_gawk.vader +++ b/test/linter/test_gawk.vader @@ -7,19 +7,19 @@ After: Execute(The default command should be correct): AssertLinter 'gawk', \ ale#Escape('gawk') . ' --source ' . ale#Escape('BEGIN { exit } END { exit 1 }') - \ . ' -f %t --lint /dev/null' + \ . ' --lint -f %t /dev/null' Execute(The executable should be configurable): let b:ale_awk_gawk_executable = '/other/gawk' AssertLinter '/other/gawk', \ ale#Escape('/other/gawk') . ' --source ' . ale#Escape('BEGIN { exit } END { exit 1 }') - \ . ' -f %t --lint /dev/null' + \ . ' --lint -f %t /dev/null' Execute(The options should be configurable): let b:ale_awk_gawk_executable = 'gawk' - let b:ale_awk_gawk_options = '--something' + let b:ale_awk_gawk_options = '--lint=no-ext' AssertLinter 'gawk', \ ale#Escape('gawk') . ' --source ' . ale#Escape('BEGIN { exit } END { exit 1 }') - \ . ' --something -f %t --lint /dev/null' + \ . ' --lint --lint=no-ext -f %t /dev/null'