~ubuntu-branches/ubuntu/maverick/vim/maverick

« back to all changes in this revision

Viewing changes to runtime/syntax/vim.vim

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek
  • Date: 2009-05-04 11:13:42 UTC
  • mfrom: (1.1.8 upstream) (0.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090504111342-60miqybsixdpc345
Tags: 2:7.2.148-2ubuntu1
* Merge from Debian unstable, remaining changes:
  - debian/runtime/vimrc: "syntax on" is a sane default for non-tiny vim.
  - runtime/syntax/debcontrol.vim:
    + Add "metapackages" to the list of valid sections.
  - runtime/syntax/grub.vim:
    + Add Ubuntu-specific 'quiet' keyword.
  - Drop vim-lesstif package and lesstif2-dev build-dependency.
  - Enable Python interpreter on basic builds.
  - Disable autoindent, line-wrapping, and backup files by default.
* Dropped changes, merged in Debian:
  - Add jaunty, karmic to the list of valid suites.
  - runtime/syntax/debsources.vim:
    + Add "jaunty" to debsourcesDistrKeyword
  - Create a .pot file for translations.
* Drop gutsy from the list of valid distro series, it's been EOLed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
" Vim syntax file
2
2
" Language:     Vim 7.2 script
3
3
" Maintainer:   Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
4
 
" Last Change:  July 29, 2008
5
 
" Version:      7.2-82
 
4
" Last Change:  Feb 18, 2009
 
5
" Version:      7.2-90
6
6
" Automatically generated keyword lists: {{{1
7
7
 
8
8
" Quit when a syntax file was already loaded {{{2
16
16
syn cluster vimCommentGroup     contains=vimTodo,@Spell
17
17
 
18
18
" regular vim commands {{{2
19
 
syn keyword vimCommand contained        abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] endt[ry] exu[sage] fin[d] foldc[lose] fu[nction] ha[rdcopy] helpt[ags] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lla[st] lmapc[lear] lnf[ile] loc[kmarks] lpf[ile] lt[ag] mak[e] menut[ranslate] mkvie[w] mzf[ile] n[ext] nu[mber] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sn[ext] snor[emap] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] verb[ose] vim[grep] vmapc[lear] wh[ile] win[size] wq wv[iminfo] xm[ap] XMLent xnoremenu
20
 
syn keyword vimCommand contained        abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endw[hile] f[ile] fini[sh] folddoc[losed] go[to] h[elp] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] lh[elpgrep] lli[st] lnew[er] lNf[ile] lockv[ar] lp[revious] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] N[ext] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] smapc[lear] sN[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] ve[rsion] vimgrepa[dd] vne[w] winc[md] wn[ext] wqa[ll] X xmapc[lear] XMLns xunme
21
 
syn keyword vimCommand contained        al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] ene[w] files fir[st] foldd[oopen] gr[ep] helpf[ind] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] l[ist] lmak[e] lne[xt] ln[oremap] lol[der] lr[ewind] lvimgrepa[dd] marks mks[ession] mod[e] nbkey nmapc[lear] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] sme sni[ff] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] vert[ical] vi[sual] vs[plit] windo wN[ext] w[rite] xa[ll] xme xn[oremap] xunmenu
22
 
syn keyword vimCommand contained        arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ex filetype fix[del] foldo[pen] grepa[dd] helpg[rep] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] ll lm[ap] lN[ext] lo[adview] lop[en] ls lw[indow] mat[ch] mksp[ell] m[ove] new noh[lsearch] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] smenu sno[magic] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] up[date] vie[w] viu[sage] wa[ll] winp[os] wp[revious] ws[verb] x[it] xmenu xnoreme y[ank]
23
 
syn keyword vimCommand contained        argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f] en[dif] exi[t] fina[lly] fo[ld] for 
 
19
syn keyword vimCommand contained        abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] endt[ry] exu[sage] fin[d] foldc[lose] fu[nction] h[elp] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] lh[elpgrep] lli[st] lnew[er] lNf[ile] lockv[ar] lp[revious] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] N[ext] ol[dfiles] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sn[ext] snor[emap] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] verb[ose] vim[grep] vmapc[lear] wh[ile] win[size] wq wv[iminfo] xm[ap] XMLent xnoremenu
 
