Mercurial > vim
view runtime/syntax/gitconfig.vim @ 4799:e3f9e33fb28c v7.3.1146
updated for version 7.3.1146
Problem: New regexp engine: look-behind match not checked when followed by
zero-width match.
Solution: Do the look-behind match before adding the zero-width state.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 08 Jun 2013 13:33:37 +0200 |
parents | f7579a31705c |
children | 03b854983b14 |
line wrap: on
line source
" Vim syntax file " Language: git config file " Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Filenames: gitconfig, .gitconfig, *.git/config " Last Change: 2010 May 21 if exists("b:current_syntax") finish endif setlocal iskeyword+=- setlocal iskeyword-=_ syn case ignore syn sync minlines=10 syn match gitconfigComment "[#;].*" syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]" syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]' syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend syn keyword gitconfigBoolean true false yes no contained syn match gitconfigNumber "\d\+" contained syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError syn match gitconfigError +\\.+ contained syn match gitconfigEscape +\\[\\"ntb]+ contained syn match gitconfigEscape +\\$+ contained hi def link gitconfigComment Comment hi def link gitconfigSection Keyword hi def link gitconfigVariable Identifier hi def link gitconfigBoolean Boolean hi def link gitconfigNumber Number hi def link gitconfigString String hi def link gitconfigDelim Delimiter hi def link gitconfigEscape Delimiter hi def link gitconfigError Error let b:current_syntax = "gitconfig"