Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: git rebase --interactive |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 3 | " Maintainer: Tim Pope <vimNOSPAM@tpope.org> |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 4 | " Filenames: git-rebase-todo |
Bram Moolenaar | 2f0936c | 2022-01-08 21:51:59 +0000 | [diff] [blame] | 5 | " Last Change: 2022 Jan 05 |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 6 | |
| 7 | if exists("b:current_syntax") |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 8 | finish |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 9 | endif |
| 10 | |
| 11 | syn case match |
| 12 | |
Bram Moolenaar | 2f0936c | 2022-01-08 21:51:59 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 17 | syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 18 | syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 19 | syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 20 | syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 21 | syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | 53bfca2 | 2012-04-13 23:04:47 +0200 | [diff] [blame] | 22 | syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 23 | syn match gitrebaseBreak "\v^b%(reak)=>" |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 24 | syn match gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 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 |
Bram Moolenaar | 664f3cf | 2019-12-07 16:03:51 +0100 | [diff] [blame] | 28 | syn match gitrebaseReset "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 29 | syn match gitrebaseSummary ".*" contains=gitrebaseHash contained |
Bram Moolenaar | 53bfca2 | 2012-04-13 23:04:47 +0200 | [diff] [blame] | 30 | syn match gitrebaseCommand ".*" contained |
Bram Moolenaar | 2f0936c | 2022-01-08 21:51:59 +0000 | [diff] [blame] | 31 | exe 'syn match gitrebaseComment " \@<=' . s:c . ' empty$" containedin=gitrebaseSummary contained' |
| 32 | exe 'syn match gitrebaseComment "^\s*' . s:c . '.*" contains=gitrebaseHash' |
Bram Moolenaar | 7a32991 | 2010-05-21 12:05:36 +0200 | [diff] [blame] | 33 | syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 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 |
Bram Moolenaar | 2f0936c | 2022-01-08 21:51:59 +0000 | [diff] [blame] | 37 | exe 'syn match gitrebaseMergeComment "' . s:c . '" nextgroup=gitrebaseSummary skipwhite contained' |
| 38 | |
| 39 | unlet s:c |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 40 | |
| 41 | hi def link gitrebaseCommit gitrebaseHash |
| 42 | hi def link gitrebaseHash Identifier |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 43 | hi def link gitrebasePick Type |
| 44 | hi def link gitrebaseReword Conditional |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 45 | hi def link gitrebaseEdit PreProc |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 46 | hi def link gitrebaseSquash Statement |
| 47 | hi def link gitrebaseFixup Repeat |
| 48 | hi def link gitrebaseExec Operator |
| 49 | hi def link gitrebaseBreak Macro |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 50 | hi def link gitrebaseDrop Comment |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 51 | hi def link gitrebaseNoop Comment |
| 52 | hi def link gitrebaseMerge Exception |
| 53 | hi def link gitrebaseLabel Label |
| 54 | hi def link gitrebaseReset Keyword |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 55 | hi def link gitrebaseSummary String |
| 56 | hi def link gitrebaseComment Comment |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 57 | hi def link gitrebaseSquashError Error |
Bram Moolenaar | c08ee74 | 2019-12-05 22:47:25 +0100 | [diff] [blame] | 58 | hi def link gitrebaseMergeCommit gitrebaseCommit |
| 59 | hi def link gitrebaseMergeComment gitrebaseComment |
| 60 | hi def link gitrebaseName Tag |
Bram Moolenaar | 3577c6f | 2008-06-24 21:16:56 +0000 | [diff] [blame] | 61 | |
| 62 | let b:current_syntax = "gitrebase" |