view runtime/syntax/gitrebase.vim @ 29421:61796d98c856 v9.0.0052

patch 9.0.0052: "zG" may throw an error if invalid character follows Commit: https://github.com/vim/vim/commit/2ebcc35826bc2deb04e5fc6d73332f55783e7f52 Author: K.Takata <kentkt@csc.jp> Date: Thu Jul 14 17:25:14 2022 +0100 patch 9.0.0052: "zG" may throw an error if invalid character follows Problem: "zG" may throw an error if invalid character follows. Solution: Pass the word length to valid_spell_word(). (Ken Takata, closes #10737)
author Bram Moolenaar <Bram@vim.org>
date Thu, 14 Jul 2022 18:30:04 +0200
parents 3e661b0cf500
children
line wrap: on
line source

" Vim syntax file
" Language:	git rebase --interactive
" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
" Filenames:	git-rebase-todo
" Last Change:	2022 Jan 05

if exists("b:current_syntax")
  finish
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
syn match   gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
syn match   gitrebaseEdit   "\v^e%(dit)=>"   nextgroup=gitrebaseCommit skipwhite
syn match   gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite
syn match   gitrebaseFixup  "\v^f%(ixup)=>"  nextgroup=gitrebaseCommit skipwhite
syn match   gitrebaseExec   "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite
syn match   gitrebaseBreak  "\v^b%(reak)=>"
syn match   gitrebaseDrop   "\v^d%(rop)=>"   nextgroup=gitrebaseCommit skipwhite
syn match   gitrebaseNoop   "\v^noop>"
syn match   gitrebaseMerge  "\v^m(erge)=>"   nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite
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
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
exe 'syn match gitrebaseMergeComment "' . s:c . '"  nextgroup=gitrebaseSummary skipwhite contained'

unlet s:c

hi def link gitrebaseCommit         gitrebaseHash
hi def link gitrebaseHash           Identifier
hi def link gitrebasePick           Type
hi def link gitrebaseReword         Conditional
hi def link gitrebaseEdit           PreProc
hi def link gitrebaseSquash         Statement
hi def link gitrebaseFixup          Repeat
hi def link gitrebaseExec           Operator
hi def link gitrebaseBreak          Macro
hi def link gitrebaseDrop           Comment
hi def link gitrebaseNoop           Comment
hi def link gitrebaseMerge          Exception
hi def link gitrebaseLabel          Label
hi def link gitrebaseReset          Keyword
hi def link gitrebaseSummary        String
hi def link gitrebaseComment        Comment
hi def link gitrebaseSquashError    Error
hi def link gitrebaseMergeCommit    gitrebaseCommit
hi def link gitrebaseMergeComment   gitrebaseComment
hi def link gitrebaseName           Tag

let b:current_syntax = "gitrebase"