Before: runtime ale_linters/zig/zlint.vim After: call ale#linter#Reset() Execute(The zlint handler should parse GitHub Actions format correctly): " Create a temporary buffer let buffer = bufnr('') " Define input lines let input_lines = [ \ '::warning file=test.zig,line=61,col=47,title=unsafe-undefined::`undefined` is missing a safety comment', \ '', \ '::error file=test2.zig,line=4,col=33,title=no-unresolved::Unresolved import to ''test3.zig''', \ '', \ ] " Define expected output let expected_output = [ \ { \ 'filename': 'test.zig', \ 'lnum': 61, \ 'col': 47, \ 'text': '`undefined` is missing a safety comment', \ 'type': 'W', \ 'code': 'unsafe-undefined' \ }, \ { \ 'filename': 'test2.zig', \ 'lnum': 4, \ 'col': 33, \ 'text': 'Unresolved import to ''test3.zig''', \ 'type': 'E', \ 'code': 'no-unresolved' \ }, \ ] " Get actual output let actual_output = ale_linters#zig#zlint#Handle(buffer, input_lines) " Assert equality AssertEqual expected_output, actual_output