20
syn keyword vimCommand contained        abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endw[hile] f[ile] fini[sh] folddoc[losed] go[to] helpf[ind] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] l[ist] lmak[e] lne[xt] ln[oremap] lol[der] lr[ewind] lvimgrepa[dd] marks mks[ession] mod[e] nbkey nmapc[lear] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] smapc[lear] sN[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] ve[rsion] vimgrepa[dd] vne[w] winc[md] wn[ext] wqa[ll] X xmapc[lear] XMLns xunme
 
21
syn keyword vimCommand contained        al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] ene[w] files fir[st] foldd[oopen] gr[ep] helpg[rep] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] ll lm[ap] lN[ext] lo[adview] lop[en] ls lw[indow] mat[ch] mksp[ell] m[ove] new noh[lsearch] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] sme sni[ff] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] vert[ical] vi[sual] vs[plit] windo wN[ext] w[rite] xa[ll] xme xn[oremap] xunmenu
 
22
syn keyword vimCommand contained        arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ex filetype fix[del] foldo[pen] grepa[dd] helpt[ags] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lla[st] lmapc[lear] lnf[ile] loc[kmarks] lpf[ile] lt[ag] mak[e] menut[ranslate] mkvie[w] mzf[ile] n[ext] nu[mber] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] smenu sno[magic] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] up[date] vie[w] viu[sage] wa[ll] winp[os] wp[revious] ws[verb] x[it] xmenu xnoreme y[ank]
 
23
syn keyword vimCommand contained        argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f] en[dif] exi[t] fina[lly] fo[ld] for ha[rdcopy] 
24
24
syn match   vimCommand contained        "\<z[-+^.=]"
25
25
 
26
26
" vimOptions are caught only when contained in a vimSet {{{2
141
141
 
142
142
" Operators: {{{2
143
143
" =========
144
 
syn cluster vimOperGroup        contains=vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
 
144
syn cluster vimOperGroup        contains=vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
145
145
syn match  vimOper      "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}"       skipwhite nextgroup=vimString,vimSpecFile
146
146
syn match  vimOper      "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
147
147
syn region vimOperParen         oneline matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
148
 
syn region vimOperParen oneline matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
 
148
syn region vimOperParen oneline matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
149
149
if !exists("g:vimsyn_noerror")
150
150
 syn match  vimOperError        ")"
151
151
endif
153
153
" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
154
154
" =========
155
155
syn cluster vimFuncList contains=vimCommand,vimFuncKey,Tag,vimFuncSID
156
 
syn cluster vimFuncBodyList     contains=vimAddress,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimFunc,vimFunction,vimFunctionError,vimFuncVar,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
 
156
syn cluster vimFuncBodyList     contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimFunc,vimFunction,vimFunctionError,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
157
157
if !exists("g:vimsyn_noerror")
158
158
 syn match   vimFunctionError   "\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*("                       contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
159
159
endif
163
163
else                                                                                                          
164
164
 syn region  vimFuncBody  contained     start="\ze("    matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)"             contains=@vimFuncBodyList
165
165
endif
166
 
syn match   vimFuncVar   contained      "a:\(\I\i*\|\d\+\)"
 
166
syn match   vimFuncVar   contained      "a:\(\K\k*\|\d\+\)"
167
167
syn match   vimFuncSID   contained      "\c<sid>\|\<s:"
168
168
syn keyword vimFuncKey   contained      fu[nction]
169
169
syn match   vimFuncBlank contained      "\s\+"
265
265
syn match  vimMarkNumber        "[-+]\d\+"              nextgroup=vimSubst contained contains=vimOper
266
266
syn match  vimPlainMark contained       "'[a-zA-Z0-9]"
267
267
 
268
 
syn match  vimRegister  '[^,;]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
 
268
syn match  vimRegister  '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":]'
269
269
syn match  vimRegister  '\<norm\s\+\zs"[a-zA-Z0-9]'
270
270
syn match  vimRegister  '\<normal\s\+\zs"[a-zA-Z0-9]'
271
271
syn match  vimRegister  '@"'
283
283
 
