37 lines
1.2 KiB
VimL
37 lines
1.2 KiB
VimL
" Vim syntax file
|
|
" Language: git commit message
|
|
|
|
" Quit when a (custom) syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syn region gitSignedOff start=/^Signed-off-by:/ end=/$/ contains=gitAuthor,gitEmail
|
|
syn region gitAuthor contained start=/\s/ end=/$/
|
|
|
|
syn region gitLine start=/^#/ end=/$/
|
|
syn region gitCommit start=/^# Changes to be committed:$/ end=/^#$/ contains=gitHead,gitCommitFile
|
|
syn region gitHead contained start=/^# (.*)/ end=/^#$/
|
|
syn region gitChanged start=/^# Changed but not updated:/ end=/^#$/ contains=gitHead,gitChangedFile
|
|
syn region gitUntracked start=/^# Untracked files:/ end=/^#$/ contains=gitHead,gitUntrackedFile
|
|
|
|
syn match gitCommitFile contained /^#\t.*/hs=s+2
|
|
syn match gitChangedFile contained /^#\t.*/hs=s+2
|
|
syn match gitUntrackedFile contained /^#\t.*/hs=s+2
|
|
|
|
hi def link gitSignedOff Keyword
|
|
hi def link gitAuthor Normal
|
|
|
|
hi def link gitLine Comment
|
|
hi def link gitCommit Comment
|
|
hi def link gitChanged Comment
|
|
hi def link gitHead Comment
|
|
hi def link gitUntracked Comment
|
|
hi def link gitCommitFile Type
|
|
hi def link gitChangedFile Constant
|
|
hi def link gitUntrackedFile Constant
|
|
|
|
let b:current_syntax = "git"
|
|
|
|
" vim: ts=8 sw=2
|