Mercurial > vim
comparison runtime/syntax/vim.vim @ 34870:3f9703c1bbea
runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Commit: https://github.com/vim/vim/commit/04e5363b823827f144409df011376d00ea6df750
Author: dkearns <dougkearns@gmail.com>
Date: Thu Apr 11 06:18:37 2024 +1000
runtime(vim): Improve Vim9 and legacy-script comment highlighting (https://github.com/vim/vim/issues/13104)
This is a first-pass attempt to limit matching of Vim9 and legacy-script
comments to the appropriate syntactic contexts.
Vim9-script comments are highlighted at top level in a Vim9-script file,
in all :def functions, and in all :autocmd and :commmand command blocks.
Legacy-script comments are highlighted at top level in a legacy script
file, in all :func functions and in the Vim9-script preamble before the
:vim9script marker command.
Fixes #13047, #11307 and #9587.
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 10 Apr 2024 22:30:04 +0200 |
parents | b8b18dafd432 |
children | 4f97b92f4451 |
comparison
equal
deleted
inserted
replaced
34869:cd2cbfd9d646 | 34870:3f9703c1bbea |
---|---|
1 " Vim syntax file | 1 " Vim syntax file |
2 " Language: Vim script | 2 " Language: Vim script |
3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> | 3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> |
4 " Doug Kearns <dougkearns@gmail.com> | 4 " Doug Kearns <dougkearns@gmail.com> |
5 " URL: https://github.com/vim-jp/syntax-vim-ex | 5 " URL: https://github.com/vim-jp/syntax-vim-ex |
6 " Last Change: 2024 Apr 09 | 6 " Last Change: 2024 Apr 11 |
7 " Former Maintainer: Charles E. Campbell | 7 " Former Maintainer: Charles E. Campbell |
8 | 8 |
9 " DO NOT CHANGE DIRECTLY. | 9 " DO NOT CHANGE DIRECTLY. |
10 " THIS FILE PARTLY GENERATED BY gen_syntax_vim.vim. | 10 " THIS FILE PARTLY GENERATED BY gen_syntax_vim.vim. |
11 " (Search string "GEN_SYN_VIM:" in this file) | 11 " (Search string "GEN_SYN_VIM:" in this file) |
16 if exists("b:current_syntax") | 16 if exists("b:current_syntax") |
17 finish | 17 finish |
18 endif | 18 endif |
19 let s:keepcpo= &cpo | 19 let s:keepcpo= &cpo |
20 set cpo&vim | 20 set cpo&vim |
21 | |
22 let s:vim9script = "\n" .. getline(1, 32)->join("\n") =~# '\n\s*vim9\%[script]\>' | |
21 | 23 |
22 " vimTodo: contains common special-notices for comments {{{2 | 24 " vimTodo: contains common special-notices for comments {{{2 |
23 " Use the vimCommentGroup cluster to add your own. | 25 " Use the vimCommentGroup cluster to add your own. |
24 syn keyword vimTodo contained COMBAK FIXME TODO XXX | 26 syn keyword vimTodo contained COMBAK FIXME TODO XXX |
25 syn cluster vimCommentGroup contains=vimTodo,@Spell | 27 syn cluster vimCommentGroup contains=vimTodo,@Spell |
29 syn keyword vimCommand contained abo[veleft] abs[tract] al[l] ar[gs] arga[dd] argd[elete] argdo argded[upe] arge[dit] argg[lobal] argl[ocal] argu[ment] as[cii] b[uffer] bN[ext] ba[ll] bad[d] balt bd[elete] bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bo[tright] bp[revious] br[ewind] brea[k] breaka[dd] breakd[el] breakl[ist] bro[wse] buffers bufd[o] bun[load] bw[ipeout] c[hange] cN[ext] cNf[ile] cabo[ve] cad[dbuffer] cadde[xpr] caddf[ile] caf[ter] cal[l] cat[ch] cb[uffer] cbe[fore] cbel[ow] cbo[ttom] cc ccl[ose] cd cdo ce[nter] cex[pr] cf[ile] cfd[o] cfir[st] cg[etfile] cgetb[uffer] cgete[xpr] chd[ir] changes che[ckpath] checkt[ime] chi[story] cl[ist] cla[st] class clo[se] cle[arjumps] cn[ext] cnew[er] cnf[ile] co[py] col[der] colo[rscheme] com[mand] comc[lear] | 31 syn keyword vimCommand contained abo[veleft] abs[tract] al[l] ar[gs] arga[dd] argd[elete] argdo argded[upe] arge[dit] argg[lobal] argl[ocal] argu[ment] as[cii] b[uffer] bN[ext] ba[ll] bad[d] balt bd[elete] bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bo[tright] bp[revious] br[ewind] brea[k] breaka[dd] breakd[el] breakl[ist] bro[wse] buffers bufd[o] bun[load] bw[ipeout] c[hange] cN[ext] cNf[ile] cabo[ve] cad[dbuffer] cadde[xpr] caddf[ile] caf[ter] cal[l] cat[ch] cb[uffer] cbe[fore] cbel[ow] cbo[ttom] cc ccl[ose] cd cdo ce[nter] cex[pr] cf[ile] cfd[o] cfir[st] cg[etfile] cgetb[uffer] cgete[xpr] chd[ir] changes che[ckpath] checkt[ime] chi[story] cl[ist] cla[st] class clo[se] cle[arjumps] cn[ext] cnew[er] cnf[ile] co[py] col[der] colo[rscheme] com[mand] comc[lear] |
30 syn keyword vimCommand contained comp[iler] con[tinue] conf[irm] cons[t] cope[n] cp[revious] cpf[ile] cq[uit] cr[ewind] cs[cope] cst[ag] cw[indow] d[elete] delm[arks] deb[ug] debugg[reedy] defc[ompile] defe[r] delc[ommand] delf[unction] di[splay] dif[fupdate] diffg[et] diffo[ff] diffp[atch] diffpu[t] diffs[plit] difft[his] dig[raphs] disa[ssemble] dj[ump] dli[st] dr[op] ds[earch] dsp[lit] e[dit] ea[rlier] el[se] elsei[f] em[enu] en[dif] endin[terface] endc[lass] ende[num] endfo[r] endt[ry] endw[hile] ene[w] enu[m] ev[al] ex exi[t] exp[ort] exu[sage] f[ile] files filet[ype] filt[er] fin[d] fina[l] finall[y] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] foldd[oopen] folddoc[losed] foldo[pen] for g[lobal] go[to] gr[ep] grepa[dd] gu[i] gv[im] h[elp] helpc[lose] helpf[ind] | 32 syn keyword vimCommand contained comp[iler] con[tinue] conf[irm] cons[t] cope[n] cp[revious] cpf[ile] cq[uit] cr[ewind] cs[cope] cst[ag] cw[indow] d[elete] delm[arks] deb[ug] debugg[reedy] defc[ompile] defe[r] delc[ommand] delf[unction] di[splay] dif[fupdate] diffg[et] diffo[ff] diffp[atch] diffpu[t] diffs[plit] difft[his] dig[raphs] disa[ssemble] dj[ump] dli[st] dr[op] ds[earch] dsp[lit] e[dit] ea[rlier] el[se] elsei[f] em[enu] en[dif] endin[terface] endc[lass] ende[num] endfo[r] endt[ry] endw[hile] ene[w] enu[m] ev[al] ex exi[t] exp[ort] exu[sage] f[ile] files filet[ype] filt[er] fin[d] fina[l] finall[y] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] foldd[oopen] folddoc[losed] foldo[pen] for g[lobal] go[to] gr[ep] grepa[dd] gu[i] gv[im] h[elp] helpc[lose] helpf[ind] |
31 syn keyword vimCommand contained helpg[rep] helpt[ags] ha[rdcopy] hi[ghlight] hid[e] his[tory] ho[rizontal] if ij[ump] il[ist] imp[ort] int[ro] inte[rface] is[earch] isp[lit] j[oin] ju[mps] k kee[pmarks] keepj[umps] keepp[atterns] keepa[lt] l[ist] lN[ext] lNf[ile] la[st] lab[ove] lan[guage] lad[dexpr] laddb[uffer] laddf[ile] laf[ter] lat[er] lb[uffer] lbe[fore] lbel[ow] lbo[ttom] lc[d] lch[dir] lcl[ose] lcs[cope] ld[o] le[ft] lefta[bove] let lex[pr] leg[acy] lf[ile] lfd[o] lfir[st] lg[etfile] lgetb[uffer] lgete[xpr] lgr[ep] lgrepa[dd] lh[elpgrep] lhi[story] ll lla[st] lli[st] lmak[e] lne[xt] lnew[er] lnf[ile] lo[adview] loadk[eymap] loc[kmarks] lockv[ar] lol[der] lop[en] lp[revious] lpf[ile] lr[ewind] lt[ag] lua luad[o] luaf[ile] lv[imgrep] lvimgrepa[dd] lw[indow] | 33 syn keyword vimCommand contained helpg[rep] helpt[ags] ha[rdcopy] hi[ghlight] hid[e] his[tory] ho[rizontal] if ij[ump] il[ist] imp[ort] int[ro] inte[rface] is[earch] isp[lit] j[oin] ju[mps] k kee[pmarks] keepj[umps] keepp[atterns] keepa[lt] l[ist] lN[ext] lNf[ile] la[st] lab[ove] lan[guage] lad[dexpr] laddb[uffer] laddf[ile] laf[ter] lat[er] lb[uffer] lbe[fore] lbel[ow] lbo[ttom] lc[d] lch[dir] lcl[ose] lcs[cope] ld[o] le[ft] lefta[bove] let lex[pr] leg[acy] lf[ile] lfd[o] lfir[st] lg[etfile] lgetb[uffer] lgete[xpr] lgr[ep] lgrepa[dd] lh[elpgrep] lhi[story] ll lla[st] lli[st] lmak[e] lne[xt] lnew[er] lnf[ile] lo[adview] loadk[eymap] loc[kmarks] lockv[ar] lol[der] lop[en] lp[revious] lpf[ile] lr[ewind] lt[ag] lua luad[o] luaf[ile] lv[imgrep] lvimgrepa[dd] lw[indow] |
32 syn keyword vimCommand contained ls m[ove] ma[rk] mak[e] marks mat[ch] menut[ranslate] mes[sages] mk[exrc] mks[ession] mksp[ell] mkv[imrc] mkvie[w] mod[e] mz[scheme] mzf[ile] n[ext] nb[key] nbc[lose] nbs[tart] noa[utocmd] noh[lsearch] nos[wapfile] nu[mber] o[pen] ol[dfiles] on[ly] opt[ions] ow[nsyntax] p[rint] pa[ckadd] packl[oadall] pc[lose] pe[rl] perld[o] ped[it] po[p] pp[op] pre[serve] prev[ious] pro[mptfind] promptr[epl] prof[ile] profd[el] ps[earch] pt[ag] ptN[ext] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pub[lic] pw[d] py[thon] pyd[o] pyf[ile] py3 py3d[o] python3 py3f[ile] pyx pyxd[o] pythonx pyxf[ile] q[uit] quita[ll] qa[ll] r[ead] rec[over] red[o] redi[r] redr[aw] redraws[tatus] redrawt[abline] reg[isters] res[ize] | 34 syn keyword vimCommand contained ls m[ove] ma[rk] mak[e] marks mat[ch] menut[ranslate] mes[sages] mk[exrc] mks[ession] mksp[ell] mkv[imrc] mkvie[w] mod[e] mz[scheme] mzf[ile] n[ext] nb[key] nbc[lose] nbs[tart] noa[utocmd] noh[lsearch] nos[wapfile] nu[mber] o[pen] ol[dfiles] on[ly] opt[ions] ow[nsyntax] p[rint] pa[ckadd] packl[oadall] pc[lose] pe[rl] perld[o] ped[it] po[p] pp[op] pre[serve] prev[ious] pro[mptfind] promptr[epl] prof[ile] profd[el] ps[earch] pt[ag] ptN[ext] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pub[lic] pw[d] py[thon] pyd[o] pyf[ile] py3 py3d[o] python3 py3f[ile] pyx pyxd[o] pythonx pyxf[ile] q[uit] quita[ll] qa[ll] r[ead] rec[over] red[o] redi[r] redr[aw] redraws[tatus] redrawt[abline] reg[isters] res[ize] |
33 syn keyword vimCommand contained ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] ru[ntime] rub[y] rubyd[o] rubyf[ile] rund[o] rv[iminfo] sN[ext] sa[rgument] sal[l] san[dbox] sav[eas] sb[uffer] sbN[ext] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbp[revious] sbr[ewind] sc[riptnames] scripte[ncoding] scriptv[ersion] scs[cope] setf[iletype] sf[ind] sfir[st] sh[ell] si[malt] sig[n] sil[ent] sl[eep] sla[st] sn[ext] so[urce] sor[t] sp[lit] spe[llgood] spelld[ump] spelli[nfo] spellr[epall] spellra[re] spellu[ndo] spellw[rong] spr[evious] sr[ewind] st[op] sta[g] star[tinsert] startg[replace] startr[eplace] stat[ic] stopi[nsert] stj[ump] sts[elect] sun[hide] sus[pend] sv[iew] sw[apname] synti[me] sync[bind] smi[le] t tN[ext] ta[g] tags tab tabc[lose] tabd[o] tabe[dit] | 35 syn keyword vimCommand contained ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] ru[ntime] rub[y] rubyd[o] rubyf[ile] rund[o] rv[iminfo] sN[ext] sa[rgument] sal[l] san[dbox] sav[eas] sb[uffer] sbN[ext] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbp[revious] sbr[ewind] sc[riptnames] scripte[ncoding] scriptv[ersion] scs[cope] setf[iletype] sf[ind] sfir[st] sh[ell] si[malt] sig[n] sil[ent] sl[eep] sla[st] sn[ext] so[urce] sor[t] sp[lit] spe[llgood] spelld[ump] spelli[nfo] spellr[epall] spellra[re] spellu[ndo] spellw[rong] spr[evious] sr[ewind] st[op] sta[g] star[tinsert] startg[replace] startr[eplace] stat[ic] stopi[nsert] stj[ump] sts[elect] sun[hide] sus[pend] sv[iew] sw[apname] synti[me] sync[bind] smi[le] t tN[ext] ta[g] tags tab tabc[lose] tabd[o] tabe[dit] |
34 syn keyword vimCommand contained tabf[ind] tabfir[st] tabm[ove] tabl[ast] tabn[ext] tabnew tabo[nly] tabp[revious] tabN[ext] tabr[ewind] tabs tc[d] tch[dir] tcl tcld[o] tclf[ile] te[aroff] ter[minal] tf[irst] th[row] thi[s] tj[ump] tl[ast] tn[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] ty[pe] u[ndo] undoj[oin] undol[ist] unh[ide] unl[et] unlo[ckvar] uns[ilent] up[date] v[global] ve[rsion] verb[ose] vert[ical] vi[sual] vie[w] vim[grep] vimgrepa[dd] vim9[cmd] vim9s[cript] viu[sage] vne[w] vs[plit] w[rite] wN[ext] wa[ll] wh[ile] wi[nsize] winc[md] wind[o] winp[os] wn[ext] wp[revious] wq wqa[ll] wu[ndo] wv[iminfo] x[it] xa[ll] xr[estore] y[ank] z dl dell delel deletl deletel dp dep delp delep deletp deletep a i | 36 syn keyword vimCommand contained tabf[ind] tabfir[st] tabm[ove] tabl[ast] tabn[ext] tabnew tabo[nly] tabp[revious] tabN[ext] tabr[ewind] tabs tc[d] tch[dir] tcl tcld[o] tclf[ile] te[aroff] ter[minal] tf[irst] th[row] thi[s] tj[ump] tl[ast] tn[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] ty[pe] u[ndo] undoj[oin] undol[ist] unh[ide] unl[et] unlo[ckvar] uns[ilent] up[date] v[global] ve[rsion] verb[ose] vert[ical] vi[sual] vie[w] vim[grep] vimgrepa[dd] vim9[cmd] viu[sage] vne[w] vs[plit] w[rite] wN[ext] wa[ll] wh[ile] wi[nsize] winc[md] wind[o] winp[os] wn[ext] wp[revious] wq wqa[ll] wu[ndo] wv[iminfo] x[it] xa[ll] xr[estore] y[ank] z dl dell delel deletl deletel dp dep delp delep deletp deletep a i |
35 | 37 |
36 syn keyword vimCommand contained 2mat[ch] 3mat[ch] | 38 syn keyword vimCommand contained 2mat[ch] 3mat[ch] |
37 | 39 |
38 " Lower priority for _new_ to distinguish constructors from the command. | 40 " Lower priority for _new_ to distinguish constructors from the command. |
39 syn match vimCommand contained "\<new\>(\@!" | 41 syn match vimCommand contained "\<new\>(\@!" |
191 endif | 193 endif |
192 | 194 |
193 " Numbers {{{2 | 195 " Numbers {{{2 |
194 " ======= | 196 " ======= |
195 syn case ignore | 197 syn case ignore |
196 syn match vimNumber '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 198 syn match vimNumber '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
197 syn match vimNumber '\<0b[01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 199 syn match vimNumber '\<0b[01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
198 syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 200 syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
199 syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 201 syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
200 syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 202 syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
201 syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 203 syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
202 syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 204 syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment |
203 syn case match | 205 syn case match |
204 | 206 |
205 " All vimCommands are contained by vimIsCommand. {{{2 | 207 " All vimCommands are contained by vimIsCommand. {{{2 |
206 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimNotFunc,vimNorm,vimSet,vimSyntax,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate | 208 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimNotFunc,vimNorm,vimSet,vimSyntax,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate |
207 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1 | 209 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1 |
243 syn keyword vimFTCmd contained filet[ype] | 245 syn keyword vimFTCmd contained filet[ype] |
244 syn keyword vimFTOption contained detect indent off on plugin | 246 syn keyword vimFTOption contained detect indent off on plugin |
245 | 247 |
246 " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2 | 248 " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2 |
247 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking. | 249 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking. |
248 syn cluster vimAugroupList contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vim9Comment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimFuncVar,vimContinue | 250 syn cluster vimAugroupList contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimFuncVar,vimContinue |
249 syn match vimAugroup "\<aug\%[roup]\>" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup | 251 syn match vimAugroup "\<aug\%[roup]\>" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup |
250 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a' | 252 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a' |
251 syn region vimAugroup fold start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd | 253 syn region vimAugroup fold start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd |
252 else | 254 else |
253 syn region vimAugroup start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd | 255 syn region vimAugroup start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd |
334 syn region vimCompoundType contained matchgroup=vimType start="\<\%(list\|dict\)<" end=">" contains=@vimType oneline transparent | 336 syn region vimCompoundType contained matchgroup=vimType start="\<\%(list\|dict\)<" end=">" contains=@vimType oneline transparent |
335 syn match vimUserType contained "\<\u\w*\>" | 337 syn match vimUserType contained "\<\u\w*\>" |
336 | 338 |
337 syn cluster vimType contains=vimType,vimCompoundType,vimUserType | 339 syn cluster vimType contains=vimType,vimCompoundType,vimUserType |
338 | 340 |
339 " Keymaps: (Vim Project Addition) {{{2 | 341 " Keymaps: {{{2 |
340 " ======= | 342 " ======= |
341 | 343 |
342 " TODO: handle Vim9 script comments when something like #13104 is merged | 344 syn match vimKeymapStart "^" contained skipwhite nextgroup=vimKeymapLhs,@vimKeymapLineComment |
343 syn match vimKeymapStart "^" contained skipwhite nextgroup=vimKeymapLhs,vimKeymapLineComment | |
344 syn match vimKeymapLhs "\S\+" contained skipwhite nextgroup=vimKeymapRhs contains=vimNotation | 345 syn match vimKeymapLhs "\S\+" contained skipwhite nextgroup=vimKeymapRhs contains=vimNotation |
345 syn match vimKeymapRhs "\S\+" contained skipwhite nextgroup=vimKeymapTailComment contains=vimNotation | 346 syn match vimKeymapRhs "\S\+" contained skipwhite nextgroup=vimKeymapTailComment contains=vimNotation |
346 syn match vimKeymapTailComment "\S.*" contained | 347 syn match vimKeymapTailComment "\S.*" contained |
347 syn match vimKeymapLineComment +".*+ contained contains=@vimCommentGroup,vimCommentString,vimCommentTitle | 348 |
349 " TODO: remove when :" comment is matched in parts as "ex-colon comment" --djk | |
350 if s:vim9script | |
351 syn match vim9KeymapLineComment "#.*" contained contains=@vimCommentGroup,vimCommentString,vim9CommentTitle | |
352 else | |
353 syn match vimKeymapLineComment +".*+ contained contains=@vimCommentGroup,vimCommentString,vimCommentTitle | |
354 endif | |
355 syn cluster vimKeymapLineComment contains=vim9\=KeymapLineComment | |
348 | 356 |
349 syn region vimKeymap matchgroup=vimCommand start="\<loadk\%[eymap]\>" end="\%$" contains=vimKeymapStart | 357 syn region vimKeymap matchgroup=vimCommand start="\<loadk\%[eymap]\>" end="\%$" contains=vimKeymapStart |
350 | 358 |
351 " Special Filenames, Modifiers, Extension Removal: {{{2 | 359 " Special Filenames, Modifiers, Extension Removal: {{{2 |
352 " =============================================== | 360 " =============================================== |
358 syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst1 | 366 syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst1 |
359 syn match vimSpecFileMod "\(:[phtre]\)\+" contained | 367 syn match vimSpecFileMod "\(:[phtre]\)\+" contained |
360 | 368 |
361 " User-Specified Commands: {{{2 | 369 " User-Specified Commands: {{{2 |
362 " ======================= | 370 " ======================= |
363 syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,vimComment,vim9Comment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange | 371 syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange |
364 syn keyword vimUserCommand contained com[mand] | 372 syn keyword vimUserCommand contained com[mand] |
365 syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList,vimComFilter | 373 syn match vimUserCmdName contained "\<\u\w*\>" nextgroup=vimUserCmdBlock skipwhite |
374 syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList,vimComFilter,vimCmdBlock,vimUserCmdName | |
366 syn match vimUserAttrbError contained "-\a\+\ze\s" | 375 syn match vimUserAttrbError contained "-\a\+\ze\s" |
367 syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper | 376 syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper |
368 syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError | 377 syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError |
369 syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey | 378 syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey |
370 syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey | 379 syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey |
383 syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError | 392 syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError |
384 | 393 |
385 syn case match | 394 syn case match |
386 syn match vimUserAttrbCmplt contained "custom,\u\w*" | 395 syn match vimUserAttrbCmplt contained "custom,\u\w*" |
387 | 396 |
397 syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="}" contains=@vimDefBodyList | |
398 | |
388 " Lower Priority Comments: after some vim commands... {{{2 | 399 " Lower Priority Comments: after some vim commands... {{{2 |
389 " ======================= | 400 " ======================= |
390 syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString | 401 syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"' |
391 syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString | 402 |
392 syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString | 403 if s:vim9script |
393 syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"' | 404 syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained |
394 " Vim9 comments - TODO: might be highlighted while they don't work | 405 syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString contained |
395 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString | 406 syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString contained |
396 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString | 407 " Vim9 comments - TODO: might be highlighted while they don't work |
397 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString | 408 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString |
398 " Vim9 comment inside expression | 409 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString |
399 syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString | 410 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString |
400 syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString | 411 " Vim9 comment inside expression |
401 syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString | 412 " syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString |
413 " syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString | |
414 " syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString | |
415 | |
416 syn cluster vimComment contains=vim9Comment | |
417 else | |
418 syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString | |
419 syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString | |
420 syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString | |
421 " Vim9 comments - TODO: might be highlighted while they don't work | |
422 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained | |
423 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString contained | |
424 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString contained | |
425 " Vim9 comment inside expression | |
426 syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString contained | |
427 syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString contained | |
428 syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString contained | |
429 | |
430 syn cluster vimComment contains=vimComment | |
431 endif | |
402 | 432 |
403 " Environment Variables: {{{2 | 433 " Environment Variables: {{{2 |
404 " ===================== | 434 " ===================== |
405 syn match vimEnvvar "\$\I\i*" | 435 syn match vimEnvvar "\$\I\i*" |
406 syn match vimEnvvar "\${\I\i*}" | 436 syn match vimEnvvar "\${\I\i*}" |
486 " =============== | 516 " =============== |
487 syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1 | 517 syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1 |
488 syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)' | 518 syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)' |
489 | 519 |
490 " Set command and associated set-options (vimOptions) with comment {{{2 | 520 " Set command and associated set-options (vimOptions) with comment {{{2 |
491 syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\.\n\@!" end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vim9Comment,vimSetString,vimSetMod | 521 syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\.\n\@!" end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,@vimComment,vimSetString,vimSetMod |
492 syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]"me=e-1 end="$" contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar | 522 syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]"me=e-1 end="$" contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar |
493 syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar | 523 syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar |
494 syn match vimSetSep contained "[,:]" | 524 syn match vimSetSep contained "[,:]" |
495 syn match vimSetMod contained "&vim\=\|[!&?<]\|all&" | 525 syn match vimSetMod contained "&vim\=\|[!&?<]\|all&" |
496 | 526 |
520 | 550 |
521 " Autocmd: {{{2 | 551 " Autocmd: {{{2 |
522 " ======= | 552 " ======= |
523 syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace | 553 syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace |
524 syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList | 554 syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList |
525 syn match vimAutoCmdSfxList contained "\S*" skipwhite nextgroup=vimAutoCmdMod | 555 syn match vimAutoCmdSfxList contained "\S*" skipwhite nextgroup=vimAutoCmdMod,vimAutoCmdBlock |
526 syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList | 556 syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList |
527 syn match vimAutoCmdMod "\(++\)\=\(once\|nested\)" | 557 syn match vimAutoCmdMod "\(++\)\=\(once\|nested\)" skipwhite nextgroup=vimAutoCmdBlock |
558 syn region vimAutoCmdBlock contained matchgroup=vimSep start="{" end="}" contains=@vimDefBodyList | |
528 | 559 |
529 " Echo And Execute: -- prefer strings! {{{2 | 560 " Echo And Execute: -- prefer strings! {{{2 |
530 " ================ | 561 " ================ |
531 " NOTE: No trailing comments | 562 " NOTE: No trailing comments |
532 | 563 |
666 " no whitespace allowed after '=' | 697 " no whitespace allowed after '=' |
667 syn match vimSynCchar contained "\<cchar=" nextgroup=vimSynCcharValue | 698 syn match vimSynCchar contained "\<cchar=" nextgroup=vimSynCcharValue |
668 syn match vimSynCcharValue contained "\S" | 699 syn match vimSynCcharValue contained "\S" |
669 endif | 700 endif |
670 | 701 |
671 syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment | 702 syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,@vimComment |
672 syn cluster vimFuncBodyList add=vimSyntax | 703 syn cluster vimFuncBodyList add=vimSyntax |
673 | 704 |
674 " Syntax: case {{{2 | 705 " Syntax: case {{{2 |
675 syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError | 706 syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError |
676 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror") | 707 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror") |
755 " ==================== | 786 " ==================== |
756 syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation | 787 syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation |
757 | 788 |
758 " Highlighting: {{{2 | 789 " Highlighting: {{{2 |
759 " ============ | 790 " ============ |
760 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment,vim9Comment | 791 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,@vimComment |
761 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror") | 792 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror") |
762 syn match vimHiCtermError contained "\D\i*" | 793 syn match vimHiCtermError contained "\D\i*" |
763 endif | 794 endif |
764 syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster | 795 syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster |
765 syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster | 796 syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster |
811 " ================== | 842 " ================== |
812 syn match vimCtrlChar "[--]" | 843 syn match vimCtrlChar "[--]" |
813 | 844 |
814 " Beginners - Patterns that involve ^ {{{2 | 845 " Beginners - Patterns that involve ^ {{{2 |
815 " ========= | 846 " ========= |
816 syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle,vimComment | 847 if s:vim9script |
817 syn match vimLineComment +^[ \t:]*"\("[^"]*"\|[^"]\)*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle | 848 syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained |
818 syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle | 849 syn match vim9LineComment +^[ \t:]*#.*$+ contains=@vimCommentGroup,vimCommentString,vim9CommentTitle |
850 else | |
851 syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle | |
852 syn match vim9LineComment +^[ \t:]*#.*$+ contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained | |
853 endif | |
819 syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup | 854 syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup |
820 " Note: Look-behind to work around nextgroup skipnl consuming leading whitespace and preventing a match | 855 syn match vim9CommentTitle '#\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup |
821 syn match vimContinue "^\s*\zs\\" | 856 syn match vimContinue "^\s*\zs\\" |
822 syn match vimContinueComment '^\s*\zs["#]\\ .*' contained | 857 syn match vimContinueComment '^\s*\zs["#]\\ .*' contained |
823 syn cluster vimContinue contains=vimContinue,vimContinueComment | 858 syn cluster vimContinue contains=vimContinue,vimContinueComment |
824 syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue | 859 syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue |
825 syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained | 860 syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained |
861 syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained | |
826 | 862 |
827 " Searches And Globals: {{{2 | 863 " Searches And Globals: {{{2 |
828 " ==================== | 864 " ==================== |
829 syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim | 865 syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim |
830 syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained | 866 syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained |
831 syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1 | 867 syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1 |
832 syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1 | 868 syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1 |
869 | |
870 " Vim9 Script Regions: {{{2 | |
871 " ================== | |
872 | |
873 if s:vim9script | |
874 syn cluster vimLegacyTop contains=TOP,vimPreVim9script,vim9Comment,vim9LineComment | |
875 syn region vimPreVim9script start="\%^" end="^\ze\s*vim9s\%[cript]\>" contains=@vimLegacyTop,vimComment,vimLineComment | |
876 | |
877 syn keyword vim9ScriptArg noclear | |
878 syn keyword vimCommand vim9s[cript] nextgroup=vim9ScriptArg skipwhite | |
879 endif | |
833 | 880 |
834 " Embedded Scripts: {{{2 | 881 " Embedded Scripts: {{{2 |
835 " ================ | 882 " ================ |
836 " perl,ruby : Benoit Cerrina | 883 " perl,ruby : Benoit Cerrina |
837 " python,tcl : Johannes Zellner | 884 " python,tcl : Johannes Zellner |
1036 hi def link vimSynCaseError vimError | 1083 hi def link vimSynCaseError vimError |
1037 hi def link vimSynFoldMethodError vimError | 1084 hi def link vimSynFoldMethodError vimError |
1038 hi def link vimBufnrWarn vimWarn | 1085 hi def link vimBufnrWarn vimWarn |
1039 endif | 1086 endif |
1040 | 1087 |
1088 hi def link vim9ScriptArg Special | |
1041 hi def link vimAbb vimCommand | 1089 hi def link vimAbb vimCommand |
1042 hi def link vimAddress vimMark | 1090 hi def link vimAddress vimMark |
1043 hi def link vimAugroupBang vimBang | 1091 hi def link vimAugroupBang vimBang |
1044 hi def link vimAugroupError vimError | 1092 hi def link vimAugroupError vimError |
1045 hi def link vimAugroupKey vimCommand | 1093 hi def link vimAugroupKey vimCommand |
1055 hi def link vimCommand Statement | 1103 hi def link vimCommand Statement |
1056 hi def link vimComment Comment | 1104 hi def link vimComment Comment |
1057 hi def link vim9Comment Comment | 1105 hi def link vim9Comment Comment |
1058 hi def link vimCommentString vimString | 1106 hi def link vimCommentString vimString |
1059 hi def link vimCommentTitle PreProc | 1107 hi def link vimCommentTitle PreProc |
1108 hi def link vim9CommentTitle PreProc | |
1060 hi def link vimCondHL vimCommand | 1109 hi def link vimCondHL vimCommand |
1061 hi def link vimConst vimCommand | 1110 hi def link vimConst vimCommand |
1062 hi def link vimContinue Special | 1111 hi def link vimContinue Special |
1063 hi def link vimContinueComment vimComment | 1112 hi def link vimContinueComment vimComment |
1064 hi def link vimCtrlChar SpecialChar | 1113 hi def link vimCtrlChar SpecialChar |
1112 hi def link vimHiStartStop vimHiTerm | 1161 hi def link vimHiStartStop vimHiTerm |
1113 hi def link vimHiTerm Type | 1162 hi def link vimHiTerm Type |
1114 hi def link vimHLGroup vimGroup | 1163 hi def link vimHLGroup vimGroup |
1115 hi def link vimInsert vimString | 1164 hi def link vimInsert vimString |
1116 hi def link vimIskSep Delimiter | 1165 hi def link vimIskSep Delimiter |
1166 hi def link vim9KeymapLineComment vimKeymapLineComment | |
1117 hi def link vimKeymapLineComment vimComment | 1167 hi def link vimKeymapLineComment vimComment |
1118 hi def link vimKeymapTailComment vimComment | 1168 hi def link vimKeymapTailComment vimComment |
1119 hi def link vimLet vimCommand | 1169 hi def link vimLet vimCommand |
1120 hi def link vimLetHereDoc vimString | 1170 hi def link vimLetHereDoc vimString |
1121 hi def link vimLetHereDocStart Special | 1171 hi def link vimLetHereDocStart Special |
1234 delc VimFoldp | 1284 delc VimFoldp |
1235 delc VimFoldP | 1285 delc VimFoldP |
1236 delc VimFoldr | 1286 delc VimFoldr |
1237 delc VimFoldt | 1287 delc VimFoldt |
1238 let &cpo = s:keepcpo | 1288 let &cpo = s:keepcpo |
1239 unlet s:keepcpo | 1289 unlet s:keepcpo s:vim9script |
1240 " vim:ts=18 fdm=marker ft=vim | 1290 " vim:ts=18 fdm=marker ft=vim |