diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-17 00:19:45 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-17 00:19:45 +1200 |
commit | 81ff3c0f3ae44bb88a129b7395cb050290a37518 (patch) | |
tree | d0cf48de5513c8bfff929ff24473dc6bc441f9e9 /vim/compiler/shellcheck.vim | |
parent | Use short-circuit for no-mapping check (diff) | |
download | dotfiles-81ff3c0f3ae44bb88a129b7395cb050290a37518.tar.gz dotfiles-81ff3c0f3ae44bb88a129b7395cb050290a37518.zip |
Completely overhaul after/ftplugin files
Should have done some of this in separate commits; oh well.
* Rewrite headers for each ftplugin
* Require Vim version >= 7.0, and thereby:
* Switch back to location list
* Don't check for b:undo_ftplugin existence, assume it
* Save and restore compiler instead of internal options
* Add bash, ksh, sh, and shellcheck compilers
* Rename mail/format_flowed.vim to mail/flowed.vim
* Rename sh/bash_han.vim to sh/han.vim
Diffstat (limited to 'vim/compiler/shellcheck.vim')
-rw-r--r-- | vim/compiler/shellcheck.vim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vim/compiler/shellcheck.vim b/vim/compiler/shellcheck.vim new file mode 100644 index 00000000..6d6498da --- /dev/null +++ b/vim/compiler/shellcheck.vim @@ -0,0 +1,27 @@ +if exists('g:current_compiler') + finish +endif +let g:current_compiler = 'shellcheck' + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal <args> +endif + +" Build :CompilerSet command based on buffer shell type +let s:set = 'CompilerSet makeprg=shellcheck\ -e\ SC1090\ -f\ gcc' +if exists('b:is_bash') + let s:set = s:set . '\ -s\ bash' +elseif exists('b:is_kornshell') + let s:set = s:set . '\ -s\ ksh' +else + let s:set = s:set . '\ -s\ sh' +endif + +" 7.4.191 is the earliest version with the :S file name modifier, which we +" really should use if we can +if v:version >= 704 || v:version == 704 && has('patch191') + execute s:set . '\ %:S' +else + execute s:set . '\ %' +endif +CompilerSet errorformat=%f:%l:%c:\ %m\ [SC%n] |