Before: runtime ale_linters/fish/fish.vim After: call ale#linter#Reset() Execute(The fish handler should handle basic warnings and syntax errors): AssertEqual \ [ \ { \ 'lnum': 20, \ 'col': 23, \ 'text': "Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'.", \ }, \ { \ 'lnum': 26, \ 'col': 7, \ 'text': "Illegal command name '(prompt_pwd)'", \ }, \ { \ 'lnum': 36, \ 'col': 1, \ 'text': "'end' outside of a block", \ }, \ ], \ ale_linters#fish#fish#Handle(1, [ \ "fish_prompt.fish (line 20): Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'.", \ 'if set -q SSH_CLIENT || set -q SSH_TTY', \ ' ^', \ "fish_prompt.fish (line 26): Illegal command name '(prompt_pwd)'", \ ' (prompt_pwd) \', \ ' ^', \ "fish_prompt.fish (line 36): 'end' outside of a block", \ 'end', \ '^', \ 'config.fish (line 45):', \ "abbr --add p 'cd ~/Projects'", \ '^', \ ])