diff options
author | Matthew Armand <marmand68@gmail.com> | 2022-11-04 04:07:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-04 17:07:56 +0900 |
commit | 121fbefeaef165191820aa72858228921bee4416 (patch) | |
tree | 6c9c38cd2a2d759612f0dfb2cac305816724000a | |
parent | 483d056528543df3349299db1ecf4aecfd0d7f44 (diff) | |
download | ale-121fbefeaef165191820aa72858228921bee4416.zip |
Add 'dockerfile_hadolint_options' config setting (#4353)
- Add this option so command line arguments can be supplied to hadolint
- This will be respected when running in docker and via the executable
- Preserve the --no-color and - flags, and add these to the list
- Add to docs and tests
-rw-r--r-- | ale_linters/dockerfile/hadolint.vim | 3 | ||||
-rw-r--r-- | doc/ale-dockerfile.txt | 10 | ||||
-rw-r--r-- | test/test_dockerfile_hadolint_linter.vader | 20 |
3 files changed, 30 insertions, 3 deletions
diff --git a/ale_linters/dockerfile/hadolint.vim b/ale_linters/dockerfile/hadolint.vim index 278e9466..9a6a6258 100644 --- a/ale_linters/dockerfile/hadolint.vim +++ b/ale_linters/dockerfile/hadolint.vim @@ -3,6 +3,7 @@ " always, yes, never call ale#Set('dockerfile_hadolint_use_docker', 'never') call ale#Set('dockerfile_hadolint_docker_image', 'hadolint/hadolint') +call ale#Set('dockerfile_hadolint_options', '') function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort " Matches patterns line the following: @@ -102,7 +103,7 @@ endfunction function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer) - let l:opts = '--no-color -' + let l:opts = ale#Var(a:buffer, 'dockerfile_hadolint_options') . ' --no-color -' if l:command is# 'docker' return printf('docker run --rm -i %s hadolint %s', diff --git a/doc/ale-dockerfile.txt b/doc/ale-dockerfile.txt index b6e87623..51b9acc1 100644 --- a/doc/ale-dockerfile.txt +++ b/doc/ale-dockerfile.txt @@ -37,6 +37,16 @@ hadolint *ale-dockerfile-hadolint* hadolint can be found at: https://github.com/hadolint/hadolint +g:ale_dockerfile_hadolint_options *g:ale_dockerfile_hadolint_options* + *b:ale_dockerfile_hadolint_options* + Type: |String| + Default: `''` + + This variable can be changed to add command-line arguments to the hadolint + invocation. These arguments will be used whether docker is being used or not + (see below). + + g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker* *b:ale_dockerfile_hadolint_use_docker* Type: |String| diff --git a/test/test_dockerfile_hadolint_linter.vader b/test/test_dockerfile_hadolint_linter.vader index 6e02b212..ba7e2187 100644 --- a/test/test_dockerfile_hadolint_linter.vader +++ b/test/test_dockerfile_hadolint_linter.vader @@ -19,6 +19,7 @@ After: Restore silent! unlet b:ale_dockerfile_hadolint_use_docker silent! unlet b:ale_dockerfile_hadolint_docker_image + silent! unlet b:ale_dockerfile_hadolint_options Execute(linter honors ..._use_docker correctly): @@ -55,15 +56,30 @@ Execute(command is correct when using docker): let b:ale_dockerfile_hadolint_use_docker = 'always' AssertEqual - \ "docker run --rm -i hadolint/hadolint hadolint --no-color -", + \ "docker run --rm -i hadolint/hadolint hadolint --no-color -", \ ale_linters#dockerfile#hadolint#GetCommand(bufnr('')) +Execute(command is correct when using docker and supplying options): + let b:ale_dockerfile_hadolint_use_docker = 'always' + let b:ale_dockerfile_hadolint_options = '--ignore DL3006' + + AssertEqual + \ "docker run --rm -i hadolint/hadolint hadolint --ignore DL3006 --no-color -", + \ ale_linters#dockerfile#hadolint#GetCommand(bufnr('')) Execute(command is correct when not docker): let b:ale_dockerfile_hadolint_use_docker = 'never' AssertEqual - \ "hadolint --no-color -", + \ "hadolint --no-color -", + \ ale_linters#dockerfile#hadolint#GetCommand(bufnr('')) + +Execute(command is correct when not docker and supplying options): + let b:ale_dockerfile_hadolint_use_docker = 'never' + let b:ale_dockerfile_hadolint_options = '--ignore DL3006' + + AssertEqual + \ "hadolint --ignore DL3006 --no-color -", \ ale_linters#dockerfile#hadolint#GetCommand(bufnr('')) Execute(test warnings from hadolint): |