if exists("b:current_syntax") finish endif syntax match gitlogGraph contained /^[*|\\\/_ ]*/ \ nextgroup=gitlogHash syntax match gitlogHash contained /\<\x\{7,64\}\>/ \ nextgroup=gitlogDate skipwhite syntax match gitlogDate contained /\<\d\{4}-\d\{2}-\d\{2}\>/ \ nextgroup=gitlogAuthor skipwhite syntax match gitlogAuthor contained /{[^}]\+}/ \ nextgroup=gitlogRef skipwhite syntax match gitlogRef contained /([^)]\+)/ syntax match gitlogLine \ /^[*|\\\/_ ]*\x\{7,64}\s\+\d\{4}-\d\{2}-\d\{2}\s\+{[^}]\+}.*/ \ contains=gitlogGraph syntax match gitlogGraphLine /^[*|\\\/_ ]\+$/ \ contains=gitlogGraph highlight default link gitlogGraph Comment highlight default link gitlogHash GitSha highlight default link gitlogDate Number highlight default link gitlogAuthor String highlight default link gitlogRef Constant let b:current_syntax = "gitlog"