mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	git commit file
 | |
| " Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
 | |
| " Filenames:	*.git/COMMIT_EDITMSG
 | |
| " Last Change:	2013 May 30
 | |
| 
 | |
| 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\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|#\)\@=/ fold 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 match   gitcommitHead	"^\%(#   .*\n\)\+#$" contained transparent
 | |
| syn match   gitcommitOnBranch	"\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
 | |
| syn match   gitcommitOnBranch	"\%(^# \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
 | |
| syn match   gitcommitBranch	"[^ ']\+" contained
 | |
| syn match   gitcommitNoBranch	"\%(^# \)\@<=Not currently on any branch." contained containedin=gitcommitComment
 | |
| syn match   gitcommitHeader	"\%(^# \)\@<=.*:$"	contained containedin=gitcommitComment
 | |
| syn region  gitcommitAuthor	matchgroup=gitCommitHeader start=/\%(^# \)\@<=\%(Author\|Committer\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
 | |
| syn match   gitcommitNoChanges	"\%(^# \)\@<=No changes$" contained containedin=gitcommitComment
 | |
| 
 | |
| syn region  gitcommitUntracked	start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
 | |
| syn match   gitcommitUntrackedFile  "\t\@<=.*"	contained
 | |
| 
 | |
| syn region  gitcommitDiscarded	start=/^# Change\%(s not staged for commit\|d but not updated\):/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
 | |
| syn region  gitcommitSelected	start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
 | |
| syn region  gitcommitUnmerged	start=/^# Unmerged paths:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType 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   gitcommitUnmergedType	"\t\@<=[a-z][a-z ]*[a-z]: "he=e-2	contained containedin=gitcommitComment nextgroup=gitcommitUnmergedFile skipwhite
 | |
| syn match   gitcommitDiscardedFile	".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
 | |
| syn match   gitcommitSelectedFile	".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
 | |
| syn match   gitcommitUnmergedFile	".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
 | |
| syn match   gitcommitDiscardedArrow	" -> " contained nextgroup=gitcommitDiscardedFile
 | |
| syn match   gitcommitSelectedArrow	" -> " contained nextgroup=gitcommitSelectedFile
 | |
| syn match   gitcommitUnmergedArrow	" -> " contained nextgroup=gitcommitSelectedFile
 | |
| 
 | |
| syn match   gitcommitWarning		"\%^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl
 | |
| syn match   gitcommitWarning		"^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl contained
 | |
| syn match   gitcommitWarning		"^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$"
 | |
| 
 | |
| 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 gitcommitUnmerged		gitcommitComment
 | |
| hi def link gitcommitOnBranch		Comment
 | |
| hi def link gitcommitBranch		Special
 | |
| hi def link gitcommitNoBranch		gitCommitBranch
 | |
| hi def link gitcommitDiscardedType	gitcommitType
 | |
| hi def link gitcommitSelectedType	gitcommitType
 | |
| hi def link gitcommitUnmergedType	gitcommitType
 | |
| hi def link gitcommitType		Type
 | |
| hi def link gitcommitNoChanges		gitcommitHeader
 | |
| hi def link gitcommitHeader		PreProc
 | |
| hi def link gitcommitUntrackedFile	gitcommitFile
 | |
| hi def link gitcommitDiscardedFile	gitcommitFile
 | |
| hi def link gitcommitSelectedFile	gitcommitFile
 | |
| hi def link gitcommitUnmergedFile	gitcommitFile
 | |
| hi def link gitcommitFile		Constant
 | |
| hi def link gitcommitDiscardedArrow	gitcommitArrow
 | |
| hi def link gitcommitSelectedArrow	gitcommitArrow
 | |
| hi def link gitcommitUnmergedArrow	gitcommitArrow
 | |
| hi def link gitcommitArrow		gitcommitComment
 | |
| "hi def link gitcommitOverflow		Error
 | |
| hi def link gitcommitBlank		Error
 | |
| 
 | |
| let b:current_syntax = "gitcommit"
 |