diff options
Diffstat (limited to 'vim/ftdetect/sh.vim')
-rw-r--r-- | vim/ftdetect/sh.vim | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vim/ftdetect/sh.vim b/vim/ftdetect/sh.vim new file mode 100644 index 00000000..f2bc0df2 --- /dev/null +++ b/vim/ftdetect/sh.vim @@ -0,0 +1,31 @@ +" Add automatic commands to choose shell flavours based on filename pattern +augroup dfsh + + " Names/paths of things that are Bash shell script + autocmd BufNewFile,BufRead + \ **/.dotfiles/bash/**,bash-fc-* + \ let b:is_bash = 1 | + \ setlocal filetype=sh + + " Names/paths of things that are Korn shell script + autocmd BufNewFile,BufRead + \ **/.dotfiles/ksh/**,.kshrc,*.ksh + \ let b:is_kornshell = 1 | + \ setlocal filetype=sh + + " Names/paths of things that are POSIX shell script + autocmd BufNewFile,BufRead + \ **/.dotfiles/sh/**,.shinit,.shrc,.xinitrc,/etc/default/* + \ let b:is_posix = 1 | + \ setlocal filetype=sh + + " If we determined something is b:is_kornshell, tack on b:is_ksh as well so + " we can still tease out what is actually a kornshell script after sh.vim is + " done changing our options for us; it conflates POSIX with Korn shell. + autocmd BufNewFile,BufRead + \ * + \ if exists('b:is_kornshell') | + \ let b:is_ksh = 1 | + \ endif + +augroup END |