home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / vim.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  35.0 KB  |  611 lines

  1. " Language:    Vim 5.2 script
  2. " Maintainer:    Dr. Charles E. Campbell, Jr. <cec@gryphon.gsfc.nasa.gov>
  3. " Last change:    August 28, 1998
  4.  
  5. " Remove old syntax
  6. syn clear
  7.  
  8. syn keyword vimTodo contained    TODO
  9.  
  10. " regular vim commands
  11. syn keyword vimCommand contained    I    cr[ewind]    ma[rk]    sbl[ast]    w[rite]
  12. syn keyword vimCommand contained    N[ext]    cu[nmap]    mak[e]    sbm[odified]    wa[ll]
  13. syn keyword vimCommand contained    Next    cuna[bbrev]    map    sbn[ext]    wh[ile]
  14. syn keyword vimCommand contained    P[rint]    d[elete]    mapc[lear]    sbp[revious]    wn[ext]
  15. syn keyword vimCommand contained    a[ppend]    delc[ommand]    marks    sbr[ewind]    wp[revous]
  16. syn keyword vimCommand contained    ab[breviate]    delf[unction]    mk[exrc]    se[t]    wq
  17. syn keyword vimCommand contained    abc[lear]    di[splay]    mks[ession]    set    wqa[ll]
  18. syn keyword vimCommand contained    al[l]    dig[raphs]    mkv[imrc]    sh[ell]    wv[iminfo]
  19. syn keyword vimCommand contained    ar[gs]    display    mod[e]    si[malt]    x[it]
  20. syn keyword vimCommand contained    argu[ment]    dj[ump]    n[ext]    sl[eep]    xa[ll]
  21. syn keyword vimCommand contained    as[cii]    dl[ist]    new    sla[st]    y[ank]
  22. syn keyword vimCommand contained    au[tocmd]    do[autocmd]    nm[ap]    sm[agic]    z[+-^.=]
  23. syn keyword vimCommand contained    aug[roup]    doautoa[ll]    nmap    sn[ext]    am
  24. syn keyword vimCommand contained    autocmd    ds[earch]    nmapc[lear]    sno[magic]    amenu
  25. syn keyword vimCommand contained    bN[ext]    dsp[lit]    nn[oremap]    so[urce]    an
  26. syn keyword vimCommand contained    b[uffer]    e[dit]    no[remap]    sp[lit]    anoremenu
  27. syn keyword vimCommand contained    ba[ll]    ec[ho]    noh[lsearch]    spr[evious]    aun
  28. syn keyword vimCommand contained    bad[d]    echoh[l]    norea[bbrev]    sr[ewind]    aunmenu
  29. syn keyword vimCommand contained    bd[elete]    echon    norm[al]    st[op]    be
  30. syn keyword vimCommand contained    bdelete    el[se]    normal    sta[g]    behave
  31. syn keyword vimCommand contained    be[have]    elsei[f]    nu[mber]    stj[ump]    cme
  32. syn keyword vimCommand contained    bl[ast]    en[dif]    nun[map]    sts[elect]    cmenu
  33. syn keyword vimCommand contained    bm[odified]    endf[unction]    o[pen]    sun[hide]    cnoreme
  34. syn keyword vimCommand contained    bn[ext]    endw[hile]    om[ap]    sus[pend]    cnoremenu
  35. syn keyword vimCommand contained    bp[revious]    ex    omap    sv[iew]    cunme
  36. syn keyword vimCommand contained    br[ewind]    exe[cute]    omapc[lear]    sy[ntax]    cunmenu
  37. syn keyword vimCommand contained    brea[k]    exi[t]    on[ly]    syntax    ime
  38. syn keyword vimCommand contained    bro[wse]    f[ile]    ono[remap]    t    imenu
  39. syn keyword vimCommand contained    browse    files    ou[nmap]    tN[ext]    inoreme
  40. syn keyword vimCommand contained    buffers    fix[del]    p[rint]    ta[g]    inoremenu
  41. syn keyword vimCommand contained    bun[load]    fu[nction]    pe[rl]    tags    iunme
  42. syn keyword vimCommand contained    bunload    g[lobal]    perld[o]    tc[l]    iunmenu
  43. syn keyword vimCommand contained    cN[ext]    global    po[p]    tcld[o]    me
  44. syn keyword vimCommand contained    c[hange]    gr[ep]    pre[serve]    tclf[ile]    menu
  45. syn keyword vimCommand contained    ca[bbrev]    h[elp]    prev[ious]    te[aroff]    nme
  46. syn keyword vimCommand contained    cabc[lear]    hi[ghlight]    promptf[ind]    the    nmenu
  47. syn keyword vimCommand contained    cal[l]    hid[e]    promptr[epl]    tj[ump]    nnoreme
  48. syn keyword vimCommand contained    cc    i[nsert]    pu[t]    tl[ast]    nnoremenu
  49. syn keyword vimCommand contained    cd    ia[bbrev]    pw[d]    tm[enu]    noreme
  50. syn keyword vimCommand contained    ce[nter]    iabc[lear]    py[thon]    tn[ext]    noremenu
  51. syn keyword vimCommand contained    cf[ile]    if    pyf[ile]    tp[revious]    nunme
  52. syn keyword vimCommand contained    chd[ir]    ij[ump]    q[uit]    tr[ewind]    nunmenu
  53. syn keyword vimCommand contained    che[ckpath]    il[ist]    qa[ll]    ts[elect]    ome
  54. syn keyword vimCommand contained    cl[ist]    im[ap]    r[ead]    tu[nmenu]    omenu
  55. syn keyword vimCommand contained    cla[st]    imap    rec[over]    tunmenu    onoreme
  56. syn keyword vimCommand contained    clo[se]    imapc[lear]    red[o]    u[ndo]    onoremenu
  57. syn keyword vimCommand contained    cm[ap]    ino[remap]    redi[r]    una[bbreviate]    ounme
  58. syn keyword vimCommand contained    cmap    inorea[bbrev]    reg[isters]    unh[ide]    ounmenu
  59. syn keyword vimCommand contained    cmapc[lear]    is[earch]    res[ize]    unl[et]    tm
  60. syn keyword vimCommand contained    cn[ext]    isp[lit]    ret[ab]    unm[ap]    tmenu
  61. syn keyword vimCommand contained    cnew[er]    iu[nmap]    retu[rn]    v[global]    tu
  62. syn keyword vimCommand contained    cno[remap]    iuna[bbrev]    rew[ind]    ve[rsion]    tunmenu
  63. syn keyword vimCommand contained    cnorea[bbrev]    j[oin]    ri[ght]    vi[sual]    unme
  64. syn keyword vimCommand contained    co[py]    ju[mps]    rv[iminfo]    vie[w]    unmenu
  65. syn keyword vimCommand contained    col[der]    k    sN[ext]    vm[ap]    vme
  66. syn keyword vimCommand contained    com[mand]    l[ist]    s[ubstitute]    vmap    vmenu
  67. syn keyword vimCommand contained    comc[lear]    la[st]    sa[rgument]    vmapc[lear]    vnoreme
  68. syn keyword vimCommand contained    con[tinue]    le[ft]    sal[l]    vn[oremap]    vnoremenu
  69. syn keyword vimCommand contained    conf[irm]    let    sbN[ext]    vu[nmap]    vunme
  70. syn keyword vimCommand contained    cp[revious]    ls    sb[uffer]    wN[ext]    vunmenu
  71. syn keyword vimCommand contained    cq[uit]    m[ove]    sba[ll]
  72.  
  73. " All vimCommands are contained by vimIsCommands.
  74. syn match vimIsCommand    "^\s*[a-zA-Z]\+"        transparent contains=vimCommand
  75. syn match vimIsCommand    "[:|]\s*[a-zA-Z]\+"    transparent contains=vimCommand
  76.  
  77. " vimOptions are caught only when contained in a vimSet
  78. syn keyword vimOption contained    ai    eol    isprint    ruler    tagrelative
  79. syn keyword vimOption contained    akm    ep    joinspaces    sb    tags
  80. syn keyword vimOption contained    al    equalalways    js    sbr    tbi
  81. syn keyword vimOption contained    aleph    equalprg    keymodel    sc    tbs
  82. syn keyword vimOption contained    allowrevins    errorbells    keywordprg    scr    term
  83. syn keyword vimOption contained    altkeymap    errorfile    km    scroll    terse
  84. syn keyword vimOption contained    ari    errorformat    kp    scrolljump    textauto
  85. syn keyword vimOption contained    autoindent    esckeys    langmap    scrolloff    textmode
  86. syn keyword vimOption contained    autowrite    et    laststatus    scs    textwidth
  87. syn keyword vimOption contained    aw    eventignore    lazyredraw    sect    tf
  88. syn keyword vimOption contained    background    ex    lbr    sections    tildeop
  89. syn keyword vimOption contained    backspace    expandtab    lcs    secure    timeout
  90. syn keyword vimOption contained    backup    exrc    linebreak    sel    timeoutlen
  91. syn keyword vimOption contained    backupdir    fe    lines    selection    title
  92. syn keyword vimOption contained    backupext    ff    lisp    selectmode    titlelen
  93. syn keyword vimOption contained    bdir    ffs    list    sessionoptions    titlestring
  94. syn keyword vimOption contained    bex    fileencoding    listchars    sft    tl
  95. syn keyword vimOption contained    bg    fileformat    lmap    sh    tm
  96. syn keyword vimOption contained    bin    fileformats    ls    shcf    to
  97. syn keyword vimOption contained    binary    filetype    lz    shell    top
  98. syn keyword vimOption contained    biosk    fk    magic    shellcmdflag    tr
  99. syn keyword vimOption contained    bioskey    fkmap    makeef    shellpipe    ts
  100. syn keyword vimOption contained    bk    fo    makeprg    shellquote    tsl
  101. syn keyword vimOption contained    breakat    formatoptions    mat    shellredir    ttimeout
  102. syn keyword vimOption contained    brk    formatprg    matchpairs    shelltype    ttimeoutlen
  103. syn keyword vimOption contained    browsedir    fp    matchtime    shellxquote    ttm
  104. syn keyword vimOption contained    bs    ft    maxfuncdepth    shiftround    ttybuiltin
  105. syn keyword vimOption contained    bsdir    gcr    maxmapdepth    shiftwidth    ttyfast
  106. syn keyword vimOption contained    cf    gd    maxmem    shm    ttym
  107. syn keyword vimOption contained    ch    gdefault    maxmemtot    shortmess    ttymouse
  108. syn keyword vimOption contained    cin    gfm    mef    shortname    ttyscroll
  109. syn keyword vimOption contained    cindent    gfn    mfd    showbreak    ttytype
  110. syn keyword vimOption contained    cink    go    mh    showcmd    tw
  111. syn keyword vimOption contained    cinkeys    gp    ml    showfulltag    tx
  112. syn keyword vimOption contained    cino    grepformat    mls    showmatch    uc
  113. syn keyword vimOption contained    cinoptions    grepprg    mm    showmode    ul
  114. syn keyword vimOption contained    cinw    guicursor    mmd    shq    undolevels
  115. syn keyword vimOption contained    cinwords    guifont    mmt    si    updatecount
  116. syn keyword vimOption contained    cmdheight    guioptions    mod    sidescroll    updatetime
  117. syn keyword vimOption contained    co    guipty    modeline    sj    ut
  118. syn keyword vimOption contained    columns    helpfile    modelines    slm    vb
  119. syn keyword vimOption contained    com    helpheight    modified    sm    vbs
  120. syn keyword vimOption contained    comments    hf    more    smartcase    verbose
  121. syn keyword vimOption contained    compatible    hh    mouse    smartindent    vi
  122. syn keyword vimOption contained    complete    hi    mousef    smarttab    viminfo
  123. syn keyword vimOption contained    confirm    hid    mousefocus    smd    visualbell
  124. syn keyword vimOption contained    cp    hidden    mousehide    sn    wa
  125. syn keyword vimOption contained    cpo    highlight    mousem    so    wak
  126. syn keyword vimOption contained    cpoptions    history    mousemodel    softtabstop    warn
  127. syn keyword vimOption contained    cpt    hk    mouset    sol    wb
  128. syn keyword vimOption contained    cscopeprg    hkmap    mousetime    sp    wc
  129. syn keyword vimOption contained    cscopetag    hkmapp    mp    splitbelow    wd
  130. syn keyword vimOption contained    cscopetagorder    hkp    mps    sr    weirdinvert
  131. syn keyword vimOption contained    cscopeverbose    hl    nf    srr    wh
  132. syn keyword vimOption contained    csprg    hls    nrformats    ss    whichwrap
  133. syn keyword vimOption contained    cst    hlsearch    nu    ssop    wig
  134. syn keyword vimOption contained    csto    ic    number    st    wildchar
  135. syn keyword vimOption contained    csverb    icon    pa    sta    wildignore
  136. syn keyword vimOption contained    def    iconstring    para    startofline    wildmode
  137. syn keyword vimOption contained    define    ignorecase    paragraphs    sts    wim
  138. syn keyword vimOption contained    dg    im    paste    su    winaltkeys
  139. syn keyword vimOption contained    dict    inc    patchmode    suffixes    winheight
  140. syn keyword vimOption contained    dictionary    include    path    sw    winminheight
  141. syn keyword vimOption contained    digraph    incsearch    pm    swapfile    wiv
  142. syn keyword vimOption contained    dir    inf    readonly    swapsync    wm
  143. syn keyword vimOption contained    directory    infercase    remap    swf    wmh
  144. syn keyword vimOption contained    ea    insertmode    report    sws    wrap
  145. syn keyword vimOption contained    eb    is    restorescreen    sxq    wrapmargin
  146. syn keyword vimOption contained    ed    isf    revins    syn    wrapscan
  147. syn keyword vimOption contained    edcompatible    isfname    ri    syntax    writeany
  148. syn keyword vimOption contained    ef    isi    rightleft    ta    writebackup
  149. syn keyword vimOption contained    efm    isident    rl    tabstop    writedelay
  150. syn keyword vimOption contained    ei    isk    ro    tag    ws
  151. syn keyword vimOption contained    ek    iskeyword    rs    tagbsearch    ww
  152. syn keyword vimOption contained    endofline    isp    ru    taglength
  153.  
  154. " These are the turn-off setting variants
  155. syn keyword vimOption contained    noai    noequalalways    nojoinspaces    noru    notbs
  156. syn keyword vimOption contained    noakm    noerrorbells    nojs    noruler    noterse
  157. syn keyword vimOption contained    noalkeymap    noesckeys    nolbr    nosb    notextauto
  158. syn keyword vimOption contained    noallowrevins    noet    nolinebreak    nosc    notextmode
  159. syn keyword vimOption contained    noari    noex    nolisp    noscs    notf
  160. syn keyword vimOption contained    noautoindent    noexpandtab    nolist    nosecure    notildeop
  161. syn keyword vimOption contained    noautowrite    noexrc    nomagic    noshiftround    notimeout
  162. syn keyword vimOption contained    noaw    nofk    nomh    noshortname    notitle
  163. syn keyword vimOption contained    nobackup    nofkmap    noml    noshowcmd    noto
  164. syn keyword vimOption contained    nobin    nogd    nomod    noshowmatch    notop
  165. syn keyword vimOption contained    nobinary    nogdefault    nomodeline    noshowmode    notr
  166. syn keyword vimOption contained    nobiosk    noguipty    nomodified    nosi    nottimeout
  167. syn keyword vimOption contained    nobioskey    nohid    nomore    nosm    nottybuiltin
  168. syn keyword vimOption contained    nobk    nohidden    nomousef    nosmartcase    nottyfast
  169. syn keyword vimOption contained    nocf    nohk    nomousefocus    nosmartindent    notx
  170. syn keyword vimOption contained    nocin    nohkmap    nomousehide    nosmarttab    novb
  171. syn keyword vimOption contained    nocindent    nohkmapp    nonu    nosmd    novisualbell
  172. syn keyword vimOption contained    nocompatible    nohkp    nonumber    nosn    nowa
  173. syn keyword vimOption contained    noconfirm    nohls    nopaste    nosol    nowarn
  174. syn keyword vimOption contained    nocp    nohlsearch    noreadonly    nosplitbelow    nowb
  175. syn keyword vimOption contained    nodg    noic    noremap    nosr    noweirdinvert
  176. syn keyword vimOption contained    nodigraph    noicon    norestorescreen    nosta    nowiv
  177. syn keyword vimOption contained    noea    noignorecase    norevins    nostartofline    nowrap
  178. syn keyword vimOption contained    noeb    noim    nori    noswapfile    nowrapscan
  179. syn keyword vimOption contained    noed    noincsearch    norightleft    nota    nowriteany
  180. syn keyword vimOption contained    noedcompatible    noinf    norl    notagbsearch    nowritebackup
  181. syn keyword vimOption contained    noek    noinfercase    noro    notagrelative    nows
  182. syn keyword vimOption contained    noendofline    noinsertmode    nors    notbi    nowsf
  183. syn keyword vimOption contained    noeol    nois
  184.  
  185. " termcap codes (which can also be set)
  186. syn keyword vimOption contained    t_AB    t_RI    t_da    t_k9    t_ks    t_so
  187. syn keyword vimOption contained    t_AF    t_Sb    t_db    t_kD    t_ku    t_sr
  188. syn keyword vimOption contained    t_AL    t_Sf    t_dl    t_kI    t_le    t_te
  189. syn keyword vimOption contained    t_CS    t_ZH    t_k1    t_kN    t_mb    t_ti
  190. syn keyword vimOption contained    t_Co    t_ZR    t_k2    t_kP    t_md    t_ue
  191. syn keyword vimOption contained    t_DL    t_al    t_k3    t_kb    t_me    t_us
  192. syn keyword vimOption contained    t_F1    t_bc    t_k4    t_kd    t_mr    t_vb
  193. syn keyword vimOption contained    t_F2    t_cd    t_k5    t_ke    t_ms    t_ve
  194. syn keyword vimOption contained    t_K1    t_ce    t_k6    t_kh    t_nd    t_vi
  195. syn keyword vimOption contained    t_K3    t_cl    t_k7    t_kl    t_op    t_vs
  196. syn keyword vimOption contained    t_K4    t_cm    t_k8    t_kr    t_se    t_xs
  197. syn keyword vimOption contained    t_K5    t_cs
  198. syn match   vimOption contained    "t_#4"
  199. syn match   vimOption contained    "t_%1"
  200. syn match   vimOption contained    "t_%i"
  201. syn match   vimOption contained    "t_&8"
  202. syn match   vimOption contained    "t_@7"
  203. syn match   vimOption contained    "t_k;"
  204.  
  205. " these settings don't actually cause errors in vim, but were supported by vi and don't do anything in vim
  206. syn keyword vimErrSetting contained    hardtabs    w1200    w9600    wi    window
  207. syn keyword vimErrSetting contained    ht    w300
  208.  
  209. " AutoBuf Events
  210. syn keyword vimAutoEvent contained    BufDelete    BufReadPost    FileAppendPre    FilterReadPre    User
  211. syn keyword vimAutoEvent contained    BufEnter    BufReadPre    FileChangedShell    FilterWritePost    VimEnter
  212. syn keyword vimAutoEvent contained    BufFilePost    BufUnload    FileReadPost    FilterWritePre    VimLeave
  213. syn keyword vimAutoEvent contained    BufFilePre    BufWrite    FileReadPre    StdinReadPost    VimLeavePre
  214. syn keyword vimAutoEvent contained    BufLeave    BufWritePost    FileWritePost    StdinReadPre    WinEnter
  215. syn keyword vimAutoEvent contained    BufNewFile    BufWritePre    FileWritePre    TermChanged    WinLeave
  216. syn keyword vimAutoEvent contained    BufRead    FileAppendPost    FilterReadPost
  217.  
  218. " Highlight commonly used Groupnames
  219. syn keyword vimGroup    Comment    Identifier    Keyword    Type    Delimiter
  220. syn keyword vimGroup    Constant    Function    Exception    StorageClass    SpecialComment
  221. syn keyword vimGroup    String    Statement    PreProc    Structure    Debug
  222. syn keyword vimGroup    Character    Conditional    Include    Typedef    Ignore
  223. syn keyword vimGroup    Number    Repeat    Define    Special    Error
  224. syn keyword vimGroup    Boolean    Label    Macro    SpecialChar    Todo
  225. syn keyword vimGroup    Float    Operator    PreCondit    Tag
  226.  
  227. " Default highlighting groups
  228. syn keyword vimHLGroup    Cursor    LineNr    NonText    Search    Title
  229. syn keyword vimHLGroup    Directory    Menu    Normal    SpecialKey    Visual
  230. syn keyword vimHLGroup    ErrorMsg    ModeMsg    Question    StatusLine    WarningMsg
  231. syn keyword vimHLGroup    IncSearch    MoreMsg    Scrollbar    StatusLineNC
  232.  
  233. " Function Names
  234. syn keyword vimFuncName contained    argc    delete    has    matchend    synID
  235. syn keyword vimFuncName contained    argv    escape    hlID    matchstr    synIDattr
  236. syn keyword vimFuncName contained    browse    exists    hlexists    nr2char    synIDtran
  237. syn keyword vimFuncName contained    bufexists    expand    hostname    setline    tempname
  238. syn keyword vimFuncName contained    bufname    filereadable    input    strftime    virtcol
  239. syn keyword vimFuncName contained    bufnr    fnamemodify    isdirectory    strlen    winbufnr
  240. syn keyword vimFuncName contained    char2nr    getcwd    line    strpart    winheight
  241. syn keyword vimFuncName contained    col    getline    match    substitute    winnr
  242. syn keyword vimFuncName contained    confirm
  243. syn match   vimFunc     contained    "\I\i*\s*("    contains=vimFuncName
  244.  
  245. "--- syntax above generated by mkvimvim ---
  246. " Special Vim Highlighting
  247.  
  248. " Behave!
  249. " =======
  250. syn match   vimBehave    "^\s*\(behave\|behav\|beha\|beh\|be\)" contains=vimCommand skipwhite nextgroup=vimBehaveModel,vimBehaveError
  251. syn match   vimBehave    "[:|]\s*\(behave\|behav\|beha\|beh\|be\)"lc=1 contains=vimCommand skipwhite nextgroup=vimBehaveModel,vimBehaveError
  252. syn keyword vimBehaveModel contained    mswin    xterm
  253. syn match   vimBehaveError contained    "[^ ]\+"
  254.  
  255. " Functions
  256. " =========
  257. syn match  vimFunction    "\(function\|functio\|functi\|funct\|func\|fun\)\s\+[A-Z][a-z]*("    contains=vimCommand nextgroup=vimFuncBody
  258. syn match  vimFunctionError    "\(function\|functio\|functi\|funct\|func\|fun\)\s\+[a-z].*("    contains=vimCommand nextgroup=vimFuncBody
  259. syn region vimFuncBody contained    start=")"    end="\<endf"    contains=vimIsCommand,vimGroup,vimHLGroup,vimFunction,vimFunctionError,vimFuncBody,vimSpecFile,vimConditional,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimIsCommand,vimCtrlChar,vimFuncVar
  260. syn match  vimFuncVar  contained    "a:\(\I\i*\|[0-9]\+\)"
  261.  
  262. syn keyword vimPattern contained    start    skip    end
  263.  
  264. " Special Filenames and Modifiers
  265. syn match vimSpecFile    "<\(cword\|cWORD\|[cas]file\)>"    nextgroup=vimSpecFileMod,vimSubst
  266. syn match vimSpecFile    "#\d\+\|[#%]<"        nextgroup=vimSpecFileMod,vimSubst
  267. syn match vimSpecFileMod    "\(:[phtre]\)\+"        contained
  268.  
  269. " Conditionals
  270. syn match vimConditional    "^\s*\(continue\|continu\|contin\|conti\|cont\|con\)\>"
  271. syn match vimConditional    "^\s*\(endif\|endi\|end\|en\)\>"
  272. syn match vimConditional    "^\s*\(endwhile\|endwhil\|endwhi\|endwh\|endw\)\>"
  273. syn match vimConditional    "^\s*\(while\|whil\|whi\|wh\)\>"
  274. syn match vimConditional    "^\s*break\=\>"
  275. syn match vimConditional    "^\s*else\>"
  276. syn match vimConditional    "^\s*elseif\=\>"
  277. syn match vimConditional    "^\s*if\>"
  278.  
  279. syn match vimConditional    "[:|]\s*\(continue\|continu\|contin\|conti\|cont\|con\)\>"lc=1
  280. syn match vimConditional    "[:|]\s*\(endif\|endi\|end\|en\)\>"lc=1
  281. syn match vimConditional    "[:|]\s*\(endwhile\|endwhil\|endwhi\|endwh\|endw\)\>"lc=1
  282. syn match vimConditional    "[:|]\s*\(while\|whil\|whi\|wh\)\>"lc=1
  283. syn match vimConditional    "[:|]\s*break\=\>"lc=1
  284. syn match vimConditional    "[:|]\s*else\>"lc=1
  285. syn match vimConditional    "[:|]\s*elseif\=\>"lc=1
  286. syn match vimConditional    "[:|]\s*if\>"lc=1
  287.  
  288. " Operators
  289. syn match vimOper    "[^,:|]||\|&&\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|+\|-\|=\|\."lc=1 skipwhite nextgroup=vimString
  290.  
  291. " User-Specified Commands
  292. syn cluster vimUserCmdList    contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimConditional,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFunction,vimGroup,vimHLGroup,vimIsCommand,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstEnd,vimSubstRange,vimSynLine
  293. syn region  vimUserCmd    transparent oneline matchgroup=vimStatement start="[:|]\s*\(command\|comman\|comma\|comm\|com\)"hs=s+1 end="$"    contains=vimUserAttrb,@vimUserCmdList
  294. syn region  vimUserCmd    transparent oneline matchgroup=vimStatement start="^\s*\(command\|comman\|comma\|comm\|com\)" end="$"        contains=vimUserAttrb,@vimUserCmdList
  295. syn match   vimUserAttrb    contained    "-nargs=[01*?+]"        contains=vimUserAttrbKey,vimOper
  296. syn match   vimUserAttrb    contained transparent  "-complete=\(augroup\|buffer\|command\|dir\|event\|file\|help\|highlight\|menu\|option\|tag\|var\)"    contains=vimUserAttrbCmplt,vimOper
  297. syn match   vimUserAttrb    contained    "-range\(=%\|=[0-9]\+\)\="    contains=vimNumber,vimOper,vimUserAttrbKey
  298. syn match   vimUserAttrb    contained    "-count=[0-9]\+"        contains=vimNumber,vimOper,vimUserAttrbKey
  299. syn match   vimUserAttrb    contained    "-bang\|-register"    contains=vimOper,vimUserAttrbKey
  300. syn keyword vimUserAttrbKey    contained    bang    count    range
  301. syn keyword vimUserAttrbKey    contained    complete    nargs    register
  302. syn keyword vimUserAttrbCmplt    contained    augroup    dir    help    menu    tag
  303. syn keyword vimUserAttrbCmplt    contained    buffer    event    highlight    option    var
  304. syn keyword vimUserAttrbCmplt    contained    command    file
  305.  
  306. " Numbers
  307. syn match vimNumber    "\<\d\+.\d\+"
  308. syn match vimNumber    "\<\d\+L\="
  309. syn match vimNumber    "-\d\+.\d\+"
  310. syn match vimNumber    "-\d\+L\="
  311. syn match vimNumber    "[[;:]\d\+"lc=1
  312. syn match vimNumber    "0[xX][0-9a-fA-F]\+"
  313. syn match vimNumber    "#[0-9a-fA-F]\+"
  314.  
  315. " Lower Priority Comments: after some vim commands...
  316. syn match vimComment    +\s"[^\-:.%#=*].*$+lc=1    contains=vimTodo
  317. syn match vimComment    +\<endif\s\+".*$+lc=5    contains=vimTodo
  318. syn match vimComment    +\<else\s\+".*$+lc=4    contains=vimTodo
  319. syn match vimComment    +^\s*".*$+        contains=vimTodo
  320.  
  321. " Try to catch strings, if nothing else matches (therefore it must precede the others!)
  322. "  vmEscapeBrace handles ["]  []"] (ie. stays as string)
  323. syn region    vimEscapeBrace    oneline contained transparent    start="[^\\]\(\\\\\)*\[\^\=\]\=" skip="\\\\\|\\\]" end="\]"me=e-1
  324. syn match    vimPatSep    contained    "\\[|()]"
  325. syn match    vimNotPatSep    contained    "\\\\"
  326. syn region    vimString    oneline    start=+[^:a-zA-Z>!\\]"+lc=1 skip=+\(\\\\\)*\\"+ end=+"+    contains=vimEscapeBrace,vimPatSep,vimNotPatSep
  327. syn region    vimString    oneline    start=+[^:a-zA-Z>!\\]'+lc=1 skip=+\(\\\\\)*\\'+ end=+'+    contains=vimEscapeBrace,vimPatSep,vimNotPatSep
  328. syn region    vimString    oneline    start=+=!+lc=1    skip=+\(\\\\\)*\\!+ end=+!+        contains=vimEscapeBrace,vimPatSep,vimNotPatSep
  329. syn region    vimString    oneline    start="=+"lc=1    skip="\(\\\\\)*\\+" end="+"        contains=vimEscapeBrace,vimPatSep,vimNotPatSep
  330. syn region    vimString    oneline    start="[^\\]+\s*[^a-zA-Z0-9.]"lc=1 skip="\(\\\\\)*\\+" end="+"    contains=vimEscapeBrace,vimPatSep,vimNotPatSep
  331. syn region    vimString    oneline    start="\s/\s*[^a-zA-Z]"lc=1 skip="\(\\\\\)*\\+" end="/"    contains=vimEscapeBrace,vimPatSep,vimNotPatSep
  332.  
  333. " Substitutions
  334. syn region    vimSubst    oneline     start=":\=s/.\{-}" skip="\(\\\\\)*\\/" end="/"    contains=vimPatSep,vimSubstTwoBS,vimSubstRange,vimNotation nextgroup=vimSubstEnd
  335. syn region    vimSubstEnd    contained oneline start="."lc=1       skip="\(\\\\\)*\\/" end="/"    contains=vimSubstPat,vimSubstTwoBS,vimNotation
  336. syn region    vimSubst    oneline     start=":\=s?.\{-}" skip="\(\\\\\)*\\?" end="?"    contains=vimPatSep,vimSubstTwoBS,vimSubstRange,vimNotation nextgroup=vimSubstEnd
  337. syn region    vimSubstEnd    contained oneline start="."lc=1       skip="\(\\\\\)*\\?" end="?"    contains=vimSubstPat,vimSubstTwoBS,vimNotation
  338. syn region    vimSubstRange    contained oneline start="\["       skip="\(\\\\\)*\\]" end="]"
  339. syn match    vimSubstPat    contained    "\\\d"
  340. syn match    vimSubstTwoBS    contained    "\\\\"
  341.  
  342. " Marks, Registers, Addresses, Filters
  343. syn match    vimMark    "[!,:]'[a-zA-Z0-9]"lc=1
  344. syn match    vimMark    "'[a-zA-Z0-9][,!]"me=e-1
  345. syn match    vimMark    "'[<>][,!]"me=e-1
  346. syn match    vimMark    "[^a-zA-Z]norm\s'[a-zA-Z0-9]"lc=6
  347. syn match    vimMark    "[^a-zA-Z]normal\s'[a-zA-Z0-9]"lc=8
  348. syn match    vimPlainMark    "'[a-zA-Z0-9]"        contained
  349.  
  350. syn match    vimRegister    '[^(,;]"[a-zA-Z0-9\-:.%#*=][^a-zA-Z_"]'lc=1
  351. syn match    vimRegister    '[^a-zA-Z]norm\s"[a-zA-Z0-9]'lc=6
  352. syn match    vimRegister    '[^a-zA-Z]normal\s"[a-zA-Z0-9]'lc=8
  353. syn match    vimPlainRegister    '"[a-zA-Z0-9\-:.%#*=]'    contained
  354.  
  355. syn match    vimAddress    ",\."lc=1
  356. syn match       vimAddress    "[:|][%.]"lc=1
  357. syn match       vimAddress    "<Bar>%"lc=5
  358.  
  359. syn match    vimFilter    ":\s*!"ms=e
  360. syn match    vimFilter    "[^a-zA-Z]!"lc=1
  361.  
  362. " Complex repeats (:h complex-repeat)
  363. syn match vimCmplxRepeat    '[^a-zA-Z_/\\]q[0-9a-zA-Z"]'lc=1
  364. syn match vimCmplxRepeat    '@[0-9a-z".=@:]'
  365.  
  366. " High Priority Comments: beginning of line with optional spaces then "
  367. syn match vimComment    +^\s*".*$+    contains=vimTodo
  368.  
  369. " Set command and associated set-options (vimOptions) with comment
  370. syn region vimSet        matchgroup=vimCommand start="\s*set\>" end="|\|$"    keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString
  371. syn region vimSetEqual    contained    start="="    skip="\(\\\\\)*\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar
  372. syn region vimSetString    contained    start=+="+hs=s+1    skip=+\(\\\\\)\\"+   end=+"+    contains=vimCtrlChar
  373.  
  374. " Autocmd
  375. syn cluster vimAutoCmdCluster    contains=vimAutoCmdOpt,vimAutoEvent,vimComment,vimFilter,vimAuHighlight,vimIsCommand,vimIsCommand2,vimNotation,vimSet,vimSpecFile,vimString,vimAuSyntax
  376. syn match   vimIsCommand2    contained transparent "[ \t<Bar>][a-zA-Z_]\+"lc=1  contains=vimCommand
  377. syn keyword vimAutoCmdOpt    contained    nested
  378. syn region  vimAutoCmd        matchgroup=vimAutoSet start=+^\s*\(autocmd\|au\|doautocmd\|doau\)\>+    end="$" keepend contains=@vimAutoCmdCluster
  379. syn region  vimAutoCmd        matchgroup=vimAutoSet start=+^\s*\(doautoa\|doautoall\)\>+        end="$" keepend contains=@vimAutoCmdCluster
  380.  
  381. " Syntax
  382. "=======
  383. syn match   vimGroupList    contained    "@\=[^ \t,]*"    contains=vimGroupSpecial,vimPatSep
  384. syn match   vimGroupList    contained    "@\=[^ \t,]*,"    nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
  385. syn keyword vimGroupSpecial    contained    ALL    ALLBUT
  386. syn match   vimSynError    contained    "\i\+"
  387. syn match   vimSynError    contained    "\i\+="    nextgroup=vimGroupList
  388. syn match   vimSynContains    contained    "contains="    nextgroup=vimGroupList
  389. syn match   vimSynNextgroup    contained    "nextgroup="    nextgroup=vimGroupList
  390.  
  391. syn match   vimSyntax    "^\s*\(syntax\|synta\|synt\|syn\|sy\)"    contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
  392. syn match   vimSyntax    "[:|]\s*\(syntax\|synta\|synt\|syn\|sy\)"    contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
  393. syn match   vimAuSyntax    contained    "\s+\(syntax\|synta\|synt\|syn\|sy\)"    contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
  394.  
  395. " Syntax: case
  396. syn keyword vimSynType        contained    case    skipwhite nextgroup=vimSynCase,vimSynCaseError
  397. syn match   vimSynCaseError    contained    "\i\+"
  398. syn keyword vimSynCase        contained    ignore    match
  399.  
  400. " Syntax: clear
  401. syn keyword vimSynType        contained    clear    skipwhite nextgroup=vimGroupList
  402.  
  403. " Syntax: cluster
  404. syn keyword vimSynType        contained    cluster        skipwhite nextgroup=vimClusterName
  405. syn region  vimClusterName    contained    matchgroup=vimGroupName start="\k\+" skip="\(\\\\\)*\\|" end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
  406. syn match   vimGroupAdd        contained    "add="        nextgroup=vimGroupList
  407. syn match   vimGroupRem        contained    "remove="    nextgroup=vimGroupList
  408.  
  409. " Syntax: include
  410. syn keyword vimSynType        contained    include        skipwhite nextgroup=vimGroupList
  411.  
  412. " Syntax: keyword
  413. syn keyword vimSynType        contained    keyword        skipwhite nextgroup=vimSynKeyRegion
  414. syn region  vimSynKeyRegion    contained oneline matchgroup=vimGroupName start="\k\+" skip="\(\\\\\)*\\|" end="$\||" contains=vimSynNextgroup,vimSynKeyOpt
  415. syn match   vimSynKeyOpt    contained    "\<\(contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
  416.  
  417. " Syntax: match
  418. syn keyword vimSynType        contained    match    skipwhite nextgroup=vimSynMatchRegion
  419. syn region  vimSynMatchRegion    contained oneline keepend matchgroup=vimGroupName start="\k\+" end="$" contains=vimComment,vimSynContains,vimSynError,vimSynKeyOpt,vimSynNextgroup,vimSynRegPat
  420.  
  421. " Syntax: off
  422. syn keyword vimSynType        contained    off
  423.  
  424. " Syntax: region
  425. syn keyword vimSynType        contained    region    skipwhite nextgroup=vimSynRegion
  426. syn region  vimSynRegion    contained oneline matchgroup=vimGroupName start="\k\+" skip="\(\\\\\)*\\|" end="$\||" contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
  427. syn match   vimSynRegOpt    contained    "\<\(contained\|transparent\|skipempty\|skipwhite\|skipnl\|oneline\|keepend\)\>"
  428. syn match   vimSynReg        contained    "\(start\|skip\|end\)="he=e-1    nextgroup=vimSynRegPat
  429. syn match   vimSynMtchGrp    contained    "matchgroup="
  430. syn region  vimSynRegPat    contained oneline    start="!" skip="\(\\\\\)*\\!" end="!" contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  431. syn region  vimSynRegPat    contained oneline    start="%" skip="\(\\\\\)*\\-" end="%" contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  432. syn region  vimSynRegPat    contained oneline    start="'" skip="\(\\\\\)*\\'" end="'" contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  433. syn region  vimSynRegPat    contained oneline    start="+" skip="\(\\\\\)*\\+" end="+" contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  434. syn region  vimSynRegPat    contained oneline    start="@" skip="\(\\\\\)*\\@" end="@" contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  435. syn region  vimSynRegPat    contained oneline    start='"' skip='\(\\\\\)*\\"' end='"' contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  436. syn region  vimSynRegPat    contained oneline    start='/' skip='\(\\\\\)*\\/' end='/' contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  437. syn region  vimSynRegPat    contained oneline    start=',' skip='\(\\\\\)*\\,' end=',' contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  438. syn region  vimSynRegPat    contained oneline    start='\$' skip='\(\\\\\)*\\\$' end='\$' contains=vimPatSep,vimNotPatSep,vimSynPatRange nextgroup=vimSynPatMod
  439. syn match   vimSynPatMod    contained    "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+][0-9]\+\)\="
  440. syn match   vimSynPatMod    contained    "\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+][0-9]\+\)\=," nextgroup=vimSynPatMod
  441. syn match   vimSynPatMod    contained    "lc=[0-9]"
  442. syn match   vimSynPatMod    contained    "lc=[0-9]," nextgroup=vimSynPatMod
  443. syn region  vimSynPatRange    contained oneline start="\["    skip="\(\\\\\)*\\]"   end="]"
  444.  
  445. " Syntax: sync
  446. syn keyword vimSynType        contained    sync    skipwhite nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinecont
  447. syn match   vimSyncError    contained    "\i\+"
  448. syn keyword vimSyncC    contained    ccomment    clear
  449. syn keyword vimSyncMatch    contained    match    skipwhite nextgroup=vimSyncGroupName
  450. syn keyword vimSyncLinecont    contained    linecont    skipwhite nextgroup=vimSynRegPat
  451. syn match   vimSyncLines    contained    "\(minlines\|maxlines\|lines\)=" nextgroup=vimNumber
  452. syn match   vimSyncGroupName    contained    "\k\+" skipwhite nextgroup=vimSyncKey
  453. syn match   vimSyncKey        contained    "\<groupthere\|grouphere\>"    skipwhite nextgroup=vimSyncGroup
  454. syn match   vimSyncGroup    contained    "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
  455. syn keyword vimSyncNone        contained    NONE
  456.  
  457. " Additional IsCommand stuff, here by reasons of precedence
  458. " ====================
  459. syn match vimIsCommand    "<Bar>\s*[a-zA-Z]\+"    transparent contains=vimCommand,vimNotation
  460.  
  461. " Highlighting
  462. " ============
  463. syn match   vimHighlight    "^\s*\(highlight\|highligh\|highlig\|highli\|highl\|high\|hig\|hi\)"    skipwhite nextgroup=vimHiLink,vimHiClear,vimHiKeyList,vimComment
  464. syn match   vimHighlight    "[:|]\s*\(highlight\|highligh\|highlig\|highli\|highl\|high\|hig\|hi\)"    skipwhite nextgroup=vimHiLink,vimHiClear,vimHiKeyList,vimComment
  465. syn match   vimAuHighlight    contained    "\s+\(highlight\|highligh\|highlig\|highli\|highl\|high\|hig\|hi\)"    skipwhite nextgroup=vimHiLink,vimHiClear,vimHiKeyList,vimComment
  466.  
  467. syn match   vimHiGroup    contained    "\i\+"
  468. syn keyword vimHiAttrib    contained    NONE bold inverse italic reverse standout underline
  469. syn match   vimHiAttribList    contained    "\i\+"    contains=vimHiAttrib
  470. syn match   vimHiAttribList    contained    "\i\+,"he=e-1    contains=vimHiAttrib nextgroup=vimHiAttribList,vimHiAttrib
  471. syn case ignore
  472. syn keyword vimHiCtermColor    contained    black    darkcyan    darkred    lightcyan    lightred
  473. syn keyword vimHiCtermColor    contained    blue    darkgray    gray    lightgray    magenta
  474. syn keyword vimHiCtermColor    contained    brown    darkgreen    green    lightgreen    red
  475. syn keyword vimHiCtermColor    contained    cyan    darkgrey    grey    lightgrey    white
  476. syn keyword vimHiCtermColor    contained    darkBlue    darkmagenta    lightblue    lightmagenta    yellow
  477. syn case match
  478. syn match   vimHiFontname    contained    "[a-zA-z\-*]\+"
  479. syn match   vimHiGuiFontname    contained    "'[a-zA-z\-* ]\+'"
  480. syn match   vimHiGuiRgb    contained    "#\x\{6}"
  481. syn match   vimHiCtermError    contained    "[^0-9]\i*"
  482.  
  483. " Highlighting: hi group key=arg ...
  484. syn region vimHiKeyList    contained oneline start="\i\+" skip="\(\\\\\)*\\|" end="$\||"    contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError
  485. syn match  vimHiKeyError    contained    "\i\+="he=e-1
  486. syn match  vimHiTerm    contained    "term="he=e-1        nextgroup=vimHiAttribList
  487. syn match  vimHiStartStop    contained    "\(start\|stop\)="he=e-1    nextgroup=vimHiTermcap,vimOption
  488. syn match  vimHiCTerm    contained    "cterm="he=e-1        nextgroup=vimHiAttribList
  489. syn match  vimHiCtermFgBg    contained    "cterm[fb]g="he=e-1    nextgroup=vimNumber,vimHiCtermColor,vimHiCtermError
  490. syn match  vimHiGui    contained    "gui="he=e-1        nextgroup=vimHiAttribList
  491. syn match  vimHiGuiFont    contained    "font="he=e-1        nextgroup=vimHiFontname
  492. syn match  vimHiGuiFgBg    contained    "gui[fb]g="he=e-1    nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb
  493. syn match  vimHiTermcap    contained    "\S\+"        contains=vimNotation
  494.  
  495. " Highlight: clear
  496. syn keyword vimHiClear    contained    clear        nextgroup=vimHiGroup
  497.  
  498. " Highlight: link
  499. syn region vimHiLink    contained oneline matchgroup=vimCommand start="link" end="$"    contains=vimHiGroup,vimGroup
  500.  
  501. " Angle-Bracket Notation (tnx to Michael Geddes)
  502. " ======================
  503. syn case ignore
  504. syn match vimNotation    "<\([scam]-\)\{0,4}\(f[0-9]\{1,2}\|\S\|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
  505. syn match vimNotation    "<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\|drag\|release\)>" contains=vimBracket
  506. syn match vimNotation    "<\(nul\|bar\|bslash\|lt\)>"    contains=vimBracket
  507. syn match vimNotation    '<C-R>[0-9a-z"%#:.\-=]'he=e-1    contains=vimBracket
  508. syn match vimBracket contained    "[<>]"
  509. syn match vimBracket contained    "[<>]"
  510. syn case match
  511.  
  512. " Control Characters
  513. " ==================
  514. syn match vimCtrlChar    "[- -]"
  515.  
  516. " Highlighting Settings
  517. " ====================
  518. if !exists("did_vim_syntax_inits")
  519.   let did_vim_syntax_inits = 1
  520.  
  521.   " The default methods for highlighting.  Can be overridden later
  522.   hi link vimAuHighlight    vimHighlight
  523.  
  524.   hi link vimAddress    vimMark
  525.   hi link vimAutoCmdOpt    vimOption
  526.   hi link vimAutoSet    vimCommand
  527.   hi link vimBehaveError    vimError
  528.   hi link vimConditional    vimStatement
  529.   hi link vimErrSetting    vimError
  530.   hi link vimFilter    vimOper
  531.   hi link vimFunctionError    vimError
  532.   hi link vimGroupAdd    vimSynOption
  533.   hi link vimGroupRem    vimSynOption
  534.   hi link vimHLGroup    vimGroup
  535.   hi link vimHiAttribList    vimError
  536.   hi link vimHiCTerm    vimHiTerm
  537.   hi link vimHiCtermError    vimError
  538.   hi link vimHiCtermFgBg    vimHiTerm
  539.   hi link vimHiGroup    vimGroupName
  540.   hi link vimHiGui    vimHiTerm
  541.   hi link vimHiGuiFgBg    vimHiTerm
  542.   hi link vimHiGuiFont    vimHiTerm
  543.   hi link vimHiGuiRgb    vimNumber
  544.   hi link vimHiKeyError    vimError
  545.   hi link vimHiStartStop    vimHiTerm
  546.   hi link vimHighlight    vimCommand
  547.   hi link vimNotPatSep    vimString
  548.   hi link vimPlainMark    vimMark
  549.   hi link vimPlainRegister    vimRegister
  550.   hi link vimSetString    vimString
  551.   hi link vimSpecFileMod    vimSpecFile
  552.   hi link vimSynCaseError    vimError
  553.   hi link vimSynContains    vimSynOption
  554.   hi link vimSynKeyOpt    vimSynOption
  555.   hi link vimSynMtchGrp    vimSynOption
  556.   hi link vimSynNextgroup    vimSynOption
  557.   hi link vimSynPatRange    vimString
  558.   hi link vimSynRegOpt    vimSynOption
  559.   hi link vimSynRegPat    vimString
  560.   hi link vimSynType    vimSpecial
  561.   hi link vimSyncGroup    vimGroupName
  562.   hi link vimSyncGroupName    vimGroupName
  563.   hi link vimUserAttrb    vimSpecial
  564.   hi link vimUserAttrbCmplt    vimSpecial
  565.   hi link vimUserAttrbKey    vimOption
  566.   hi link vimUserCmd    vimCommand
  567.  
  568.   hi link vimAutoEvent    Type
  569.   hi link vimBracket    Delimiter
  570.   hi link vimCmplxRepeat    SpecialChar
  571.   hi link vimCommand    Statement
  572.   hi link vimComment    Comment
  573.   hi link vimCtrlChar    SpecialChar
  574.   hi link vimError    Error
  575.   hi link vimFuncName    Function
  576.   hi link vimFuncVar    Identifier
  577.   hi link vimGroup    Type
  578.   hi link vimGroupSpecial    Special
  579.   hi link vimHLMod    PreProc
  580.   hi link vimHiAttrib    PreProc
  581.   hi link vimHiTerm    Type
  582.   hi link vimKeyword    Statement
  583.   hi link vimMark    Number
  584.   hi link vimNotation    Special
  585.   hi link vimNumber    Number
  586.   hi link vimOper    Operator
  587.   hi link vimOption    PreProc
  588.   hi link vimPatSep    SpecialChar
  589.   hi link vimPattern    Type
  590.   hi link vimRegister    SpecialChar
  591.   hi link vimSpecFile    Identifier
  592.   hi link vimSpecial    Type
  593.   hi link vimStatement    Statement
  594.   hi link vimString    String
  595.   hi link vimSubstPat    SpecialChar
  596.   hi link vimSynCase    Type
  597.   hi link vimSynCaseError    Error
  598.   hi link vimSynError    Error
  599.   hi link vimSynOption    Special
  600.   hi link vimSynReg    Type
  601.   hi link vimSyncC    Type
  602.   hi link vimSyncError    Error
  603.   hi link vimSyncKey    Type
  604.   hi link vimSyncNone    Type
  605.   hi link vimTodo    Todo
  606. endif
  607.  
  608. let b:current_syntax = "vim"
  609.  
  610. " vim: ts=17
  611.