diff options
author | Bram Moolenaar <Bram@vim.org> | 2004-07-02 15:38:35 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2004-07-02 15:38:35 +0000 |
commit | cfbc5ee48e1b582f418f2d92ccbc4c4e84c803e1 (patch) | |
tree | 7586fe6160998a4c76a48dab221e38efe55257ef /runtime/syntax/vim.vim | |
parent | 843ee41eb8258ac50ed81976757d8b228382a880 (diff) | |
download | vim-git-cfbc5ee48e1b582f418f2d92ccbc4c4e84c803e1.tar.gz |
updated for version 7.0004
Diffstat (limited to 'runtime/syntax/vim.vim')
-rw-r--r-- | runtime/syntax/vim.vim | 208 |
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 |