diff --git a/ale_linters/clojure/clj_kondo.vim b/ale_linters/clojure/clj_kondo.vim index e3f93b6b..a023f8b6 100644 --- a/ale_linters/clojure/clj_kondo.vim +++ b/ale_linters/clojure/clj_kondo.vim @@ -16,7 +16,7 @@ endfunction function! ale_linters#clojure#clj_kondo#HandleCljKondoFormat(buffer, lines) abort " output format " ::: : - let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+):? ((Exception|error|warning): ?(.+))$' + let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+)?:(\d+)?:? ((Exception|error|warning): ?(.+))$' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) diff --git a/test/handler/test_clojure_clj_kondo_handler.vader b/test/handler/test_clojure_clj_kondo_handler.vader index 45db9049..9ae70668 100644 --- a/test/handler/test_clojure_clj_kondo_handler.vader +++ b/test/handler/test_clojure_clj_kondo_handler.vader @@ -73,3 +73,17 @@ Execute(the clojure clj-kondo handler should be able to handle windows files): \ ale_linters#clojure#clj_kondo#HandleCljKondoFormat(0, [ \ 'C:\my\operating\system\is\silly\core.clj:123:44: error: Unexpected )', \ ]) + +Execute(the clojure clj-kondo handler should be able to lines without row/col): + AssertEqual + \ [ + \ { + \ 'lnum': 0, + \ 'col': 0, + \ 'type': 'E', + \ 'text': 'error: Unexpected )', + \ }, + \ ], + \ ale_linters#clojure#clj_kondo#HandleCljKondoFormat(0, [ + \ 'test.clj::: error: Unexpected )', + \ ])