Before: runtime ale_linters/rstcheck/rstcheck.vim After: call ale#linter#Reset() Execute(Warning and error messages should be handled correctly): AssertEqual \ [ \ { \ 'filename': ale#path#Simplify(expand('%:p:h') . '/bad_python.rst'), \ 'lnum': 7, \ 'col': 0, \ 'type': 'W', \ 'text': '(python) unexpected EOF while parsing', \ }, \ { \ 'filename': ale#path#Simplify(expand('%:p:h') . '/bad_cpp.rst'), \ 'lnum': 9, \ 'col': 0, \ 'type': 'W', \ 'text': '(cpp) error: ''x'' was not declared in this scope', \ }, \ { \ 'filename': ale#path#Simplify(expand('%:p:h') . '/bad_rst.rst'), \ 'lnum': 1, \ 'col': 0, \ 'type': 'E', \ 'text': 'Title overline & underline mismatch.', \ }, \ ], \ ale_linters#rst#rstcheck#Handle(1, [ \ 'bad_python.rst:7: (ERROR/3) (python) unexpected EOF while parsing', \ 'bad_cpp.rst:9: (ERROR/3) (cpp) error: ''x'' was not declared in this scope', \ 'bad_rst.rst:1: (SEVERE/4) Title overline & underline mismatch.', \])