284
284
" Set command and associated set-options (vimOptions) with comment {{{2
285
285
syn region vimSet               matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|set\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
286
 
syn region vimSetEqual  contained       start="="       skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
 
286
syn region vimSetEqual  contained       start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
287
287
syn region vimSetString contained       start=+="+hs=s+1        skip=+\\\\\|\\"+  end=+"+       contains=vimCtrlChar
288
288
syn match  vimSetSep    contained       "[,:]"
289
 
syn match  vimSetMod    contained       "&vim\|[!&]\|all&"
 
289
syn match  vimSetMod    contained       "&vim\=\|[!&?<]\|all&"
290
290
 
291
291
" Let {{{2
292
292
" ===
293
 
syn keyword vimLet      let     unl[et] skipwhite nextgroup=vimVar
 
293
syn keyword vimLet      let     unl[et] skipwhite nextgroup=vimVar,vimFuncVar
294
294
 
295
295
" Abbreviations {{{2
296
296
" =============
305
305
 
306
306
" Echo and Execute -- prefer strings! {{{2
307
307
" ================
308
 
syn region  vimEcho     oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimString,varVar
309
 
syn region  vimExecute  oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimIsCommand,vimString,vimOper,vimVar,vimNotation,vimOperParen
 
308
syn region  vimEcho     oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimFuncVar,vimString,vimVar
 
309
syn region  vimExecute  oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimFuncVar,vimIsCommand,vimOper,vimNotation,vimOperParen,vimString,vimVar
310
310
syn match   vimEchoHL   "echohl\="      skipwhite nextgroup=vimGroup,vimHLGroup,vimEchoHLNone
311
311
syn case ignore
312
312
syn keyword vimEchoHLNone       none
355
355
" ==========================
356
356
syn match vimFunc               "\%(\%([gGsS]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*("             contains=vimFuncName,vimUserFunc,vimExecute
357
357
syn match vimUserFunc contained "\%(\%([gGsS]:\|<[sS][iI][dD]>\)\=\%([a-zA-Z0-9_.]\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>"       contains=vimNotation
358
 
syn match vimNotFunc    "\<if\>\|\<el\%[seif]\>"
 
358
syn match vimNotFunc    "\<if\>\|\<el\%[seif]\>\|\<while\>"
359
359
 
360
360
" Errors And Warnings: {{{2
361
361
" ====================
541
541
endif
542
542
 
543
543
" [-- perl --] {{{3
544
 
if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(expand("<sfile>:p:h")."/perl.vim")
 
544
let s:perlpath= expand("<sfile>:p:h")."/perl.vim"
 
545
if !filereadable(s:perlpath)
 
546
 let s:perlpath= globpath(&rtp,"syntax/perl.vim")
 
547
endif
 
548
if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
545
549
 unlet! b:current_syntax
546
 
 syn include @vimPerlScript <sfile>:p:h/perl.vim
 
550
 exe "syn include @vimPerlScript ".s:perlpath
547
551
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
548
552
  syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
549
553
  syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
551
555
  syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
552
556
  syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
553
557
 endif
 
558
 syn cluster vimFuncBodyList    add=vimPerlRegion
554
559
else
555
560
 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
556
561
 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
557
562
endif
 
563
unlet s:perlpath
558
564
 
559
565
" [-- ruby --] {{{3
560
 
if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(expand("<sfile>:p:h")."/ruby.vim")
 
566
let s:rubypath= expand("<sfile>:p:h")."/ruby.vim"
 
567
if !filereadable(s:rubypath)
 
568
 let s:rubypath= globpath(&rtp,"syntax/ruby.vim")
 
569
endif
 
570
if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
561
571
 unlet! b:current_syntax
562
 
 syn include @vimRubyScript <sfile>:p:h/ruby.vim
 
572
 exe "syn include @vimRubyScript ".s:rubypath
563
573
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
564
574
  syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
565
575
 else
566
576
  syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript
567
577
 endif
568
578
 syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
 
