Runtime files update
[MacVim.git] / runtime / syntax / gitconfig.vim
blob0a8df2a0c29a67a08f93b3faea052a4ced9f66cc
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:  2007 Dec 20
7 if exists("b:current_syntax")
8     finish
9 endif
11 syn case ignore
12 setlocal iskeyword+=-
13 setlocal iskeyword-=_
15 syn match   gitconfigComment    "[#;].*"
16 syn match   gitconfigSection    "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
17 syn match   gitconfigSection    '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
18 syn match   gitconfigVariable    "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
19 syn region  gitconfigAssignment  matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
20 syn keyword gitconfigBoolean true false yes no contained
21 syn match   gitconfigNumber  "\d\+" contained
22 syn region  gitconfigString  matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
23 syn match   gitconfigError  +\\.+        contained
24 syn match   gitconfigEscape +\\[\\"ntb]+ contained
25 syn match   gitconfigEscape +\\$+        contained
27 hi def link gitconfigComment            Comment
28 hi def link gitconfigSection            Keyword
29 hi def link gitconfigVariable           Identifier
30 hi def link gitconfigBoolean            Boolean
31 hi def link gitconfigNumber             Number
32 hi def link gitconfigString             String
33 hi def link gitconfigDelim              Delimiter
34 hi def link gitconfigEscape             Delimiter
35 hi def link gitconfigError              Error
37 let b:current_syntax = "gitconfig"
39 " vim:set ft=vim sts=4 sw=4: