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 | |
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')
-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] |