579
 syn cluster vimFuncBodyList    add=vimRubyRegion
569
580
else
570
581
 syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
571
582
 syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
572
583
endif
 
584
unlet s:rubypath
573
585
 
574
586
" [-- python --] {{{3
575
 
if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(expand("<sfile>:p:h")."/python.vim")
 
587
let s:pythonpath= expand("<sfile>:p:h")."/python.vim"
 
588
if !filereadable(s:pythonpath)
 
589
 let s:pythonpath= globpath(&rtp,"syntax/python.vim")
 
590
endif
 
591
if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(s:pythonpath)
576
592
 unlet! b:current_syntax
577
 
 syn include @vimPythonScript <sfile>:p:h/python.vim
 
593
 exe "syn include @vimPythonScript ".s:pythonpath
578
594
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
579
595
  syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
580
596
  syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
582
598
  syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
583
599
  syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
584
600
 endif
 
601
 syn cluster vimFuncBodyList    add=vimPythonRegion
585
602
else
586
603
 syn region vimEmbedError start=+py\%[thon]\s*<<\s*\z(.*\)$+ end=+^\z1$+
587
604
 syn region vimEmbedError start=+py\%[thon]\s*<<\s*$+ end=+\.$+
588
605
endif
 
606
unlet s:pythonpath
589
607
 
590
608
" [-- tcl --] {{{3
591
609
if has("win32") || has("win95") || has("win64") || has("win16")
592
610
 " apparently has("tcl") has been hanging vim on some windows systems with cygwin
593
 
 let trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
 
611
 let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
594
612
else
595
 
 let trytcl= 1
 
613
 let s:trytcl= 1
596
614
endif
597
 
if trytcl
598
 
 if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(expand("<sfile>:p:h")."/tcl.vim")
 
615
if s:trytcl
 
616
 let s:tclpath= expand("<sfile>:p:h")."/tcl.vim"
 
617
 if !filereadable(s:tclpath)
 
618
  let s:tclpath= globpath(&rtp,"syntax/tcl.vim")
 
619
 endif
 
620
 if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(s:tclpath)
599
621
  unlet! b:current_syntax
600
 
  syn include @vimTclScript <sfile>:p:h/tcl.vim
 
622
  exe "syn include @vimTclScript ".s:tclpath
601
623
  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
602
624
   syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
603
625
   syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
605
627
   syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
606
628
   syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
607
629
  endif
 
630
  syn cluster vimFuncBodyList   add=vimTclScript
 
631
 else
 
632
  syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
 
633
  syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
608
634
 endif
 
635
 unlet s:tclpath
609
636
else
610
637
 syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
611
638
 syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
612
639
endif
613
 
unlet trytcl
 
640
unlet s:trytcl
614
641
 
615
642
" [-- mzscheme --] {{{3
616
 
if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(expand("<sfile>:p:h")."/scheme.vim")
 
643
let s:mzschemepath= expand("<sfile>:p:h")."/scheme.vim"
 
644
if !filereadable(s:mzschemepath)
 
645
 let s:mzschemepath= globpath(&rtp,"syntax/scheme.vim")
 
646
endif
 
647
if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(s:mzschemepath)
617
648
 unlet! b:current_syntax
618
649
 let iskKeep= &isk
619
 
 syn include @vimMzSchemeScript <sfile>:p:h/scheme.vim
 
650
 exe "syn include @vimMzSchemeScript ".s:mzschemepath
620
651
 let &isk= iskKeep
621
652
 if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'm'
622
653
  syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
625
656
  syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
626
657
  syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
627
658
 endif
 
659
 syn cluster vimFuncBodyList    add=vimMzSchemeRegion
628
660
else
629
661
 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
630
662
 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
631
663
endif
 
664
unlet s:mzschemepath
632
665
 
633
666
" Synchronize (speed) {{{2
634
667
"============
643
676
syn sync linecont       "^\s\+\\"
644
677
syn sync match vimAugroupSyncA  groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
645
678
 
 
679
" ====================
646
680
" Highlighting Settings {{{2
647
681
" ====================
648
682