diff options
Diffstat (limited to 'syntax/gitrebase.vim')
-rw-r--r-- | syntax/gitrebase.vim | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/syntax/gitrebase.vim b/syntax/gitrebase.vim index 762c2f44..c042f193 100644 --- a/syntax/gitrebase.vim +++ b/syntax/gitrebase.vim @@ -14,6 +14,8 @@ endif syn case match +let s:c = escape((matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/') + syn match gitrebaseHash "\v<\x{7,}>" contained contains=@NoSpell syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite contains=@NoSpell syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite @@ -30,14 +32,15 @@ syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite syn match gitrebaseSummary ".*" contains=gitrebaseHash contained syn match gitrebaseCommand ".*" contained -syn match gitrebaseEmpty " \zs# empty$" containedin=gitrebaseSummary contained -syn match gitrebaseComment "# " containedin=gitrebaseEmpty contained -syn match gitrebaseComment "^\s*#.*" contains=gitrebaseHash +exe 'syn match gitrebaseComment " \@<=' . s:c . ' empty$" containedin=gitrebaseSummary contained' +exe 'syn match gitrebaseComment "^\s*' . s:c . '.*" contains=gitrebaseHash' syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained -syn match gitrebaseMergeComment "#" nextgroup=gitrebaseSummary skipwhite contained +exe 'syn match gitrebaseMergeComment "' . s:c . '" nextgroup=gitrebaseSummary skipwhite contained' + +unlet s:c hi def link gitrebaseCommit gitrebaseHash hi def link gitrebaseHash Identifier @@ -54,7 +57,6 @@ hi def link gitrebaseMerge Exception hi def link gitrebaseLabel Label hi def link gitrebaseReset Keyword hi def link gitrebaseSummary String -hi def link gitrebaseEmpty Error hi def link gitrebaseComment Comment hi def link gitrebaseSquashError Error hi def link gitrebaseMergeCommit gitrebaseCommit |