xref: /vim-8.2.3635/runtime/syntax/gitconfig.vim (revision c08ee747)
1864207deSBram Moolenaar" Vim syntax file
2864207deSBram Moolenaar" Language:	git config file
35c73622aSBram Moolenaar" Maintainer:	Tim Pope <[email protected]>
4864207deSBram Moolenaar" Filenames:	gitconfig, .gitconfig, *.git/config
5*c08ee747SBram Moolenaar" Last Change:	2019 Dec 05
6864207deSBram Moolenaar
7864207deSBram Moolenaarif exists("b:current_syntax")
8864207deSBram Moolenaar  finish
9864207deSBram Moolenaarendif
10864207deSBram Moolenaar
11864207deSBram Moolenaarsyn case ignore
12864207deSBram Moolenaarsyn sync minlines=10
13864207deSBram Moolenaar
145be4ceecSBram Moolenaarsyn match   gitconfigComment	"[#;].*" contains=@Spell
15864207deSBram Moolenaarsyn match   gitconfigSection	"\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
16864207deSBram Moolenaarsyn match   gitconfigSection	'\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
17*c08ee747SBram Moolenaarsyn match   gitconfigVariable	"\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
18864207deSBram Moolenaarsyn region  gitconfigAssignment  matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
19864207deSBram Moolenaarsyn keyword gitconfigBoolean true false yes no contained
20*c08ee747SBram Moolenaarsyn match   gitconfigNumber  "\<\d\+\>" contained
21864207deSBram Moolenaarsyn region  gitconfigString  matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
22864207deSBram Moolenaarsyn match   gitconfigError  +\\.+	 contained
23864207deSBram Moolenaarsyn match   gitconfigEscape +\\[\\"ntb]+ contained
24864207deSBram Moolenaarsyn match   gitconfigEscape +\\$+	 contained
25864207deSBram Moolenaar
26864207deSBram Moolenaarhi def link gitconfigComment		Comment
27864207deSBram Moolenaarhi def link gitconfigSection		Keyword
28864207deSBram Moolenaarhi def link gitconfigVariable		Identifier
29864207deSBram Moolenaarhi def link gitconfigBoolean		Boolean
30864207deSBram Moolenaarhi def link gitconfigNumber		Number
31864207deSBram Moolenaarhi def link gitconfigString		String
32864207deSBram Moolenaarhi def link gitconfigDelim		Delimiter
33*c08ee747SBram Moolenaarhi def link gitconfigEscape		Special
34864207deSBram Moolenaarhi def link gitconfigError		Error
35864207deSBram Moolenaar
36864207deSBram Moolenaarlet b:current_syntax = "gitconfig"
37