neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

gitconfig.vim (1596B)


      1 " Vim syntax file
      2 " Language:	git config file
      3 " Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
      4 " Filenames:	gitconfig, .gitconfig, *.git/config
      5 " Last Change:	2019 Dec 05
      6 
      7 if exists("b:current_syntax")
      8  finish
      9 endif
     10 
     11 syn case ignore
     12 syn sync minlines=10
     13 
     14 syn match   gitconfigComment	"[#;].*" contains=@Spell
     15 syn match   gitconfigSection	"\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
     16 syn match   gitconfigSection	'\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
     17 syn match   gitconfigVariable	"\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
     18 syn region  gitconfigAssignment  matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
     19 syn keyword gitconfigBoolean true false yes no contained
     20 syn match   gitconfigNumber  "\<\d\+\>" contained
     21 syn region  gitconfigString  matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
     22 syn match   gitconfigError  +\\.+	 contained
     23 syn match   gitconfigEscape +\\[\\"ntb]+ contained
     24 syn match   gitconfigEscape +\\$+	 contained
     25 
     26 hi def link gitconfigComment		Comment
     27 hi def link gitconfigSection		Keyword
     28 hi def link gitconfigVariable		Identifier
     29 hi def link gitconfigBoolean		Boolean
     30 hi def link gitconfigNumber		Number
     31 hi def link gitconfigString		String
     32 hi def link gitconfigDelim		Delimiter
     33 hi def link gitconfigEscape		Special
     34 hi def link gitconfigError		Error
     35 
     36 let b:current_syntax = "gitconfig"