From 2bcce63572e062f34527fbe42bb0f5756a08d8b8 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Sat, 30 Jun 2018 00:36:55 +1200 Subject: Refactor ftplugins into single files Each thereby effectively becomes its own .vimrc for that type. --- vim/after/ftplugin/sh.vim | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 vim/after/ftplugin/sh.vim (limited to 'vim/after/ftplugin/sh.vim') 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 c + \ :call compiler#Make(b:sh_check_compiler) +nnoremap l + \ :call compiler#Make('shellcheck') +let b:undo_ftplugin = b:undo_ftplugin + \ . '|nunmap c' + \ . '|nunmap l' -- cgit v1.2.3