Before: runtime ale_linters/fortran/fortitude.vim After: call ale#linter#Reset() Execute(Simple fortitude handler run): AssertEqual \ [ \ { \ 'lnum': 3, \ 'end_lnum': 3, \ 'col': 5, \ 'end_col': 18, \ 'text': '''implicit none'' missing ''external''', \ 'type': 'W', \ 'code': 'C003', \ }, \ { \ 'col': 13, \ 'end_col': 14, \ 'end_lnum': 7, \ 'lnum': 7, \ 'text': 'Syntax error', \ 'type': 'E', \ 'code': 'E001', \ }, \ ], \ ale_linters#fortran#fortitude#Handle(bufnr(''), [ \ '[', \ json_encode({ \ 'code': 'C003', \ 'end_location': {'column': 18, 'row': 3}, \ 'filename': '/home/user/documents/somefortranfile.f90', \ 'fix': { \ 'applicability': 'unsafe', \ 'edits': [ \ { \ 'content': ' (type, external)', \ 'end_location': {'column': 18, 'row': 3}, \ 'location': {'column': 18, 'row': 3}, \ }, \ ], \ 'message': 'Add `(external)` to ''implicit none''', \ }, \ 'location': {'column': 5, 'row': 3}, \ 'message': '''implicit none'' missing ''external''' \ }), \ ',', \ json_encode({ \ 'code': 'E001', \ 'end_location': {'column': 14, 'row': 7}, \ 'filename': '/home/user/documents/somefortranfile.f90', \ 'fix': v:null, \ 'location': {'column': 13, 'row': 7}, \ 'message': 'Syntax error', \ }), \ ']', \ ])