Before: runtime ale_linters/wgsl/naga.vim After: call ale#linter#Reset() Execute(Error handler should parse error message and position from input): let example_output = [ \ "error: expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file, found '['", \ " ┌─ wgsl:5:1", \ " │", \ "5 │ [[group(1), binding(0)]]", \ " │ ^ expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file", \ "Could not parse WGSL", \ ] let actual = ale#handlers#naga#Handle(0, example_output) let expected = [{ \ "text": "expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file, found '['", \ "lnum": 5, \ "col": 1, \ "type": "E", \ }] AssertEqual actual, expected