diff options
Diffstat (limited to 'vim/compiler')
-rw-r--r-- | vim/compiler/bash.vim | 17 | ||||
-rw-r--r-- | vim/compiler/ksh.vim | 17 | ||||
-rw-r--r-- | vim/compiler/sh.vim | 17 | ||||
-rw-r--r-- | vim/compiler/shellcheck.vim | 27 |
4 files changed, 78 insertions, 0 deletions
diff --git a/vim/compiler/bash.vim b/vim/compiler/bash.vim new file mode 100644 index 00000000..70997f92 --- /dev/null +++ b/vim/compiler/bash.vim @@ -0,0 +1,17 @@ +if exists('g:current_compiler') + finish +endif +let g:current_compiler = 'bash' + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal <args> +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') + CompilerSet makeprg=bash\ -n\ %:S +else + CompilerSet makeprg=bash\ -n\ % +endif +CompilerSet errorformat=%f:\ line\ %l:\ %m diff --git a/vim/compiler/ksh.vim b/vim/compiler/ksh.vim new file mode 100644 index 00000000..1b31ffa7 --- /dev/null +++ b/vim/compiler/ksh.vim @@ -0,0 +1,17 @@ +if exists('g:current_compiler') + finish +endif +let g:current_compiler = 'ksh' + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal <args> +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') + CompilerSet makeprg=ksh\ -n\ %:S +else + CompilerSet makeprg=ksh\ -n\ % +endif +CompilerSet errorformat=%f:\ %l:\ %m diff --git a/vim/compiler/sh.vim b/vim/compiler/sh.vim new file mode 100644 index 00000000..ff5ed314 --- /dev/null +++ b/vim/compiler/sh.vim @@ -0,0 +1,17 @@ +if exists('g:current_compiler') + finish +endif +let g:current_compiler = 'sh' + +if exists(':CompilerSet') != 2 + command -nargs=* CompilerSet setlocal <args> +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') + CompilerSet makeprg=sh\ -n\ %:S +else + CompilerSet makeprg=sh\ -n\ % +endif +CompilerSet errorformat=%f:\ %l:\ %m 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] |