Skip to content

Vim wrapper for ShellCheck, a static analysis tool for shell scripts.

License

Notifications You must be signed in to change notification settings

itspriddle/vim-shellcheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vim-shellcheck

Vim wrapper for ShellCheck, a static analysis tool for shell scripts.

Commands

These commands are available in buffers with 'filetype' of sh.

:[range]ShellCheck[!] [args]

Run shellcheck for the current buffer using optional [args] and send any errors to the quickfix-window. Specify a [range] or use a visual selection to check only those lines, otherwise the entire buffer is checked. Call with a bang to automatically open the quickfix-window when errors are found.

:[range]LShellCheck[!] [args]

Run shellcheck for the current buffer using optional [args] and send any errors to a location-list-window. Specify a [range] or use a visual selection to check only those lines, otherwise the entire buffer is checked. Call with a bang to automatically open the location-list-window when errors are found.

QF Mappings

Open ShellCheck error definition on GitHub - gb

The gb command can be used quickfix or location list windows to open the ShellCheck error definition on GitHub. This command requires the Netrw plugin to be installed. If Netrw is not installed, the gb map prints the URL to the ShellCheck error definition on GitHub instead. This functionality is enabled when the window's w:quickfix_title attribute starts with one of the following:

  • :shellcheck -- created by compiler shellcheck | :make % or some other program
  • :ShellCheck -- created by the :ShellCheck command
  • :LShellCheck -- created by the :LShellCheck command

To disable this mapping:

let g:shellcheck_disable_mappings = 1

To setup a different map:

let g:shellcheck_disable_mappings = 1
autocmd FileType qf nmap <buffer> <silent> gB <Plug>(shellcheck-gb)

Note: The gb map will not be defined if one already exists.

Compiler

A ShellCheck :compiler is provided by Vim 8.2.1769 and newer for use as a 'makeprg'. To use it, run:

:compiler shellcheck
:make! %
:copen

Configuration

g:shellcheck_qf_open

Specifies how the quickfix-window is opened when :ShellCheck! is used. The default value is "botright copen 10".

g:shellcheck_ll_open

Specifies how the location-list-window is opened when :LShellCheck! is used. The default value is "lopen 10".

Installation

Use your favorite plugin manager, or use Vim's built-in package support:

mkdir -p ~/.vim/pack/shellcheck/start
cd ~/.vim/pack/shellcheck/start
git clone https://github.com/itspriddle/vim-shellcheck.git
vim -u NONE -c "helptags vim-shellcheck/doc" -c q

License

MIT License - see LICENSE in this repo.