diff options
Diffstat (limited to 'vim/after/ftplugin/sh.vim')
-rw-r--r-- | vim/after/ftplugin/sh.vim | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/vim/after/ftplugin/sh.vim b/vim/after/ftplugin/sh.vim index 05c3e293..5cafdd70 100644 --- a/vim/after/ftplugin/sh.vim +++ b/vim/after/ftplugin/sh.vim @@ -1,22 +1,14 @@ -" Extra configuration for 'sh' filetypes -if exists('b:did_ftplugin_after') || &compatible +" Extra configuration for shell script +if &filetype != 'sh' || &compatible || v:version < 700 finish endif -if v:version < 700 - 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< formatoptions<' + \ . '|setlocal comments<' + \ . '|setlocal formatoptions<' " If subtype is Bash, set 'keywordprg' to han(1df) if exists('b:is_bash') @@ -25,11 +17,6 @@ if exists('b:is_bash') \ . '|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' @@ -38,12 +25,23 @@ elseif exists('b:is_kornshell') else let b:sh_check_compiler = 'sh' endif +execute 'compiler '.b:sh_check_compiler +let b:undo_ftplugin = b:undo_ftplugin + \ . '|unlet b:current_compiler' + \ . '|unlet b:sh_check_compiler' + \ . '|setlocal errorformat<' + \ . '|setlocal makeprg<' + +" Stop here if the user doesn't want ftplugin mappings +if exists('g:no_plugin_maps') || exists('g:no_sh_maps') + finish +endif -" Set mappings -nnoremap <buffer> <LocalLeader>c - \ :<C-U>call compiler#Make(b:sh_check_compiler)<CR> +" Mappings to choose compiler +nnoremap <buffer> <expr> <LocalLeader>c + \ ':<C-U>compiler '.b:sh_check_compiler.'<CR>' nnoremap <buffer> <LocalLeader>l - \ :<C-U>call compiler#Make('shellcheck')<CR> + \ :<C-U>compiler shellcheck<CR> let b:undo_ftplugin = b:undo_ftplugin \ . '|nunmap <buffer> <LocalLeader>c' \ . '|nunmap <buffer> <LocalLeader>l' |