xref: /vim-8.2.3635/runtime/syntax/gitconfig.vim (revision 5be4ceec)
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*5be4ceecSBram Moolenaar" Last Change:	2019 Sep 27
6864207deSBram Moolenaar
7864207deSBram Moolenaarif exists("b:current_syntax")
8864207deSBram Moolenaar  finish
9864207deSBram Moolenaarendif
10864207deSBram Moolenaar
11864207deSBram Moolenaarsetlocal iskeyword+=-
12864207deSBram Moolenaarsetlocal iskeyword-=_
13864207deSBram Moolenaarsyn case ignore
14864207deSBram Moolenaarsyn sync minlines=10
15864207deSBram Moolenaar
16*5be4ceecSBram Moolenaarsyn match   gitconfigComment	"[#;].*" contains=@Spell
17864207deSBram Moolenaarsyn match   gitconfigSection	"\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
18864207deSBram Moolenaarsyn match   gitconfigSection	'\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
19864207deSBram Moolenaarsyn match   gitconfigVariable	 "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
20864207deSBram Moolenaarsyn region  gitconfigAssignment  matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
21864207deSBram Moolenaarsyn keyword gitconfigBoolean true false yes no contained
22864207deSBram Moolenaarsyn match   gitconfigNumber  "\d\+" contained
23864207deSBram Moolenaarsyn region  gitconfigString  matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
24864207deSBram Moolenaarsyn match   gitconfigError  +\\.+	 contained
25864207deSBram Moolenaarsyn match   gitconfigEscape +\\[\\"ntb]+ contained
26864207deSBram Moolenaarsyn match   gitconfigEscape +\\$+	 contained
27864207deSBram Moolenaar
28864207deSBram Moolenaarhi def link gitconfigComment		Comment
29864207deSBram Moolenaarhi def link gitconfigSection		Keyword
30864207deSBram Moolenaarhi def link gitconfigVariable		Identifier
31864207deSBram Moolenaarhi def link gitconfigBoolean		Boolean
32864207deSBram Moolenaarhi def link gitconfigNumber		Number
33864207deSBram Moolenaarhi def link gitconfigString		String
34864207deSBram Moolenaarhi def link gitconfigDelim		Delimiter
35864207deSBram Moolenaarhi def link gitconfigEscape		Delimiter
36864207deSBram Moolenaarhi def link gitconfigError		Error
37864207deSBram Moolenaar
38864207deSBram Moolenaarlet b:current_syntax = "gitconfig"
39