gitrebase.vim (3200B)
1 " Vim syntax file 2 " Language: git rebase --interactive 3 " Maintainer: Tim Pope <vimNOSPAM@tpope.org> 4 " Filenames: git-rebase-todo 5 " Last Change: 2022 Jan 05 6 7 if exists("b:current_syntax") 8 finish 9 endif 10 11 syn case match 12 13 let s:c = escape((matchstr(getline('$'), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/') 14 15 syn match gitrebaseHash "\v<\x{7,}>" contained contains=@NoSpell 16 syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite contains=@NoSpell 17 syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite 18 syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite 19 syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite 20 syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite 21 syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite 22 syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite 23 syn match gitrebaseBreak "\v^b%(reak)=>" 24 syn match gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite 25 syn match gitrebaseNoop "\v^noop>" 26 syn match gitrebaseMerge "\v^m(erge)=>" nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite 27 syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite 28 syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite 29 syn match gitrebaseSummary ".*" contains=gitrebaseHash contained 30 syn match gitrebaseCommand ".*" contained 31 exe 'syn match gitrebaseComment " \@<=' . s:c . ' empty$" containedin=gitrebaseSummary contained' 32 exe 'syn match gitrebaseComment "^\s*' . s:c . '.*" contains=gitrebaseHash' 33 syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite 34 syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained 35 syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained 36 syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained 37 exe 'syn match gitrebaseMergeComment "' . s:c . '" nextgroup=gitrebaseSummary skipwhite contained' 38 39 unlet s:c 40 41 hi def link gitrebaseCommit gitrebaseHash 42 hi def link gitrebaseHash Identifier 43 hi def link gitrebasePick Type 44 hi def link gitrebaseReword Conditional 45 hi def link gitrebaseEdit PreProc 46 hi def link gitrebaseSquash Statement 47 hi def link gitrebaseFixup Repeat 48 hi def link gitrebaseExec Operator 49 hi def link gitrebaseBreak Macro 50 hi def link gitrebaseDrop Comment 51 hi def link gitrebaseNoop Comment 52 hi def link gitrebaseMerge Exception 53 hi def link gitrebaseLabel Label 54 hi def link gitrebaseReset Keyword 55 hi def link gitrebaseSummary String 56 hi def link gitrebaseComment Comment 57 hi def link gitrebaseSquashError Error 58 hi def link gitrebaseMergeCommit gitrebaseCommit 59 hi def link gitrebaseMergeComment gitrebaseComment 60 hi def link gitrebaseName Tag 61 62 let b:current_syntax = "gitrebase"