hadolint: fix color output and stdin shown as "-" (#3680)

This commit is contained in:
infokiller
2021-04-10 15:17:55 +03:00
committed by GitHub
parent cec9954d01
commit 686c8c5e0a
2 changed files with 8 additions and 5 deletions

View File

@@ -9,7 +9,7 @@ function! ale_linters#dockerfile#hadolint#Handle(buffer, lines) abort
" "
" /dev/stdin:19 DL3001 Pipe chain should start with a raw value. " /dev/stdin:19 DL3001 Pipe chain should start with a raw value.
" /dev/stdin:19:3 unexpected thing " /dev/stdin:19:3 unexpected thing
let l:pattern = '\v^/dev/stdin:(\d+):?(\d+)? ((DL|SC)(\d+) )?((.+)?: )?(.+)$' let l:pattern = '\v^%(/dev/stdin|-):(\d+):?(\d+)? ((DL|SC)(\d+) )?((.+)?: )?(.+)$'
let l:output = [] let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern) for l:match in ale#util#GetMatches(a:lines, l:pattern)
@@ -92,12 +92,15 @@ endfunction
function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort function! ale_linters#dockerfile#hadolint#GetCommand(buffer) abort
let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer) let l:command = ale_linters#dockerfile#hadolint#GetExecutable(a:buffer)
let l:opts = '--no-color -'
if l:command is# 'docker' if l:command is# 'docker'
return 'docker run --rm -i ' . ale#Var(a:buffer, 'dockerfile_hadolint_docker_image') return printf('docker run --rm -i %s hadolint %s',
\ ale#Var(a:buffer, 'dockerfile_hadolint_docker_image'),
\ l:opts)
endif endif
return 'hadolint -' return 'hadolint ' . l:opts
endfunction endfunction

View File

@@ -55,7 +55,7 @@ Execute(command is correct when using docker):
let b:ale_dockerfile_hadolint_use_docker = 'always' let b:ale_dockerfile_hadolint_use_docker = 'always'
AssertEqual AssertEqual
\ "docker run --rm -i hadolint/hadolint", \ "docker run --rm -i hadolint/hadolint hadolint --no-color -",
\ ale_linters#dockerfile#hadolint#GetCommand(bufnr('')) \ ale_linters#dockerfile#hadolint#GetCommand(bufnr(''))
@@ -63,7 +63,7 @@ Execute(command is correct when not docker):
let b:ale_dockerfile_hadolint_use_docker = 'never' let b:ale_dockerfile_hadolint_use_docker = 'never'
AssertEqual AssertEqual
\ "hadolint -", \ "hadolint --no-color -",
\ ale_linters#dockerfile#hadolint#GetCommand(bufnr('')) \ ale_linters#dockerfile#hadolint#GetCommand(bufnr(''))
Execute(test warnings from hadolint): Execute(test warnings from hadolint):