diff options
Diffstat (limited to 'ftdetect/git.vim')
-rw-r--r-- | ftdetect/git.vim | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ftdetect/git.vim b/ftdetect/git.vim new file mode 100644 index 00000000..b1b14e0d --- /dev/null +++ b/ftdetect/git.vim @@ -0,0 +1,20 @@ +" Git +autocmd BufNewFile,BufRead *.git/{,modules/**/}{COMMIT_EDIT,MERGE_}MSG set ft=gitcommit +autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules set ft=gitconfig +autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig +autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig +autocmd BufNewFile,BufRead git-rebase-todo set ft=gitrebase +autocmd BufNewFile,BufRead .msg.[0-9]* + \ if getline(1) =~ '^From.*# This line is ignored.$' | + \ set ft=gitsendemail | + \ endif +autocmd BufNewFile,BufRead *.git/** + \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' | + \ set ft=git | + \ endif + +" This logic really belongs in scripts.vim +autocmd BufNewFile,BufRead,StdinReadPost * + \ if getline(1) =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$' | + \ set ft=git | + \ endif |