comparison runtime/syntax/git.vim @ 2034:7bc41231fbc7

Update runtime files.
author Bram Moolenaar <bram@zimbu.org>
date Wed, 06 Jan 2010 20:54:52 +0100
parents 18ee39301b82
children f7579a31705c
comparison
equal deleted inserted replaced
2033:de5a43c5eedc 2034:7bc41231fbc7
1 " Vim syntax file 1 " Vim syntax file
2 " Language: generic git output 2 " Language: generic git output
3 " Maintainer: Tim Pope <vimNOSPAM@tpope.info> 3 " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
4 " Last Change: 2008 Mar 21 4 " Last Change: 2009 Dec 24
5 5
6 if exists("b:current_syntax") 6 if exists("b:current_syntax")
7 finish 7 finish
8 endif 8 endif
9 9
11 syn sync minlines=50 11 syn sync minlines=50
12 12
13 syn include @gitDiff syntax/diff.vim 13 syn include @gitDiff syntax/diff.vim
14 14
15 syn region gitHead start=/\%^/ end=/^$/ 15 syn region gitHead start=/\%^/ end=/^$/
16 syn region gitHead start=/\%(^commit \x\{40\}$\)\@=/ end=/^$/ 16 syn region gitHead start=/\%(^commit \x\{40\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/
17 17
18 " For git reflog and git show ...^{tree}, avoid sync issues 18 " For git reflog and git show ...^{tree}, avoid sync issues
19 syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/ 19 syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/
20 syn match gitHead /^\x\{40\} \x\{40}\t.*/ 20 syn match gitHead /^\x\{40\} \x\{40}\t.*/
21 21
22 syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff fold 22 syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold
23 syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff 23 syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff
24
25 syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
26 syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
27 syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge
28 syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge
24 29
25 syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite 30 syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
26 syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite 31 syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
27 syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite 32 syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite
28 syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite 33 syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
29 syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite 34 syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
30 syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite 35 syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
31 syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite 36 syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite
32 syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
33 syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
34 37
35 syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite 38 syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite
36 syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite 39 syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite
37 syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity 40 syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity
38 41
40 syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained 43 syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained
41 syn match gitDate /\<\d\+ \l\+ ago\>/ contained 44 syn match gitDate /\<\d\+ \l\+ ago\>/ contained
42 syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite 45 syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite
43 syn match gitStage /\<\d\t\@=/ contained 46 syn match gitStage /\<\d\t\@=/ contained
44 syn match gitReference /\S\+\S\@!/ contained 47 syn match gitReference /\S\+\S\@!/ contained
45 syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage skipwhite 48 syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage,gitHash skipwhite
46 syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite 49 syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite
50 syn match gitHashAbbrev /\<\x\{4,40\}\>/ contained nextgroup=gitHashAbbrev skipwhite
47 syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite 51 syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite
48 syn match gitHashAbbrev /\<\x\{40\}\>/ contained nextgroup=gitHashAbbrev skipwhite 52
53 syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
54 syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
55
56 syn match gitNotesHeader /^Notes:\ze\n /
49 57
50 hi def link gitDateHeader gitIdentityHeader 58 hi def link gitDateHeader gitIdentityHeader
51 hi def link gitIdentityHeader gitIdentityKeyword 59 hi def link gitIdentityHeader gitIdentityKeyword
52 hi def link gitIdentityKeyword Label 60 hi def link gitIdentityKeyword Label
61 hi def link gitNotesHeader gitKeyword
53 hi def link gitReflogHeader gitKeyword 62 hi def link gitReflogHeader gitKeyword
54 hi def link gitKeyword Keyword 63 hi def link gitKeyword Keyword
55 hi def link gitIdentity String 64 hi def link gitIdentity String
56 hi def link gitEmailDelimiter Delimiter 65 hi def link gitEmailDelimiter Delimiter
57 hi def link gitEmail Special 66 hi def link gitEmail Special
61 hi def link gitHash Identifier 70 hi def link gitHash Identifier
62 hi def link gitReflogMiddle gitReference 71 hi def link gitReflogMiddle gitReference
63 hi def link gitReference Function 72 hi def link gitReference Function
64 hi def link gitStage gitType 73 hi def link gitStage gitType
65 hi def link gitType Type 74 hi def link gitType Type
75 hi def link gitDiffAdded diffAdded
76 hi def link gitDiffRemoved diffRemoved
66 77
67 let b:current_syntax = "git" 78 let b:current_syntax = "git"