Before: runtime ale_linters/go/gometalinter.vim After: call ale#linter#Reset() Execute (The gometalinter handler should handle names with spaces): " We can't test Windows paths with the path resovling on Linux, but we can " test the regex. AssertEqual \ [ \ [ \ 'C:\something\file with spaces.go', \ '12', \ '3', \ 'warning', \ 'expected ''package'', found ''IDENT'' gibberish (staticcheck)', \ ], \ [ \ 'C:\something\file with spaces.go', \ '37', \ '5', \ 'error', \ 'expected ''package'', found ''IDENT'' gibberish (golint)', \ ], \ ], \ map(ale_linters#go#gometalinter#GetMatches([ \ 'C:\something\file with spaces.go:12:3:warning: expected ''package'', found ''IDENT'' gibberish (staticcheck)', \ 'C:\something\file with spaces.go:37:5:error: expected ''package'', found ''IDENT'' gibberish (golint)', \ ]), 'v:val[1:5]') Execute (The gometalinter handler should handle paths correctly): call ale#test#SetFilename('app/test.go') let file = ale#path#GetAbsPath(expand('%:p:h'), 'test.go') AssertEqual \ [ \ { \ 'lnum': 12, \ 'col': 3, \ 'text': 'expected ''package'', found ''IDENT'' gibberish (staticcheck)', \ 'type': 'W', \ 'filename': ale#path#Simplify(expand('%:p:h') . '/test.go'), \ }, \ { \ 'lnum': 37, \ 'col': 5, \ 'text': 'expected ''package'', found ''IDENT'' gibberish (golint)', \ 'type': 'E', \ 'filename': ale#path#Simplify(expand('%:p:h') . '/test.go'), \ }, \ ], \ ale_linters#go#gometalinter#Handler(bufnr(''), [ \ file . ':12:3:warning: expected ''package'', found ''IDENT'' gibberish (staticcheck)', \ file . ':37:5:error: expected ''package'', found ''IDENT'' gibberish (golint)', \ ])