syn region gitLg start=/\%(^[|\/\\_ ]*\*[|\/\\_ ]\{-\} \%(\x\{4,\}\)\)\@=/ end=/$/ contains=@NoSpell,gitLgHash,gitLgEnd syn match gitLgHash /\<\x\{7,\}\>/ contained nextgroup=gitLgDecorate skipwhite syn match gitLgDecorate /([^)]*)/ contained syn match gitLgEnd /([^)]*) <[^>]*>$/ contains=gitLgAuthor,gitLgDate syn match gitLgDate /([^)]*)/ contained syn match gitLgAuthor /<[^>]*>/ contained hi def link gitLgHash gitHash hi def link gitLgAuthor gitIdentity hi def link gitLgDate gitDate hi def link gitLgDecorate gitReference