forked from aniani/vim
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	git commit file
 | |
| " Maintainer:	Tim Pope <vimNOSPAM@tpope.info>
 | |
| " Filenames:	*.git/COMMIT_EDITMSG
 | |
| " Last Change:	2008 Apr 09
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|     finish
 | |
| endif
 | |
| 
 | |
| syn case match
 | |
| syn sync minlines=50
 | |
| 
 | |
| if has("spell")
 | |
|     syn spell toplevel
 | |
| endif
 | |
| 
 | |
| syn include @gitcommitDiff syntax/diff.vim
 | |
| syn region gitcommitDiff start=/\%(^diff --git \)\@=/ end=/^$\|^#\@=/ contains=@gitcommitDiff
 | |
| 
 | |
| syn match   gitcommitFirstLine	"\%^[^#].*"  nextgroup=gitcommitBlank skipnl
 | |
| syn match   gitcommitSummary  	"^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
 | |
| syn match   gitcommitOverflow	".*" contained contains=@Spell
 | |
| syn match   gitcommitBlank	"^[^#].*" contained contains=@Spell
 | |
| syn match   gitcommitComment	"^#.*"
 | |
| syn region  gitcommitHead	start=/^#   / end=/^#$/ contained transparent
 | |
| syn match   gitcommitOnBranch	"\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
 | |
| syn match   gitcommitBranch	"\S\+" contained
 | |
| syn match   gitcommitHeader	"\%(^# \)\@<=.*:$"	contained containedin=gitcommitComment
 | |
| 
 | |
| syn region  gitcommitUntracked	start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
 | |
| syn match   gitcommitUntrackedFile  "\t\@<=.*"	contained
 | |
| 
 | |
| syn region  gitcommitDiscarded	start=/^# Changed but not updated:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
 | |
| syn region  gitcommitSelected	start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
 | |
| 
 | |
| syn match   gitcommitDiscardedType	"\t\@<=[a-z][a-z ]*[a-z]: "he=e-2	contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
 | |
| syn match   gitcommitSelectedType	"\t\@<=[a-z][a-z ]*[a-z]: "he=e-2	contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
 | |
| syn match   gitcommitDiscardedFile	".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
 | |
| syn match   gitcommitSelectedFile	".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
 | |
| syn match   gitcommitDiscardedArrow	" -> " contained nextgroup=gitcommitDiscardedFile
 | |
| syn match   gitcommitSelectedArrow	" -> " contained nextgroup=gitcommitSelectedFile
 | |
| 
 | |
| hi def link gitcommitSummary		Keyword
 | |
| hi def link gitcommitComment		Comment
 | |
| hi def link gitcommitUntracked		gitcommitComment
 | |
| hi def link gitcommitDiscarded		gitcommitComment
 | |
| hi def link gitcommitSelected		gitcommitComment
 | |
| hi def link gitcommitOnBranch		Comment
 | |
| hi def link gitcommitBranch		Special
 | |
| hi def link gitcommitDiscardedType	gitcommitType
 | |
| hi def link gitcommitSelectedType	gitcommitType
 | |
| hi def link gitcommitType		Type
 | |
| hi def link gitcommitHeader		PreProc
 | |
| hi def link gitcommitUntrackedFile	gitcommitFile
 | |
| hi def link gitcommitDiscardedFile	gitcommitFile
 | |
| hi def link gitcommitSelectedFile	gitcommitFile
 | |
| hi def link gitcommitFile		Constant
 | |
| hi def link gitcommitDiscardedArrow	gitcommitArrow
 | |
| hi def link gitcommitSelectedArrow	gitcommitArrow
 | |
| hi def link gitcommitArrow		gitcommitComment
 | |
| "hi def link gitcommitOverflow		Error
 | |
| hi def link gitcommitBlank		Error
 | |
| 
 | |
| let b:current_syntax = "gitcommit"
 |