diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-30 00:36:55 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-30 00:36:55 +1200 |
commit | 2bcce63572e062f34527fbe42bb0f5756a08d8b8 (patch) | |
tree | 06aa6b6d3c0261a026574fba1b384661ff6f7bba /vim/after/ftplugin/sh.vim | |
parent | Remove stray vim/autoload/vimrc.vim file (diff) | |
download | dotfiles-2bcce63572e062f34527fbe42bb0f5756a08d8b8.tar.gz dotfiles-2bcce63572e062f34527fbe42bb0f5756a08d8b8.zip |
Refactor ftplugins into single files
Each thereby effectively becomes its own .vimrc for that type.
Diffstat (limited to 'vim/after/ftplugin/sh.vim')
-rw-r--r-- | vim/after/ftplugin/sh.vim | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/vim/after/ftplugin/sh.vim b/vim/after/ftplugin/sh.vim new file mode 100644 index 00000000..a59eeee8 --- /dev/null +++ b/vim/after/ftplugin/sh.vim @@ -0,0 +1,46 @@ +" Extra configuration for 'sh' filetypes +if &compatible || v:version < 700 || exists('b:did_ftplugin_after') + finish +endif +if &filetype !=# 'sh' + finish +endif +let b:did_ftplugin_after = 1 +let b:undo_ftplugin = b:undo_ftplugin + \ . '|unlet b:did_ftplugin_after' + +" Set comment formats +setlocal comments=:# +setlocal formatoptions+=or +let b:undo_ftplugin = b:undo_ftplugin + \ . '|setlocal comments<' + +" If subtype is Bash, set 'keywordprg' to han(1df) +if exists('b:is_bash') + setlocal keywordprg=han + let b:undo_ftplugin = b:undo_ftplugin + \ . '|setlocal keywordprg<' +endif + +" Stop here if the user doesn't want ftplugin mappings +if exists('g:no_plugin_maps') || exists('g:no_sh_maps') + finish +endif + +" Choose check compiler based on file subtype +if exists('b:is_bash') + let b:sh_check_compiler = 'bash' +elseif exists('b:is_kornshell') + let b:sh_check_compiler = 'ksh' +else + let b:sh_check_compiler = 'sh' +endif + +" Set mappings +nnoremap <buffer> <LocalLeader>c + \ :<C-U>call compiler#Make(b:sh_check_compiler)<CR> +nnoremap <buffer> <LocalLeader>l + \ :<C-U>call compiler#Make('shellcheck')<CR> +let b:undo_ftplugin = b:undo_ftplugin + \ . '|nunmap <buffer> <LocalLeader>c' + \ . '|nunmap <buffer> <LocalLeader>l' |