mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	git commit file
 | 
						|
" Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
 | 
						|
" Filenames:	*.git/COMMIT_EDITMSG
 | 
						|
" Last Change:	2016 Aug 29
 | 
						|
 | 
						|
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\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2	contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
 | 
						|
syn match   gitcommitSelectedType	"\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2	contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
 | 
						|
syn match   gitcommitUnmergedType	"\t\@<=[[:lower:]][^:]*[[:lower:]]: "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"
 |