Before: runtime ale_linters/markdown/markdownlint.vim After: call ale#linter#Reset() Execute(The Markdownlint handler should parse output with a column correctly): AssertEqual \ [ \ { \ 'lnum': 10, \ 'col': 20, \ 'code': 'MD013/line-length', \ 'text': 'Line length [Expected: 80; Actual: 114]', \ 'type': 'W' \ } \ ], \ ale#handlers#markdownlint#Handle(0, [ \ 'README.md:10:20 MD013/line-length Line length [Expected: 80; Actual: 114]' \ ]) Execute(The Markdownlint handler should parse output with multiple slashes in rule name correctly): AssertEqual \ [ \ { \ 'lnum': 10, \ 'code': 'MD022/blanks-around-headings/blanks-around-headers', \ 'text': 'Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Above] [Context: "### something"]', \ 'type': 'W' \ } \ ], \ ale#handlers#markdownlint#Handle(0, [ \ 'README.md:10 MD022/blanks-around-headings/blanks-around-headers Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Above] [Context: "### something"]' \ ])