Initial bulk commit for "Git on MSys"
[msysgit/historical-msysgit.git] / share / vim / vim58 / syntax / vim.vim
blob8ba15c103a466d061a22399de1bddb43f53e9567
1 " Vim syntax file
2 " Language:     Vim 5.7 script
3 " Maintainer:   Dr. Charles E. Campbell, Jr. <Charles.E.Campbell.1@gsfc.nasa.gov>
4 " Last Change:  June 27, 2000
5 " Version:      5.7-01
7 " Remove old syntax
8 syn clear
10 " vimTodo: contains common special-notices for comments
11 "          Use the vimCommentGroup cluster to add your own.
12 syn keyword vimTodo contained   COMBAK  NOT     RELEASED        TODO
13 syn cluster vimCommentGroup     contains=vimTodo
15 " regular vim commands
16 syn keyword vimCommand contained        N[ext]  comc[lear]      inoremenu       perld[o]        star[tinsert]
17 syn keyword vimCommand contained        P[rint] con[tinue]      is[earch]       po[p]   stj[ump]
18 syn keyword vimCommand contained        X       conf[irm]       isp[lit]        pp[op]  sts[elect]
19 syn keyword vimCommand contained        a[ppend]        cp[revious]     iu[nmap]        pre[serve]      sun[hide]
20 syn keyword vimCommand contained        ab[breviate]    cq[uit] iuna[bbrev]     prev[ious]      sus[pend]
21 syn keyword vimCommand contained        abc[lear]       cr[ewind]       iunme   promptf[ind]    sv[iew]
22 syn keyword vimCommand contained        al[l]   cu[nmap]        iunmenu promptr[epl]    syncbind
23 syn keyword vimCommand contained        am      cuna[bbrev]     j[oin]  ptN[ext]        syntax
24 syn keyword vimCommand contained        amenu   cunme   ju[mps] pta[g]  t
25 syn keyword vimCommand contained        an      cunmenu k       ptj[ump]        tN[ext]
26 syn keyword vimCommand contained        anoremenu       d[elete]        l[ist]  ptl[ast]        ta[g]
27 syn keyword vimCommand contained        ar[gs]  delc[ommand]    la[st]  ptn[ext]        tags
28 syn keyword vimCommand contained        argu[ment]      delf[unction]   le[ft]  ptp[revious]    tc[l]
29 syn keyword vimCommand contained        as[cii] di[splay]       ls      ptr[ewind]      tcld[o]
30 syn keyword vimCommand contained        au[tocmd]       dig[raphs]      m[ove]  pts[elect]      tclf[ile]
31 syn keyword vimCommand contained        aug[roup]       display ma[rk]  pu[t]   te[aroff]
32 syn keyword vimCommand contained        aun     dj[ump] mak[e]  pw[d]   tj[ump]
33 syn keyword vimCommand contained        aunmenu dl[ist] map     py[thon]        tl[ast]
34 syn keyword vimCommand contained        autocmd do[autocmd]     mapc[lear]      pyf[ile]        tm[enu]
35 syn keyword vimCommand contained        bN[ext] doautoa[ll]     marks   q[uit]  tn[ext]
36 syn keyword vimCommand contained        b[uffer]        ds[earch]       me      qa[ll]  tp[revious]
37 syn keyword vimCommand contained        ba[ll]  dsp[lit]        menu    r[ead]  tr[ewind]
38 syn keyword vimCommand contained        bad[d]  e[dit]  mk[exrc]        rec[over]       ts[elect]
39 syn keyword vimCommand contained        bd[elete]       ec[ho]  mks[ession]     red[o]  tu[nmenu]
40 syn keyword vimCommand contained        be[have]        echoh[l]        mkv[imrc]       redi[r] u[ndo]
41 syn keyword vimCommand contained        bl[ast] echon   mod[e]  reg[isters]     una[bbreviate]
42 syn keyword vimCommand contained        bm[odified]     el[se]  n[ext]  res[ize]        unh[ide]
43 syn keyword vimCommand contained        bn[ext] elsei[f]        new     ret[ab] unl[et]
44 syn keyword vimCommand contained        bp[revious]     eme     nm[ap]  retu[rn]        unm[ap]
45 syn keyword vimCommand contained        br[ewind]       emenu   nmapc[lear]     rew[ind]        unme
46 syn keyword vimCommand contained        brea[k] en[dif] nme     ri[ght] unmenu
47 syn keyword vimCommand contained        bro[wse]        endf[unction]   nmenu   rv[iminfo]      v[global]
48 syn keyword vimCommand contained        buffers endw[hile]      nn[oremap]      sN[ext] ve[rsion]
49 syn keyword vimCommand contained        bun[load]       ex      nnoreme s[ubstitute]    vi[sual]
50 syn keyword vimCommand contained        cN[ext] exe[cute]       nnoremenu       sa[rgument]     vie[w]
51 syn keyword vimCommand contained        c[hange]        exi[t]  no[remap]       sal[l]  vm[ap]
52 syn keyword vimCommand contained        ca[bbrev]       f[ile]  noh[lsearch]    sbN[ext]        vmapc[lear]
53 syn keyword vimCommand contained        cabc[lear]      files   norea[bbrev]    sb[uffer]       vme
54 syn keyword vimCommand contained        cal[l]  fin[d]  noreme  sba[ll] vmenu
55 syn keyword vimCommand contained        cc      fix[del]        noremenu        sbl[ast]        vn[oremap]
56 syn keyword vimCommand contained        cd      fu[nction]      norm[al]        sbm[odified]    vnoreme
57 syn keyword vimCommand contained        ce[nter]        g[lobal]        nu[mber]        sbn[ext]        vnoremenu
58 syn keyword vimCommand contained        cf[ile] go[to]  nun[map]        sbp[revious]    vu[nmap]
59 syn keyword vimCommand contained        chd[ir] gr[ep]  nunme   sbr[ewind]      vunme
60 syn keyword vimCommand contained        che[ckpath]     h[elp]  nunmenu se[t]   vunmenu
61 syn keyword vimCommand contained        cl[ist] helpf[ind]      o[pen]  sf[ind] wN[ext]
62 syn keyword vimCommand contained        cla[st] hid[e]  om[ap]  sh[ell] w[rite]
63 syn keyword vimCommand contained        clo[se] his[tory]       omapc[lear]     si[malt]        wa[ll]
64 syn keyword vimCommand contained        cm[ap]  i[nsert]        ome     sl[eep] wh[ile]
65 syn keyword vimCommand contained        cmapc[lear]     ia[bbrev]       omenu   sla[st] win[size]
66 syn keyword vimCommand contained        cme     iabc[lear]      on[ly]  sm[agic]        winp[os]
67 syn keyword vimCommand contained        cmenu   if      ono[remap]      sn[ext] winsize
68 syn keyword vimCommand contained        cn[ext] ij[ump] onoreme sni[ff] wn[ext]
69 syn keyword vimCommand contained        cnew[er]        il[ist] onoremenu       sno[magic]      wp[revous]
70 syn keyword vimCommand contained        cnf[ile]        im[ap]  opt[ions]       so[urce]        wq
71 syn keyword vimCommand contained        cno[remap]      imapc[lear]     ou[nmap]        sp[lit] wqa[ll]
72 syn keyword vimCommand contained        cnorea[bbrev]   ime     ounme   spr[evious]     wv[iminfo]
73 syn keyword vimCommand contained        cnoreme imenu   ounmenu sr[ewind]       x[it]
74 syn keyword vimCommand contained        cnoremenu       ino[remap]      p[rint] st[op]  xa[ll]
75 syn keyword vimCommand contained        co[py]  inorea[bbrev]   pc[lose]        sta[g]  y[ank]
76 syn keyword vimCommand contained        col[der]        inoreme pe[rl]
77 syn match   vimCommand contained        "z[-+^.=]"
79 " All vimCommands are contained by vimIsCommands.
80 syn match vimCmdSep     "[:|]\+"        skipwhite nextgroup=vimAddress,vimAutoCmd,vimMark,vimFilter,vimUserCmd,vimSet,vimLet,vimCommand,vimSyntax
81 syn match vimIsCommand  "\<\a\+\>"      contains=vimCommand
83 " vimOptions are caught only when contained in a vimSet
84 syn keyword vimOption contained :       ep      keywordprg      sc      tagstack
85 syn keyword vimOption contained ai      equalalways     km      scb     tb
86 syn keyword vimOption contained akm     equalprg        kp      scr     tbi
87 syn keyword vimOption contained al      errorbells      langmap scroll  tbs
88 syn keyword vimOption contained aleph   errorfile       laststatus      scrollbind      term
89 syn keyword vimOption contained allowrevins     errorformat     lazyredraw      scrolljump      terse
90 syn keyword vimOption contained altkeymap       esckeys lbr     scrolloff       textauto
91 syn keyword vimOption contained ari     et      lcs     scrollopt       textmode
92 syn keyword vimOption contained autoindent      eventignore     linebreak       scs     textwidth
93 syn keyword vimOption contained autowrite       ex      lines   sect    tf
94 syn keyword vimOption contained aw      expandtab       lisp    sections        tgst
95 syn keyword vimOption contained background      exrc    list    secure  tildeop
96 syn keyword vimOption contained backspace       fe      listchars       sel     timeout
97 syn keyword vimOption contained backup  ff      lmap    selection       timeoutlen
98 syn keyword vimOption contained backupdir       ffs     ls      selectmode      title
99 syn keyword vimOption contained backupext       fileencoding    lz      sessionoptions  titlelen
100 syn keyword vimOption contained bdir    fileformat      magic   sft     titleold
101 syn keyword vimOption contained bex     fileformats     makeef  sh      titlestring
102 syn keyword vimOption contained bg      filetype        makeprg shcf    tl
103 syn keyword vimOption contained bin     fk      mat     shell   tm
104 syn keyword vimOption contained binary  fkmap   matchpairs      shellcmdflag    to
105 syn keyword vimOption contained biosk   fo      matchtime       shellpipe       toolbar
106 syn keyword vimOption contained bioskey formatoptions   maxfuncdepth    shellquote      top
107 syn keyword vimOption contained bk      formatprg       maxmapdepth     shellredir      tr
108 syn keyword vimOption contained breakat fp      maxmem  shellslash      ts
109 syn keyword vimOption contained brk     ft      maxmemtot       shelltype       tsl
110 syn keyword vimOption contained browsedir       gcr     mef     shellxquote     ttimeout
111 syn keyword vimOption contained bs      gd      mfd     shiftround      ttimeoutlen
112 syn keyword vimOption contained bsdir   gdefault        mh      shiftwidth      ttm
113 syn keyword vimOption contained cb      gfm     ml      shm     ttybuiltin
114 syn keyword vimOption contained cf      gfn     mls     shortmess       ttyfast
115 syn keyword vimOption contained ch      gfs     mm      shortname       ttym
116 syn keyword vimOption contained cin     ghr     mmd     showbreak       ttymouse
117 syn keyword vimOption contained cindent go      mmt     showcmd ttyscroll
118 syn keyword vimOption contained cink    gp      mod     showfulltag     ttytype
119 syn keyword vimOption contained cinkeys grepformat      modeline        showmatch       tw
120 syn keyword vimOption contained cino    grepprg modelines       showmode        tx
121 syn keyword vimOption contained cinoptions      guicursor       modified        shq     uc
122 syn keyword vimOption contained cinw    guifont more    si      ul
123 syn keyword vimOption contained cinwords        guifontset      mouse   sidescroll      undolevels
124 syn keyword vimOption contained clipboard       guiheadroom     mousef  sj      updatecount
125 syn keyword vimOption contained cmdheight       guioptions      mousefocus      slm     updatetime
126 syn keyword vimOption contained co      guipty  mousehide       sm      ut
127 syn keyword vimOption contained columns helpfile        mousem  smartcase       vb
128 syn keyword vimOption contained com     helpheight      mousemodel      smartindent     vbs
129 syn keyword vimOption contained comments        hf      mouset  smarttab        verbose
130 syn keyword vimOption contained compatible      hh      mousetime       smd     vi
131 syn keyword vimOption contained complete        hi      mp      sn      viminfo
132 syn keyword vimOption contained confirm hid     mps     so      visualbell
133 syn keyword vimOption contained consk   hidden  nf      softtabstop     wa
134 syn keyword vimOption contained conskey highlight       nrformats       sol     wak
135 syn keyword vimOption contained cp      history nu      sp      warn
136 syn keyword vimOption contained cpo     hk      number  splitbelow      wb
137 syn keyword vimOption contained cpoptions       hkmap   oft     sr      wc
138 syn keyword vimOption contained cpt     hkmapp  osfiletype      srr     wcm
139 syn keyword vimOption contained cscopeprg       hkp     pa      ss      wd
140 syn keyword vimOption contained cscopetag       hl      para    ssl     weirdinvert
141 syn keyword vimOption contained cscopetagorder  hls     paragraphs      ssop    wh
142 syn keyword vimOption contained cscopeverbose   hlsearch        paste   st      whichwrap
143 syn keyword vimOption contained csprg   ic      pastetoggle     sta     wig
144 syn keyword vimOption contained cst     icon    patchmode       startofline     wildchar
145 syn keyword vimOption contained csto    iconstring      path    statusline      wildcharm
146 syn keyword vimOption contained csverb  ignorecase      pm      stl     wildignore
147 syn keyword vimOption contained def     im      previewheight   sts     wildmenu
148 syn keyword vimOption contained define  inc     pt      su      wildmode
149 syn keyword vimOption contained dg      include pvh     suffixes        wim
150 syn keyword vimOption contained dict    incsearch       readonly        sw      winaltkeys
151 syn keyword vimOption contained dictionary      inf     remap   swapfile        winheight
152 syn keyword vimOption contained digraph infercase       report  swapsync        winminheight
153 syn keyword vimOption contained dir     insertmode      restorescreen   swb     wiv
154 syn keyword vimOption contained directory       is      revins  swf     wm
155 syn keyword vimOption contained display isf     ri      switchbuf       wmh
156 syn keyword vimOption contained dy      isfname rightleft       sws     wmnu
157 syn keyword vimOption contained ea      isi     rl      sxq     wrap
158 syn keyword vimOption contained eb      isident ro      syn     wrapmargin
159 syn keyword vimOption contained ed      isk     rs      syntax  wrapscan
160 syn keyword vimOption contained edcompatible    iskeyword       ru      ta      write
161 syn keyword vimOption contained ef      isp     ruf     tabstop writeany
162 syn keyword vimOption contained efm     isprint ruler   tag     writebackup
163 syn keyword vimOption contained ei      joinspaces      rulerformat     tagbsearch      writedelay
164 syn keyword vimOption contained ek      js      sb      taglength       ws
165 syn keyword vimOption contained endofline       key     sbo     tagrelative     ww
166 syn keyword vimOption contained eol     keymodel        sbr     tags
168 " These are the turn-off setting variants
169 syn keyword vimOption contained noai    noendofline     nojs    nosc    notbi
170 syn keyword vimOption contained noakm   noeol   nolazyredraw    noscb   notbs
171 syn keyword vimOption contained noallowrevins   noequalalways   nolbr   noscrollbind    noterse
172 syn keyword vimOption contained noaltkeymap     noerrorbells    nolinebreak     noscs   notextauto
173 syn keyword vimOption contained noari   noesckeys       nolisp  nosecure        notextmode
174 syn keyword vimOption contained noautoindent    noet    nolist  nosft   notf
175 syn keyword vimOption contained noautowrite     noex    nolz    noshellslash    notgst
176 syn keyword vimOption contained noaw    noexpandtab     nomagic noshiftround    notildeop
177 syn keyword vimOption contained nobackup        noexrc  nomh    noshortname     notimeout
178 syn keyword vimOption contained nobin   nofk    noml    noshowcmd       notitle
179 syn keyword vimOption contained nobinary        nofkmap nomod   noshowfulltag   noto
180 syn keyword vimOption contained nobiosk nogd    nomodeline      noshowmatch     notop
181 syn keyword vimOption contained nobioskey       nogdefault      nomodified      noshowmode      notr
182 syn keyword vimOption contained nobk    noguipty        nomore  nosi    nottimeout
183 syn keyword vimOption contained nocf    nohid   nomousef        nosm    nottybuiltin
184 syn keyword vimOption contained nocin   nohidden        nomousefocus    nosmartcase     nottyfast
185 syn keyword vimOption contained nocindent       nohk    nomousehide     nosmartindent   notx
186 syn keyword vimOption contained nocompatible    nohkmap nonu    nosmarttab      novb
187 syn keyword vimOption contained noconfirm       nohkmapp        nonumber        nosmd   novisualbell
188 syn keyword vimOption contained noconsk nohkp   nopaste nosn    nowa
189 syn keyword vimOption contained noconskey       nohls   noreadonly      nosol   nowarn
190 syn keyword vimOption contained nocp    nohlsearch      noremap nosplitbelow    nowb
191 syn keyword vimOption contained nocscopetag     noic    norestorescreen nosr    noweirdinvert
192 syn keyword vimOption contained nocscopeverbose noicon  norevins        nossl   nowildmenu
193 syn keyword vimOption contained nocst   noignorecase    nori    nosta   nowiv
194 syn keyword vimOption contained nocsverb        noim    norightleft     nostartofline   nowmnu
195 syn keyword vimOption contained nodg    noincsearch     norl    noswapfile      nowrap
196 syn keyword vimOption contained nodigraph       noinf   noro    noswf   nowrapscan
197 syn keyword vimOption contained noea    noinfercase     nors    nota    nowrite
198 syn keyword vimOption contained noeb    noinsertmode    noru    notagbsearch    nowriteany
199 syn keyword vimOption contained noed    nois    noruler notagrelative   nowritebackup
200 syn keyword vimOption contained noedcompatible  nojoinspaces    nosb    notagstack      nows
201 syn keyword vimOption contained noek
203 " termcap codes (which can also be set)
204 syn keyword vimOption contained t_AB    t_IE    t_WP    t_k1    t_kd    t_op
205 syn keyword vimOption contained t_AF    t_IS    t_WS    t_k2    t_ke    t_se
206 syn keyword vimOption contained t_AL    t_K1    t_ZH    t_k3    t_kh    t_so
207 syn keyword vimOption contained t_CS    t_K3    t_ZR    t_k4    t_kl    t_sr
208 syn keyword vimOption contained t_Co    t_K4    t_al    t_k5    t_kr    t_te
209 syn keyword vimOption contained t_DL    t_K5    t_bc    t_k6    t_ks    t_ti
210 syn keyword vimOption contained t_F1    t_K6    t_cd    t_k7    t_ku    t_ts
211 syn keyword vimOption contained t_F2    t_K7    t_ce    t_k8    t_le    t_ue
212 syn keyword vimOption contained t_F3    t_K8    t_cl    t_k9    t_mb    t_us
213 syn keyword vimOption contained t_F4    t_K9    t_cm    t_kD    t_md    t_vb
214 syn keyword vimOption contained t_F5    t_KA    t_cs    t_kI    t_me    t_ve
215 syn keyword vimOption contained t_F6    t_RI    t_da    t_kN    t_mr    t_vi
216 syn keyword vimOption contained t_F7    t_RV    t_db    t_kP    t_ms    t_vs
217 syn keyword vimOption contained t_F8    t_Sb    t_dl    t_kb    t_nd    t_xs
218 syn keyword vimOption contained t_F9    t_Sf    t_fs
219 syn match   vimOption contained "t_#2"
220 syn match   vimOption contained "t_#4"
221 syn match   vimOption contained "t_%1"
222 syn match   vimOption contained "t_%i"
223 syn match   vimOption contained "t_&8"
224 syn match   vimOption contained "t_*7"
225 syn match   vimOption contained "t_@7"
226 syn match   vimOption contained "t_k;"
228 " these settings don't actually cause errors in vim, but were supported by vi and don't do anything in vim
229 syn keyword vimErrSetting contained     hardtabs        w1200   w9600   wi      window
230 syn keyword vimErrSetting contained     ht      w300
232 " AutoBuf Events
233 syn case ignore
234 syn keyword vimAutoEvent contained      BufCreate       BufReadPost     FileChangedShell        FilterReadPre   Syntax
235 syn keyword vimAutoEvent contained      BufDelete       BufReadPre      FileEncoding    FilterWritePost TermChanged
236 syn keyword vimAutoEvent contained      BufEnter        BufUnload       FileReadPost    FilterWritePre  User
237 syn keyword vimAutoEvent contained      BufFilePost     BufWrite        FileReadPre     FocusGained     VimEnter
238 syn keyword vimAutoEvent contained      BufFilePre      BufWritePost    FileType        FocusLost       VimLeave
239 syn keyword vimAutoEvent contained      BufHidden       BufWritePre     FileWritePost   GUIEnter        VimLeavePre
240 syn keyword vimAutoEvent contained      BufLeave        CursorHold      FileWritePre    StdinReadPost   WinEnter
241 syn keyword vimAutoEvent contained      BufNewFile      FileAppendPost  FilterReadPost  StdinReadPre    WinLeave
242 syn keyword vimAutoEvent contained      BufRead FileAppendPre
244 " Highlight commonly used Groupnames
245 syn keyword vimGroup contained  Comment Identifier      Keyword Type    Delimiter
246 syn keyword vimGroup contained  Constant        Function        Exception       StorageClass    SpecialComment
247 syn keyword vimGroup contained  String  Statement       PreProc Structure       Debug
248 syn keyword vimGroup contained  Character       Conditional     Include Typedef Ignore
249 syn keyword vimGroup contained  Number  Repeat  Define  Special Error
250 syn keyword vimGroup contained  Boolean Label   Macro   SpecialChar     Todo
251 syn keyword vimGroup contained  Float   Operator        PreCondit       Tag
253 " Default highlighting groups
254 syn keyword vimHLGroup contained        Cursor  Menu    Normal  SpecialKey      Visual
255 syn keyword vimHLGroup contained        Directory       ModeMsg Question        StatusLine      VisualNOS
256 syn keyword vimHLGroup contained        ErrorMsg        MoreMsg Scrollbar       StatusLineNC    WarningMsg
257 syn keyword vimHLGroup contained        IncSearch       NonText Search  Title   WildMenu
258 syn keyword vimHLGroup contained        LineNr
259 syn case match
261 " Function Names
262 syn keyword vimFuncName contained       append  delete  has     localtime       strtrans
263 syn keyword vimFuncName contained       argc    did_filetype    histadd maparg  substitute
264 syn keyword vimFuncName contained       argv    escape  histdel mapcheck        synID
265 syn keyword vimFuncName contained       browse  exists  histget match   synIDattr
266 syn keyword vimFuncName contained       bufexists       expand  histnr  matchend        synIDtrans
267 syn keyword vimFuncName contained       bufloaded       filereadable    hlID    matchstr        system
268 syn keyword vimFuncName contained       bufname fnamemodify     hlexists        nr2char tempname
269 syn keyword vimFuncName contained       bufnr   getcwd  hostname        rename  virtcol
270 syn keyword vimFuncName contained       bufwinnr        getftime        input   setline visualmode
271 syn keyword vimFuncName contained       byte2line       getline isdirectory     strftime        winbufnr
272 syn keyword vimFuncName contained       char2nr getwinposx      libcall strlen  winheight
273 syn keyword vimFuncName contained       col     getwinposy      line    strpart winnr
274 syn keyword vimFuncName contained       confirm glob    line2byte
275 syn match   vimFunc     "\I\i*\s*("     contains=vimFuncName,vimCommand
277 "--- syntax above generated by mkvimvim ---
279 " Special Vim Highlighting
281 " Behave!
282 " =======
283 syn match   vimBehave   "\<be\(h\(a\(ve\=\)\=\)\=\)\=\>" contains=vimCommand skipwhite nextgroup=vimBehaveModel,vimBehaveError
284 syn keyword vimBehaveModel contained    mswin   xterm
285 syn match   vimBehaveError contained    "[^ ]\+"
287 " Filetypes
288 " =========
289 syn match   vimFiletype "filet\(y\(pe\=\)\=\)\=\s\+\I\i*"       skipwhite contains=vimFTCmd,vimFTOption,vimFTError
290 syn match   vimFTError  contained       "\I\i*"
291 syn keyword vimFTCmd    contained       filet[ype]
292 syn keyword vimFTOption contained       on      off
294 " Functions : Tag is provided for those who wish to highlight tagged functions
295 " =========
296 syn cluster vimFuncList contains=vimCommand,Tag
297 syn cluster vimFuncBodyList     contains=vimIsCommand,vimFunction,vimFunctionError,vimFuncBody,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar
298 syn match   vimFunction "\<fu\(n\(c\(t\(t\(i\(on\=\)\=\)\=\)\=\)\=\)\=\)\=!\=\s\+\u\w*("me=e-1  contains=@vimFuncList nextgroup=vimFuncBody
299 syn match   vimFunctionError    "\<fu\(n\(c\(t\(t\(i\(on\=\)\=\)\=\)\=\)\=\)\=\)\=!\=\s\+\U.\{-}("me=e-1        contains=vimCommand   nextgroup=vimFuncBody
300 syn region  vimFuncBody contained       start=")"       end="\<endf"    contains=@vimFuncBodyList
301 syn match   vimFuncVar  contained       "a:\(\I\i*\|\d\+\)"
303 syn keyword vimPattern  contained       start   skip    end
305 " Special Filenames, Modifiers, Extension Removal
306 syn match vimSpecFile   "<c\(word\|WORD\)>"     nextgroup=vimSpecFileMod,vimSubst
307 syn match vimSpecFile   "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst
308 syn match vimSpecFile   "\s%[ \t:]"ms=s+1,me=e-1        nextgroup=vimSpecFileMod,vimSubst
309 syn match vimSpecFile   "\s%$"ms=s+1            nextgroup=vimSpecFileMod,vimSubst
310 syn match vimSpecFile   "\s%<"ms=s+1,me=e-1     nextgroup=vimSpecFileMod,vimSubst
311 syn match vimSpecFile   "#\d\+\|[#%]<\>"                nextgroup=vimSpecFileMod,vimSubst
312 syn match vimSpecFileMod        "\(:[phtre]\)\+"                contained
314 " Operators
315 syn match vimOper       "||\|&&\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|+\|-\|=\|\." skipwhite nextgroup=vimString,vimSpecFile
317 " User-Specified Commands
318 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,vimSubstEnd,vimSubstRange,vimSynLine
319 syn match   vimUserCmd  "\<com\(m\(a\(nd\=\)\=\)\=\)\=!\=\>.*$"         contains=vimUserAttrb,@vimUserCmdList
320 syn match   vimUserAttrb        contained       "-n\(a\(r\(gs\=\)\=\)\=\)\==[01*?+]"    contains=vimUserAttrbKey,vimOper
321 syn match   vimUserAttrb        contained       "-com\(p\(l\(e\(te\=\)\=\)\=\)\=\)\==\(augroup\|buffer\|command\|dir\|event\|file\|help\|highlight\|menu\|option\|tag\|var\)"   contains=vimUserAttrbKey,vimUserAttrbCmplt,vimOper
322 syn match   vimUserAttrb        contained       "-ra\(n\(ge\=\)\=\)\=\(=%\|=\d\+\)\="   contains=vimNumber,vimOper,vimUserAttrbKey
323 syn match   vimUserAttrb        contained       "-cou\(nt\=\)\==\d\+"           contains=vimNumber,vimOper,vimUserAttrbKey
324 syn match   vimUserAttrb        contained       "-b\(a\(ng\=\)\=\)\="           contains=vimOper,vimUserAttrbKey
325 syn match   vimUserAttrb        contained       "-re\(g\(i\(s\(t\(er\=\)\=\)\=\)\=\)\=\)\="     contains=vimOper,vimUserAttrbKey
326 syn keyword vimUserAttrbKey     contained       b[ang]  cou[nt] ra[nge]
327 syn keyword vimUserAttrbKey     contained       com[plete]      n[args] re[gister]
328 syn keyword vimUserAttrbCmplt   contained       augroup dir     help    menu    tag
329 syn keyword vimUserAttrbCmplt   contained       buffer  event   highlight       option  var
330 syn keyword vimUserAttrbCmplt   contained       command file
332 " Numbers
333 " =======
334 syn match vimNumber     "\<\d\+.\d\+"
335 syn match vimNumber     "\<\d\+L\="
336 syn match vimNumber     "-\d\+.\d\+"
337 syn match vimNumber     "-\d\+L\="
338 syn match vimNumber     "[[;:]\d\+"lc=1
339 syn match vimNumber     "0[xX]\x\+"
340 syn match vimNumber     "#\x\+"
342 " Lower Priority Comments: after some vim commands...
343 " =======================
344 syn match  vimComment   +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
345 syn match  vimComment   +\<endif\s\+".*$+lc=5   contains=@vimCommentGroup,vimCommentString
346 syn match  vimComment   +\<else\s\+".*$+lc=4    contains=@vimCommentGroup,vimCommentString
347 syn region vimCommentString     contained oneline start='\S\s\+"'ms=s+1 end='"'
349 " Environment Variables
350 " =====================
351 syn match vimEnvvar     "\$\I\i*"
352 syn match vimEnvvar     "\${\I\i*}"
354 " Try to catch strings, if nothing else matches (therefore it must precede the others!)
355 "  vmEscapeBrace handles ["]  []"] (ie. stays as string)
356 syn region      vimEscapeBrace  oneline contained transparent   start="[^\\]\(\\\\\)*\[\^\=\]\=" skip="\\\\\|\\\]" end="\]"me=e-1
357 syn match       vimPatSep       contained       "\\[|()]"
358 syn match       vimNotPatSep    contained       "\\\\"
359 syn region      vimString       oneline start=+[^:a-zA-Z>!\\]"+lc=1 skip=+\\\\\|\\"+ end=+"+    contains=vimEscapeBrace,vimPatSep,vimNotPatSep
360 syn region      vimString       oneline start=+[^:a-zA-Z>!\\]'+lc=1 skip=+\\\\\|\\'+ end=+'+    contains=vimEscapeBrace,vimPatSep,vimNotPatSep
361 syn region      vimString       oneline start=+=!+lc=1  skip=+\\\\\|\\!+ end=+!+                contains=vimEscapeBrace,vimPatSep,vimNotPatSep
362 syn region      vimString       oneline start="=+"lc=1  skip="\\\\\|\\+" end="+"                contains=vimEscapeBrace,vimPatSep,vimNotPatSep
363 syn region      vimString       oneline start="[^\\]+\s*[^a-zA-Z0-9.]"lc=1 skip="\\\\\|\\+" end="+"     contains=vimEscapeBrace,vimPatSep,vimNotPatSep
364 syn region      vimString       oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/"           contains=vimEscapeBrace,vimPatSep,vimNotPatSep
365 syn match        vimString      contained       +"[^"]*\\$+     skipnl nextgroup=vimStringCont
366 syn match       vimStringCont   contained       +\(\\\\\|.\)\{-}[^\\]"+
368 " Substitutions
369 " =============
370 syn cluster     vimSubstList    contains=vimPatSep,vimSubstTwoBS,vimSubstRange,vimNotation
371 syn cluster     vimSubstEndList contains=vimSubstPat,vimSubstTwoBS,vimNotation
372 syn region      vimSubst        oneline  start=":\=s/.\{-}" skip="\\\\\|\\/" end="/"    contains=@vimSubstList nextgroup=vimSubstEnd1
373 syn region      vimSubstEnd1    contained oneline start="."lc=1    skip="\\\\\|\\/" end="/"     contains=@vimSubstEndList
374 syn region      vimSubst        oneline  start=":\=s?.\{-}" skip="\\\\\|\\?" end="?"    contains=@vimSubstList nextgroup=vimSubstEnd2
375 syn region      vimSubstEnd2    contained oneline start="."lc=1    skip="\\\\\|\\?" end="?"     contains=@vimSubstEndList
376 syn region      vimSubst        oneline  start=":\=s@.\{-}" skip="\\\\\|\\@" end="@"    contains=@vimSubstList nextgroup=vimSubstEnd3
377 syn region      vimSubstEnd3    contained oneline start="."lc=1    skip="\\\\\|\\@" end="@"     contains=@vimSubstEndList
378 syn region      vimSubstRange   contained oneline start="\["       skip="\\\\\|\\]" end="]"
379 syn match       vimSubstPat     contained       "\\\d"
380 syn match       vimSubstTwoBS   contained       "\\\\"
382 " Marks, Registers, Addresses, Filters
383 syn match  vimMark              "[!,:]'[a-zA-Z0-9]"lc=1
384 syn match  vimMark              "'[a-zA-Z0-9][,!]"me=e-1
385 syn match  vimMark              "'[<>][,!]"me=e-1
386 syn match  vimMark              "\<norm\s'[a-zA-Z0-9]"lc=5
387 syn match  vimMark              "\<normal\s'[a-zA-Z0-9]"lc=7
388 syn match  vimPlainMark contained       "'[a-zA-Z0-9]"
390 syn match  vimRegister          '[^(,;.]"[a-zA-Z0-9\-:.%#*=][^a-zA-Z_"]'lc=1,me=e-1
391 syn match  vimRegister          '\<norm\s\+"[a-zA-Z0-9]'lc=5
392 syn match  vimRegister          '\<normal\s\+"[a-zA-Z0-9]'lc=7
393 syn match  vimPlainRegister     contained       '"[a-zA-Z0-9\-:.%#*=]'
395 syn match  vimAddress           ",\."lc=1
396 syn match  vimAddress           "[%.]" skipwhite        nextgroup=vimString
398 syn match  vimFilter    contained       "^!.\{-}\(|\|$\)"       contains=vimSpecFile
399 syn match  vimFilter    contained       "\A!.\{-}\(|\|$\)"ms=s+1        contains=vimSpecFile
401 " Complex repeats (:h complex-repeat)
402 syn match  vimCmplxRepeat               '[^a-zA-Z_/\\]q[0-9a-zA-Z"]'lc=1
403 syn match  vimCmplxRepeat               '@[0-9a-z".=@:]'
405 " Set command and associated set-options (vimOptions) with comment
406 syn region vimSet       matchgroup=vimCommand start="\<set\>" end="|"me=e-1 end="$" matchgroup=vimNotation end="<CR>" keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString
407 syn region vimSetEqual  contained       start="="       skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation
408 syn region vimSetString contained       start=+="+hs=s+1        skip=+\\\\\|\\"+  end=+"+       contains=vimCtrlChar
409 syn match  vimSetSep    contained       "[,:]"
411 " Let
412 " ===
413 syn keyword vimLet              let     skipwhite nextgroup=vimLetVar
414 syn match   vimLetVar   contained       "\I\i*"
416 " Autocmd
417 " =======
418 syn match   vimAutoEventList    contained       "\(!\s\+\)\=\(\a\+,\)*\a\+"     contains=vimAutoEvent nextgroup=vimAutoCmdSpace
419 syn match   vimAutoCmdSpace     contained       "\s\+"          nextgroup=vimAutoCmdSfxList
420 syn match   vimAutoCmdSfxList   contained       "\S*"
421 syn keyword vimAutoCmd          au[tocmd] do[autocmd] doautoa[ll]       skipwhite nextgroup=vimAutoEventList
423 " Echo and Execute -- prefer strings!
424 syn region  vimEcho     oneline start="\<ec\(ho\=\)\=\>"   skip="\(\\\\\)*\\|" end="$\||" contains=vimCommand,vimString,vimOper
425 syn region  vimEcho     oneline start="\<exe\(c\(u\(te\=\)\=\)\=\)\=\>"   skip="\(\\\\\)*\\|" end="$\||" contains=vimCommand,vimString,vimOper
427 " Syntax
428 "=======
429 syn match   vimGroupList        contained       "@\=[^ \t,]*"   contains=vimGroupSpecial,vimPatSep
430 syn match   vimGroupList        contained       "@\=[^ \t,]*,"  nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
431 syn keyword vimGroupSpecial     contained       ALL     ALLBUT
432 syn match   vimSynError contained       "\i\+"
433 syn match   vimSynError contained       "\i\+=" nextgroup=vimGroupList
434 syn match   vimSynContains      contained       "contains="     nextgroup=vimGroupList
435 syn match   vimSynNextgroup     contained       "nextgroup="    nextgroup=vimGroupList
437 syn match   vimSyntax   "\<sy\(n\(t\(ax\=\)\=\)\=\)\=\>"                contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
438 syn match   vimAuSyntax contained       "\s+sy\(n\(t\(ax\=\)\=\)\=\)\=" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
440 " Syntax: case
441 syn keyword vimSynType  contained       case    skipwhite nextgroup=vimSynCase,vimSynCaseError
442 syn match   vimSynCaseError     contained       "\i\+"
443 syn keyword vimSynCase  contained       ignore  match
445 " Syntax: clear
446 syn keyword vimSynType  contained       clear   skipwhite nextgroup=vimGroupList
448 " Syntax: cluster
449 syn keyword vimSynType          contained       cluster         skipwhite nextgroup=vimClusterName
450 syn region  vimClusterName      contained       matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
451 syn match   vimGroupAdd contained       "add="          nextgroup=vimGroupList
452 syn match   vimGroupRem contained       "remove="       nextgroup=vimGroupList
454 " Syntax: include
455 syn keyword vimSynType  contained       include         skipwhite nextgroup=vimGroupList
457 " Syntax: keyword
458 syn keyword vimSynType  contained       keyword         skipwhite nextgroup=vimSynKeyRegion
459 syn region  vimSynKeyRegion     contained oneline matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="$\||" contains=vimSynNextgroup,vimSynKeyOpt
460 syn match   vimSynKeyOpt        contained       "\<\(contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
462 " Syntax: match
463 syn keyword vimSynType  contained       match   skipwhite nextgroup=vimSynMatchRegion
464 syn region  vimSynMatchRegion   contained oneline matchgroup=vimGroupName start="\k\+" end="$" contains=vimComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat
465 syn match   vimSynMtchOpt       contained       "\<\(contained\|excludenl\|transparent\|skipempty\|skipwhite\|skipnl\|display\|fold\)\>"
467 " Syntax: off and on
468 syn keyword vimSynType  contained       off     on
470 " Syntax: region
471 syn keyword vimSynType  contained       region  skipwhite nextgroup=vimSynRegion
472 syn region  vimSynRegion        contained oneline matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="$\||" contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
473 syn match   vimSynRegOpt        contained       "\<\(contained\|excludenl\|transparent\|skipempty\|skipwhite\|skipnl\|oneline\|keepend\|display\|fold\)\>"
474 syn match   vimSynReg           contained       "\(start\|skip\|end\)="he=e-1   nextgroup=vimSynRegPat
475 syn match   vimSynMtchGrp       contained       "matchgroup="   nextgroup=vimGroup,vimHLGroup
476 syn region  vimSynRegPat        contained oneline       start="!"  skip="\\\\\|\\!"  end="!"  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
477 syn region  vimSynRegPat        contained oneline       start="%"  skip="\\\\\|\\-"  end="%"  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
478 syn region  vimSynRegPat        contained oneline       start="'"  skip="\\\\\|\\'"  end="'"  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
479 syn region  vimSynRegPat        contained oneline       start="+"  skip="\\\\\|\\+"  end="+"  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
480 syn region  vimSynRegPat        contained oneline       start="@"  skip="\\\\\|\\@"  end="@"  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
481 syn region  vimSynRegPat        contained oneline       start='"'  skip='\\\\\|\\"'  end='"'  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
482 syn region  vimSynRegPat        contained oneline       start='/'  skip='\\\\\|\\/'  end='/'  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
483 syn region  vimSynRegPat        contained oneline       start=','  skip='\\\\\|\\,'  end=','  contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
484 syn region  vimSynRegPat        contained oneline       start='\$' skip='\\\\\|\\\$' end='\$' contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange nextgroup=vimSynPatMod
485 syn match   vimSynPatMod        contained       "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
486 syn match   vimSynPatMod        contained       "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
487 syn match   vimSynPatMod        contained       "lc=\d\+"
488 syn match   vimSynPatMod        contained       "lc=\d\+," nextgroup=vimSynPatMod
489 syn region  vimSynPatRange      contained oneline start="\["    skip="\\\\\|\\]"   end="]"
490 syn match   vimSynNotPatRange   contained       "\\\\\|\\\["
492 " Syntax: sync
493 " ============
494 syn keyword vimSynType  contained       sync    skipwhite       nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinecont
495 syn match   vimSyncError        contained       "\i\+"
496 syn keyword vimSyncC    contained       ccomment        clear
497 syn keyword vimSyncMatch        contained       match   skipwhite       nextgroup=vimSyncGroupName
498 syn keyword vimSyncLinecont     contained       linecont        skipwhite       nextgroup=vimSynRegPat
499 syn match   vimSyncLines        contained       "\(min\|max\)\=lines="  nextgroup=vimNumber
500 syn match   vimSyncGroupName    contained       "\k\+"  skipwhite       nextgroup=vimSyncKey
501 syn match   vimSyncKey  contained       "\<groupthere\|grouphere\>"     skipwhite nextgroup=vimSyncGroup
502 syn match   vimSyncGroup        contained       "\k\+"  skipwhite       nextgroup=vimSynRegPat,vimSyncNone
503 syn keyword vimSyncNone contained       NONE
505 " Additional IsCommand stuff, here by reasons of precedence
506 " ====================
507 syn match vimIsCommand  "<Bar>\s*\a\+"  transparent contains=vimCommand,vimNotation
509 " Highlighting
510 " ============
511 syn match   vimHighlight                "\<hi\(g\(h\(l\(i\(g\(ht\=\)\=\)\=\)\=\)\=\)\=\)\=\>" skipwhite nextgroup=vimHiLink,vimHiClear,vimHiKeyList,vimComment
513 syn match   vimHiGroup  contained       "\i\+"
514 syn case ignore
515 syn keyword vimHiAttrib contained       none bold inverse italic reverse standout underline
516 syn keyword vimFgBgAttrib       contained       none bg background fg foreground
517 syn case match
518 syn match   vimHiAttribList     contained       "\i\+"  contains=vimHiAttrib
519 syn match   vimHiAttribList     contained       "\i\+,"he=e-1   contains=vimHiAttrib nextgroup=vimHiAttribList,vimHiAttrib
520 syn case ignore
521 syn keyword vimHiCtermColor     contained       black   darkcyan        darkred lightcyan       lightred
522 syn keyword vimHiCtermColor     contained       blue    darkgray        gray    lightgray       magenta
523 syn keyword vimHiCtermColor     contained       brown   darkgreen       green   lightgreen      red
524 syn keyword vimHiCtermColor     contained       cyan    darkgrey        grey    lightgrey       white
525 syn keyword vimHiCtermColor     contained       darkBlue        darkmagenta     lightblue       lightmagenta    yellow
526 syn case match
527 syn match   vimHiFontname       contained       "[a-zA-Z\-*]\+"
528 syn match   vimHiGuiFontname    contained       "'[a-zA-Z\-* ]\+'"
529 syn match   vimHiGuiRgb contained       "#\x\{6}"
530 syn match   vimHiCtermError     contained       "[^0-9]\i*"
532 " Highlighting: hi group key=arg ...
533 syn cluster vimHiCluster contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError
534 syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||"      contains=@vimHiCluster
535 syn match  vimHiKeyError        contained       "\i\+="he=e-1
536 syn match  vimHiTerm    contained       "[tT][eE][rR][mM]="he=e-1                       nextgroup=vimHiAttribList
537 syn match  vimHiStartStop       contained       "\([sS][tT][aA][rR][tT]\|[sS][tT][oO][pP]\)="he=e-1     nextgroup=vimHiTermcap,vimOption
538 syn match  vimHiCTerm   contained       "[cC][tT][eE][rR][mM]="he=e-1                   nextgroup=vimHiAttribList
539 syn match  vimHiCtermFgBg       contained       "[cC][tT][eE][rR][mM][fFbB][gG]="he=e-1         nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
540 syn match  vimHiGui     contained       "[gG][uU][iI]="he=e-1                   nextgroup=vimHiAttribList
541 syn match  vimHiGuiFont contained       "[fF][oO][nN][tT]="he=e-1                       nextgroup=vimHiFontname
542 syn match  vimHiGuiFgBg contained       "[gG][uU][iI][fFbB][gG]="he=e-1                 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
543 syn match  vimHiTermcap contained       "\S\+"          contains=vimNotation
545 " Highlight: clear
546 syn keyword vimHiClear  contained       clear           nextgroup=vimHiGroup
548 " Highlight: link
549 syn region vimHiLink    contained oneline matchgroup=vimCommand start="link" end="$"    contains=vimHiGroup,vimGroup,vimHLGroup
551 " Angle-Bracket Notation (tnx to Michael Geddes)
552 " ======================
553 syn case ignore
554 syn match vimNotation   "\\<\([scam]-\)\{0,4}\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|del\(ete\)\=\|bs\|backspace\|tab\|esc\|right\|left\|Help\|Undo\|Insert\|Ins\|k\=Home\|k \=End\|kPlus\|kMinus\|kDivide\|kMultiply\|kEnter\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
555 syn match vimNotation   "\\<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\|drag\|release\)>" contains=vimBracket
556 syn match vimNotation   "\\<\(bslash\|space\|bar\|nop\|nul\|lt\)>"              contains=vimBracket
557 syn match vimNotation   '\\<C-R>[0-9a-z"%#:.\-=]'he=e-1                 contains=vimBracket
558 syn match vimNotation   '\\<\(line[12]\|count\|bang\|reg\|args\|lt\|[qf]-args\)>'       contains=vimBracket
559 syn match vimBracket contained  "[\\<>]"
560 syn case match
562 " Control Characters
563 " ==================
564 syn match vimCtrlChar   "[\x01-\b\v\x0f-\x1f]"
566 " Beginners - Patterns that involve ^
567 " =========
568 syn match  vimLineComment       +^[ \t:]*".*$+          contains=@vimCommentGroup,vimCommentString,vimCommentTitle
569 syn match  vimCommentTitle      '"\s*\u\a*\(\s\+\u\a*\)*:'ms=s+1        contained
570 syn match  vimContinue  "^\s*\\"
572 " Highlighting Settings
573 " ====================
574 if !exists("did_vim_syntax_inits")
575   let did_vim_syntax_inits = 1
577   " The default methods for highlighting.  Can be overridden later
578   hi link vimAuHighlight        vimHighlight
580   hi link vimAddress    vimMark
581   hi link vimAutoCmd    vimCommand
582   hi link vimAutoCmdOpt vimOption
583   hi link vimAutoSet    vimCommand
584   hi link vimBehaveError        vimError
585   hi link vimCommentString      vimString
586   hi link vimCondHL     vimCommand
587   hi link vimElseif     vimCondHL
588   hi link vimErrSetting vimError
589   hi link vimFgBgAttrib vimHiAttrib
590   hi link vimFTCmd      vimCommand
591   hi link vimFTOption   vimSynType
592   hi link vimFTError    vimError
593   hi link vimFunctionError      vimError
594   hi link vimGroupAdd   vimSynOption
595   hi link vimGroupRem   vimSynOption
596   hi link vimHLGroup    vimGroup
597   hi link vimHiAttribList       vimError
598   hi link vimHiCTerm    vimHiTerm
599   hi link vimHiCtermError       vimError
600   hi link vimHiCtermFgBg        vimHiTerm
601   hi link vimHiGroup    vimGroupName
602   hi link vimHiGui      vimHiTerm
603   hi link vimHiGuiFgBg  vimHiTerm
604   hi link vimHiGuiFont  vimHiTerm
605   hi link vimHiGuiRgb   vimNumber
606   hi link vimHiKeyError vimError
607   hi link vimHiStartStop        vimHiTerm
608   hi link vimHighlight  vimCommand
609   hi link vimKeyCode    vimSpecFile
610   hi link vimKeyCodeError       vimError
611   hi link vimLet                vimCommand
612   hi link vimLineComment        vimComment
613   hi link vimNotFunc    vimCommand
614   hi link vimNotPatSep  vimString
615   hi link vimPlainMark  vimMark
616   hi link vimPlainRegister      vimRegister
617   hi link vimSetString  vimString
618   hi link vimSpecFileMod        vimSpecFile
619   hi link vimStringCont vimString
620   hi link vimSynCaseError       vimError
621   hi link vimSynContains        vimSynOption
622   hi link vimSynKeyOpt  vimSynOption
623   hi link vimSynMtchGrp vimSynOption
624   hi link vimSynMtchOpt vimSynOption
625   hi link vimSynNextgroup       vimSynOption
626   hi link vimSynNotPatRange     vimSynRegPat
627   hi link vimSynPatRange        vimString
628   hi link vimSynRegOpt  vimSynOption
629   hi link vimSynRegPat  vimString
630   hi link vimSyntax     vimCommand
631   hi link vimSynType    vimSpecial
632   hi link vimSyncGroup  vimGroupName
633   hi link vimSyncGroupName      vimGroupName
634   hi link vimUserAttrb  vimSpecial
635   hi link vimUserAttrbCmplt     vimSpecial
636   hi link vimUserAttrbKey       vimOption
637   hi link vimUserCmd    vimCommand
639   hi link vimAutoEvent  Type
640   hi link vimBracket    Delimiter
641   hi link vimCmplxRepeat        SpecialChar
642   hi link vimCommand    Statement
643   hi link vimComment    Comment
644   hi link vimCommentTitle       PreProc
645   hi link vimContinue   Special
646   hi link vimCtrlChar   SpecialChar
647   hi link vimEnvvar     PreProc
648   hi link vimError      Error
649   hi link vimFuncName   Function
650   hi link vimFuncVar    Identifier
651   hi link vimGroup      Type
652   hi link vimGroupSpecial       Special
653   hi link vimHLMod      PreProc
654   hi link vimHiAttrib   PreProc
655   hi link vimHiTerm     Type
656   hi link vimKeyword    Statement
657   hi link vimMark       Number
658   hi link vimNotation   Special
659   hi link vimNumber     Number
660   hi link vimOper       Operator
661   hi link vimOption     PreProc
662   hi link vimPatSep     SpecialChar
663   hi link vimPattern    Type
664   hi link vimRegister   SpecialChar
665   hi link vimSetSep     Statement
666   hi link vimSpecFile   Identifier
667   hi link vimSpecial    Type
668   hi link vimStatement  Statement
669   hi link vimString     String
670   hi link vimSubstPat   SpecialChar
671   hi link vimSynCase    Type
672   hi link vimSynCaseError       Error
673   hi link vimSynError   Error
674   hi link vimSynOption  Special
675   hi link vimSynReg     Type
676   hi link vimSyncC      Type
677   hi link vimSyncError  Error
678   hi link vimSyncKey    Type
679   hi link vimSyncNone   Type
680   hi link vimTodo       Todo
681 endif
683 let b:current_syntax = "vim"
685 " vim: ts=17