bashvimstatic-analysisshellcheckbashate

How is a shellscript syntax checker invoked (by/with syntastic and pathogen)?


When I work on a bash/sh script, pathogen kicks in and correctly loads everything that's in ~/.vim/bundle/syntastic/syntax_checkers/sh/. I checked with :scriptnames in command-line mode. Included are shellcheck.vim, checkbashism.vim, bashate.vim etc.

Starting a vim session filetype is correctly detected and the corresponding bundled syntax-checking scripts are loaded.

But how does syntastic invoke /usr/bin/shellcheck or bashate or checkbashism? There is nothing immediately obvious for it in ~/.vimrc.

Can more than one syntax checker be invoked at the same time? E.g. can shellcheck AND bashate work alongside one another? Thanks.


Solution

  • The only role of pathogen in your setup is to append the path and subpaths of each of your plugins to the 'runtimepath' option when Vim starts up. Nothing more, nothing less.

    As for Syntastic, the default checkers for shell scripts are sh and shellcheck. Read :help syntastic-checker-options to learn how to define your own list of checkers.