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