summaryrefslogtreecommitdiff
path: root/runtime/syntax/vim.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/vim.vim')
-rw-r--r--runtime/syntax/vim.vim208
1 files changed, 118 insertions, 90 deletions
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index bfad112a1..157eb56ac 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 6.3 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: May 25, 2004
-" Version: 6.3-04
+" Last Change: Jul 01, 2004
+" Version: 6.3-05
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -57,53 +57,60 @@ syn case match
syn keyword vimFuncName contained append argc argidx argv browse bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line char2nr cindent col confirm cscope_connection cursor delete did_filetype escape eventhandler executable exists expand filereadable filewritable fnamemodify foldclosed foldclosedend foldlevel foldtext foreground function getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfsize getftime getline getreg getregtype getwinposx getwinposy getwinvar glob globpath has hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent input inputdialog inputrestore inputsave inputsecret isdirectory libcall libcallnr line line2byte lispindent localtime maparg mapcheck match matchend matchstr mode nextnonblank nr2char prevnonblank remote_expr remote_foreground remote_peek remote_read remote_send rename resolve search searchpair server2client serverlist setbufvar setcmdpos setline setreg setwinvar simplify strftime stridx strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tempname tolower toupper type virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth
"--- syntax above generated by mkvimvim ---
+" Special Vim Highlighting (not automatic) {{{1
-" Special Vim Highlighting {{{1
-
-" Numbers {{{1
+" Numbers {{{2
" =======
syn match vimNumber "\<\d\+\([lL]\|\.\d\+\)\="
syn match vimNumber "-\d\+\([lL]\|\.\d\+\)\="
syn match vimNumber "\<0[xX]\x\+"
syn match vimNumber "#\x\{6}"
-" All vimCommands are contained by vimIsCommands. {{{1
+" All vimCommands are contained by vimIsCommands. {{{2
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
syn match vimIsCommand "\<\a\+\>" contains=vimCommand
syn match vimVar "\<[bwglsav]:\K\k*\>"
syn match vimVar contained "\<\K\k*\>"
-" Insertions And Appends: insert append {{{1
+" Insertions And Appends: insert append {{{2
" =======================
syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=a\%[ppend]$" matchgroup=vimCommand end="^\.$""
syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=c\%[hange]$" matchgroup=vimCommand end="^\.$""
syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i\%[nsert]$" matchgroup=vimCommand end="^\.$""
-" Behave! {{{1
+" Behave! {{{2
" =======
syn match vimBehave "\<be\%[have]\>" skipwhite nextgroup=vimBehaveModel,vimBehaveError
syn keyword vimBehaveModel contained mswin xterm
-syn match vimBehaveError contained "[^ ]\+"
+if !exists("g:vimsyntax_noerror")
+ syn match vimBehaveError contained "[^ ]\+"
+endif
-" Filetypes {{{1
+" Filetypes {{{2
" =========
syn match vimFiletype "\<filet\%[ype]\(\s\+\I\i*\)*\(|\|$\)" skipwhite contains=vimFTCmd,vimFTOption,vimFTError
-syn match vimFTError contained "\I\i*"
+if !exists("g:vimsyntax_noerror")
+ syn match vimFTError contained "\I\i*"
+endif
syn keyword vimFTCmd contained filet[ype]
syn keyword vimFTOption contained detect indent off on plugin
-" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{1
+" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
syn cluster vimAugroupList contains=vimIsCommand,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
syn region vimAugroup start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
-syn match vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
+if !exists("g:vimsyntax_noerror")
+ syn match vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
+endif
syn keyword vimAugroupKey contained aug[roup]
-" Functions : Tag is provided for those who wish to highlight tagged functions {{{1
+" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
" =========
syn cluster vimFuncList contains=vimFuncKey,Tag,vimFuncSID
syn cluster vimFuncBodyList contains=vimIsCommand,vimFunction,vimFunctionError,vimFuncBody,vimLineComment,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
-syn match vimFunctionError "\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*(" contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
+if !exists("g:vimsyntax_noerror")
+ syn match vimFunctionError "\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*(" contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
+endif
syn match vimFunction "\<fu\%[nction]!\=\s\+\(<[sS][iI][dD]>\|[Ss]:\|\u\)\i*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
syn region vimFuncBody contained start=")" end="\<endf\%[unction]" contains=@vimFuncBodyList
syn match vimFuncVar contained "a:\(\I\i*\|\d\+\)"
@@ -111,17 +118,20 @@ syn match vimFuncSID contained "\c<sid>\|\<s:"
syn keyword vimFuncKey contained fu[nction]
syn match vimFuncBlank contained "\s\+"
-syn keyword vimPattern contained start skip end
+syn keyword vimPattern contained start skip end
-" Operators: {{{1
+" Operators: {{{2
" =========
-syn cluster vimOperGroup contains=vimOper,vimOperParen,vimNumber,vimString
-syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
-syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
-syn region vimOperParen matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
-syn match vimOperError ")"
+syn cluster vimOperGroup contains=vimOper,vimOperParen,vimNumber,vimString,vimOperOk
+syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
+syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
+syn region vimOperParen oneline matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
+syn match vimOperOk "\<[aiAIrR][()]"
+if !exists("g:vimsyntax_noerror")
+ syn match vimOperError ")"
+endif
-" Special Filenames, Modifiers, Extension Removal: {{{1
+" Special Filenames, Modifiers, Extension Removal: {{{2
" ===============================================
syn match vimSpecFile "<c\(word\|WORD\)>" nextgroup=vimSpecFileMod,vimSubst
syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst
@@ -131,7 +141,7 @@ syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst
syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst
syn match vimSpecFileMod "\(:[phtre]\)\+" contained
-" User-Specified Commands: {{{1
+" User-Specified Commands: {{{2
" =======================
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFunction,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
syn keyword vimUserCommand contained com[mand]
@@ -143,30 +153,34 @@ syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,
syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
-syn match vimUserCmdError contained "\S\+\>"
+if !exists("g:vimsyntax_noerror")
+ syn match vimUserCmdError contained "\S\+\>"
+endif
syn case ignore
syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option tag tag_listfiles var
syn case match
syn match vimUserAttrbCmplt contained "custom,\u\w*"
-" Errors: {{{1
+" Errors: {{{2
" ======
-syn match vimElseIfErr "\<else\s\+if\>"
+if !exists("g:vimsyntax_noerror")
+ syn match vimElseIfErr "\<else\s\+if\>"
+endif
-" Lower Priority Comments: after some vim commands... {{{1
+" Lower Priority Comments: after some vim commands... {{{2
" =======================
syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
syn region vimCommentString contained oneline start='\S\s\+"'ms=s+1 end='"'
-" Environment Variables: {{{1
+" Environment Variables: {{{2
" =====================
syn match vimEnvvar "\$\I\i*"
syn match vimEnvvar "\${\I\i*}"
-" In-String Specials: {{{1
+" In-String Specials: {{{2
" Try to catch strings, if nothing else matches (therefore it must precede the others!)
" vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\^\=\]\=" skip="\\\\\|\\\]" end="\]"me=e-1
@@ -181,12 +195,11 @@ syn region vimString oneline keepend start=+[^:a-zA-Z>!\\]"+lc=1 skip=+\\\\\|\\"
syn region vimString oneline keepend start=+[^:a-zA-Z>!\\]'+lc=1 end=+'+ contains=@vimStringGroup
syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
-syn region vimString oneline start="[^\\]+\s*[^a-zA-Z0-9. \t]"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
-" Substitutions: {{{1
+" Substitutions: {{{2
" =============
syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
@@ -205,10 +218,10 @@ syn match vimSubstTwoBS contained "\\\\"
syn match vimSubstFlagErr contained "[^< \t\r]\+" contains=vimSubstFlags
syn match vimSubstFlags contained "[&cegiIpr]\+"
-" 'String': {{{1
+" 'String': {{{2
syn match vimString "[^(,]'[^']\{-}'"lc=1 contains=@vimStringGroup
-" Marks, Registers, Addresses, Filters: {{{1
+" Marks, Registers, Addresses, Filters: {{{2
syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimOper,vimMarkNumber,vimSubst
syn match vimMark ",\zs'[<>]\ze" nextgroup=vimOper,vimMarkNumber,vimSubst
@@ -220,6 +233,7 @@ syn match vimPlainMark contained "'[a-zA-Z0-9]"
syn match vimRegister '[^(,;.]"[a-zA-Z0-9.%#:_\-/][^a-zA-Z_"]'lc=1,me=e-1
syn match vimRegister '\<norm\s\+"[a-zA-Z0-9]'lc=5
syn match vimRegister '\<normal\s\+"[a-zA-Z0-9]'lc=7
+syn match vimRegister '@"'
syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
syn match vimAddress ",[.$]"lc=1 skipwhite nextgroup=vimSubst1
@@ -228,29 +242,29 @@ syn match vimAddress "%\a"me=e-1 skipwhite nextgroup=vimString,vimSubst1
syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile
syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile
-" Complex repeats (:h complex-repeat) {{{1
+" Complex repeats (:h complex-repeat) {{{2
syn match vimCmplxRepeat '[^a-zA-Z_/\\]q[0-9a-zA-Z"]'lc=1
syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
-" Set command and associated set-options (vimOptions) with comment {{{1
+" Set command and associated set-options (vimOptions) with comment {{{2
syn region vimSet matchgroup=vimCommand start="\<setlocal\|set\>" end="|"me=e-1 end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
syn region vimSetEqual contained start="=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
syn match vimSetSep contained "[,:]"
syn match vimSetMod contained "&vim\|[!&]\|all&"
-" Let {{{1
+" Let {{{2
" ===
syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar
-" Autocmd {{{1
+" Autocmd {{{2
" =======
syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace
syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
syn match vimAutoCmdSfxList contained "\S*"
syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
-" Echo and Execute -- prefer strings! {{{1
+" Echo and Execute -- prefer strings! {{{2
" ================
syn region vimEcho oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimString,varVar
syn region vimExecute oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimIsCommand,vimString,vimOper,vimVar,vimNotation
@@ -259,7 +273,7 @@ syn case ignore
syn keyword vimEchoHLNone none
syn case match
-" Maps {{{1
+" Maps {{{2
" ====
syn cluster vimMapGroup contains=vimMapBang,vimMapLhs,vimMapMod
syn keyword vimMap cm[ap] cno[remap] im[ap] ino[remap] map nm[ap] nn[oremap] no[remap] om[ap] ono[remap] vm[ap] vn[oremap] skipwhite nextgroup=@vimMapGroup
@@ -270,7 +284,7 @@ syn case ignore
syn keyword vimMapModKey contained buffer leader localleader plug script sid silent unique
syn case match
-" Menus {{{1
+" Menus {{{2
" =====
syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
syn keyword vimCommand am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
@@ -282,7 +296,7 @@ syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
-" Angle-Bracket Notation (tnx to Michael Geddes) {{{1
+" Angle-Bracket Notation (tnx to Michael Geddes) {{{2
" ======================
syn case ignore
syn match vimNotation "\(\\\|<lt>\)\=<\([scam]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
@@ -294,18 +308,21 @@ syn match vimNotation "\(\\\|<lt>\)\=<\([cas]file\|abuf\|amatch\|cword\|cWORD\|c
syn match vimBracket contained "[\\<>]"
syn case match
-" User Function Highlighting (following Gautam Iyer's suggestion)
+" User Function Highlighting (following Gautam Iyer's suggestion) {{{2
" ==========================
-syn match vimFunc "\%([sS]:\|<[sS][iI][dD]>\)\=\I\i*\ze\s*(" contains=vimUserFunc,vimFuncName
-syn match vimUserFunc "\%([sS]:\|<[sS][iI][dD]>\)\i\+\|\<\u\i*\>\|\<if\>" contained contains=vimNotation,vimCommand
+syn match vimFunc "\%([sS]:\|<[sS][iI][dD]>\)\=\I\i*\ze\s*(" contains=vimUserFunc,vimFuncName,vimCommand,vimNotFunc
+syn match vimUserFunc contained "\%([sS]:\|<[sS][iI][dD]>\)\i\+\|\<\u\i*\>\|\<if\>" contains=vimNotation,vimCommand
+syn match vimNotFunc contained "\<[aiAIrR]("
-" Syntax {{{1
+" Syntax {{{2
"=======
syn match vimGroupList contained "@\=[^ \t,]*" contains=vimGroupSpecial,vimPatSep
syn match vimGroupList contained "@\=[^ \t,]*," nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
syn keyword vimGroupSpecial contained ALL ALLBUT
-syn match vimSynError contained "\i\+"
-syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
+if !exists("g:vimsyntax_noerror")
+ syn match vimSynError contained "\i\+"
+ syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
+endif
syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupList
syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
@@ -313,30 +330,32 @@ syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
-" Syntax: case {{{1
+" Syntax: case {{{2
syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
-syn match vimSynCaseError contained "\i\+"
+if !exists("g:vimsyntax_noerror")
+ syn match vimSynCaseError contained "\i\+"
+endif
syn keyword vimSynCase contained ignore match
-" Syntax: clear {{{1
+" Syntax: clear {{{2
syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
-" Syntax: cluster {{{1
+" Syntax: cluster {{{2
syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
-" Syntax: include {{{1
+" Syntax: include {{{2
syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
-" Syntax: keyword {{{1
+" Syntax: keyword {{{2
syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
syn region vimSynKeyRegion contained keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
-" Syntax: match {{{1
+" Syntax: match {{{2
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
@@ -346,10 +365,10 @@ if has("conceal")
syn match vimSynMtchCchar contained "."
endif
-" Syntax: off and on {{{1
+" Syntax: off and on {{{2
syn keyword vimSynType contained enable list manual off on reset
-" Syntax: region {{{1
+" Syntax: region {{{2
syn cluster vimSynRegPatGroup contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
syn cluster vimSynRegGroup contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
@@ -366,10 +385,12 @@ syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
syn match vimSynNotPatRange contained "\\\\\|\\\["
syn match vimMtchComment contained '"[^"]\+$'
-" Syntax: sync {{{1
+" Syntax: sync {{{2
" ============
syn keyword vimSynType contained sync skipwhite nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinecont,vimSyncRegion
-syn match vimSyncError contained "\i\+"
+if !exists("g:vimsyntax_noerror")
+ syn match vimSyncError contained "\i\+"
+endif
syn keyword vimSyncC contained ccomment clear fromstart
syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
@@ -380,11 +401,11 @@ syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup
syn match vimSyncGroup contained "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
syn keyword vimSyncNone contained NONE
-" Additional IsCommand, here by reasons of precedence {{{1
+" Additional IsCommand, here by reasons of precedence {{{2
" ====================
syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
-" Highlighting {{{1
+" Highlighting {{{2
" ============
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
@@ -404,12 +425,16 @@ syn case match
syn match vimHiFontname contained "[a-zA-Z\-*]\+"
syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
syn match vimHiGuiRgb contained "#\x\{6}"
-syn match vimHiCtermError contained "[^0-9]\i*"
+if !exists("g:vimsyntax_noerror")
+ syn match vimHiCtermError contained "[^0-9]\i*"
+endif
-" Highlighting: hi group key=arg ... {{{1
+" Highlighting: hi group key=arg ... {{{2
syn cluster vimHiCluster contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
-syn match vimHiKeyError contained "\i\+="he=e-1
+if !exists("g:vimsyntax_noerror")
+ syn match vimHiKeyError contained "\i\+="he=e-1
+endif
syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
@@ -419,17 +444,17 @@ syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
syn match vimHiGuiFgBg contained "\cgui[fb]g="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
syn match vimHiTermcap contained "\S\+" contains=vimNotation
-" Highlight: clear {{{1
+" Highlight: clear {{{2
syn keyword vimHiClear contained clear nextgroup=vimHiGroup
-" Highlight: link {{{1
+" Highlight: link {{{2
syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
-" Control Characters {{{1
+" Control Characters {{{2
" ==================
syn match vimCtrlChar "[- -]"
-" Beginners - Patterns that involve ^ {{{1
+" Beginners - Patterns that involve ^ {{{2
" =========
syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
syn match vimCommentTitle '"\s*\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
@@ -437,7 +462,7 @@ syn match vimContinue "^\s*\\"
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
-" Scripts : perl,ruby : Benoit Cerrina {{{1
+" Scripts : perl,ruby : Benoit Cerrina {{{2
" ======= python,tcl: Johannes Zellner
" allow users to prevent embedded script syntax highlighting
@@ -447,7 +472,7 @@ if !exists("g:vimembedscript")
let g:vimembedscript= 1
endif
-" [-- perl --] {{{2
+" [-- perl --] {{{3
if (has("perl") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/perl.vim")
unlet! b:current_syntax
syn include @vimPerlScript <sfile>:p:h/perl.vim
@@ -455,7 +480,7 @@ if (has("perl") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/per
syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
endif
-" [-- ruby --] {{{2
+" [-- ruby --] {{{3
if (has("ruby") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/ruby.vim")
unlet! b:current_syntax
syn include @vimRubyScript <sfile>:p:h/ruby.vim
@@ -463,7 +488,7 @@ if (has("ruby") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/rub
syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
endif
-" [-- python --] {{{2
+" [-- python --] {{{3
if (has("python") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/python.vim")
unlet! b:current_syntax
syn include @vimPythonScript <sfile>:p:h/python.vim
@@ -471,7 +496,7 @@ if (has("python") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/p
syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
endif
-" [-- tcl --] {{{2
+" [-- tcl --] {{{3
if (has("tcl") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/tcl.vim")
unlet! b:current_syntax
syn include @vimTclScript <sfile>:p:h/tcl.vim
@@ -479,7 +504,7 @@ if (has("tcl") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/tcl.
syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
endif
-" Synchronize (speed) {{{1
+" Synchronize (speed) {{{2
"============
if exists("g:vim_minlines")
exe "syn sync minlines=".g:vim_minlines
@@ -492,39 +517,47 @@ endif
syn sync linecont "^\s\+\\"
syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
-" Highlighting Settings {{{1
+" Highlighting Settings {{{2
" ====================
hi def link vimAuHighlight vimHighlight
hi def link vimSubst1 vimSubst
hi def link vimBehaveModel vimBehave
-hi def link vimAddress vimMark
+if !exists("g:vimsyntax_noerror")
" hi def link vimAugroupError vimError
+ hi def link vimBehaveError vimError
+ hi def link vimCollClassErr vimError
+ hi def link vimErrSetting vimError
+ hi def link vimFTError vimError
+ hi def link vimFunctionError vimError
+ hi def link VimFunc vimError
+ hi def link vimHiAttribList vimError
+ hi def link vimHiCtermError vimError
+ hi def link vimHiKeyError vimError
+ hi def link vimKeyCodeError vimError
+ hi def link vimMapModErr vimError
+ hi def link vimSubstFlagErr vimError
+ hi def link vimSynCaseError vimError
+endif
+
+hi def link vimAddress vimMark
hi def link vimAugroupKey vimCommand
hi def link vimAutoCmdOpt vimOption
hi def link vimAutoCmd vimCommand
hi def link vimAutoSet vimCommand
-hi def link vimBehaveError vimError
hi def link vimBehave vimCommand
-hi def link vimCollClassErr vimError
hi def link vimCommentString vimString
hi def link vimCondHL vimCommand
hi def link vimEchoHLNone vimGroup
hi def link vimEchoHL vimCommand
hi def link vimElseif vimCondHL
-hi def link vimErrSetting vimError
hi def link vimFgBgAttrib vimHiAttrib
hi def link vimFTCmd vimCommand
-hi def link vimFTError vimError
hi def link vimFTOption vimSynType
-hi def link VimFunc vimError
hi def link vimFuncKey vimCommand
-hi def link vimFunctionError vimError
hi def link vimGroupAdd vimSynOption
hi def link vimGroupRem vimSynOption
-hi def link vimHiAttribList vimError
-hi def link vimHiCtermError vimError
hi def link vimHiCtermFgBg vimHiTerm
hi def link vimHiCTerm vimHiTerm
hi def link vimHighlight vimCommand
@@ -533,16 +566,13 @@ hi def link vimHiGuiFgBg vimHiTerm
hi def link vimHiGuiFont vimHiTerm
hi def link vimHiGuiRgb vimNumber
hi def link vimHiGui vimHiTerm
-hi def link vimHiKeyError vimError
hi def link vimHiStartStop vimHiTerm
hi def link vimHLGroup vimGroup
hi def link vimInsert vimString
-hi def link vimKeyCodeError vimError
hi def link vimKeyCode vimSpecFile
hi def link vimLet vimCommand
hi def link vimLineComment vimComment
hi def link vimMapBang vimCommand
-hi def link vimMapModErr vimError
hi def link vimMapModKey vimFuncSID
hi def link vimMapMod vimBracket
hi def link vimMap vimCommand
@@ -560,10 +590,8 @@ hi def link vimSetMod vimOption
hi def link vimSetString vimString
hi def link vimSpecFileMod vimSpecFile
hi def link vimStringCont vimString
-hi def link vimSubstFlagErr vimError
hi def link vimSubstTwoBS vimString
hi def link vimSubst vimCommand
-hi def link vimSynCaseError vimError
hi def link vimSyncGroupName vimGroupName
hi def link vimSyncGroup vimGroupName
hi def link vimSynContains vimSynOption
@@ -637,6 +665,6 @@ hi def link vimSyncNone Type
hi def link vimTodo Todo
hi def link vimUserCmdError Error
-" Current Syntax Variable: {{{1
+" Current Syntax Variable: {{{2
let b:current_syntax = "vim"
" vim:ts=18 fdm=marker