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

  1. " Vim syntax file
  2. " Language   : DCL (Digital Command Language - vms)
  3. " Maintainer : Dr. Charles E. Campbell, Jr. <Charles.Campbell@gsfc.nasa.gov>
  4. " Last change: May 14, 1998
  5.  
  6. " Removes any old syntax stuff hanging around
  7. syn clear
  8.  
  9. set iskeyword=$,@,48-57,_
  10.  
  11. syn case ignore
  12. syn keyword dclInstr    accounting    del[ete]    gen[cat]    mou[nt]    run
  13. syn keyword dclInstr    all[ocate]    dep[osit]    gen[eral]    ncp    run[off]
  14. syn keyword dclInstr    ana[lyze]    dia[gnose]    gos[ub]    ncs    sca
  15. syn keyword dclInstr    app[end]    dif[ferences]    got[o]    on    sea[rch]
  16. syn keyword dclInstr    ass[ign]    dir[ectory]    hel[p]    ope[n]    set
  17. syn keyword dclInstr    att[ach]    dis[able]    ico[nv]    pas[cal]    sho[w]
  18. syn keyword dclInstr    aut[horize]    dis[connect]    if    pas[sword]    sor[t]
  19. syn keyword dclInstr    aut[ogen]    dis[mount]    ini[tialize]    pat[ch]    spa[wn]
  20. syn keyword dclInstr    bac[kup]    dpm[l]    inq[uire]    pca    sta[rt]
  21. syn keyword dclInstr    cal[l]    dqs    ins[tall]    pho[ne]    sto[p]
  22. syn keyword dclInstr    can[cel]    dsr    job    pri[nt]    sub[mit]
  23. syn keyword dclInstr    cc    dst[graph]    lat[cp]    pro[duct]    sub[routine]
  24. syn keyword dclInstr    clo[se]    dtm    lib[rary]    psw[rap]    swx[cr]
  25. syn keyword dclInstr    cms    dum[p]    lic[ense]    pur[ge]    syn[chronize]
  26. syn keyword dclInstr    con[nect]    edi[t]    lin[k]    qde[lete]    sys[gen]
  27. syn keyword dclInstr    con[tinue]    ena[ble]    lmc[p]    qse[t]    sys[man]
  28. syn keyword dclInstr    con[vert]    end[subroutine]    loc[ale]    qsh[ow]    tff
  29. syn keyword dclInstr    cop[y]    eod    log[in]    rea[d]    then
  30. syn keyword dclInstr    cre[ate]    eoj    log[out]    rec[all]    typ[e]
  31. syn keyword dclInstr    cxx    exa[mine]    lse[dit]    rec[over]    uil
  32. syn keyword dclInstr    cxx[l_help]    exc[hange]    mac[ro]    ren[ame]    unl[ock]
  33. syn keyword dclInstr    dea[llocate]    exi[t]    mai[l]    rep[ly]    ves[t]
  34. syn keyword dclInstr    dea[ssign]    fdl    mer[ge]    req[uest]    vie[w]
  35. syn keyword dclInstr    deb[ug]    flo[wgraph]    mes[sage]    ret[urn]    wai[t]
  36. syn keyword dclInstr    dec[k]    fon[t]    mms    rms    wri[te]
  37. syn keyword dclInstr    def[ine]    for[tran]
  38.  
  39. syn keyword dclLexical    f$context    f$edit      f$getjpi    f$message    f$setprv
  40. syn keyword dclLexical    f$csid    f$element      f$getqui    f$mode    f$string
  41. syn keyword dclLexical    f$cvsi    f$environment      f$getsyi    f$parse    f$time
  42. syn keyword dclLexical    f$cvtime    f$extract      f$identifier    f$pid    f$trnlnm
  43. syn keyword dclLexical    f$cvui    f$fao      f$integer    f$privilege    f$type
  44. syn keyword dclLexical    f$device    f$file_attributes f$length    f$process    f$user
  45. syn keyword dclLexical    f$directory    f$getdvi      f$locate    f$search    f$verify
  46.  
  47. syn match   dclMdfy    "/\I\i*"    nextgroup=dclMdfySet,dclMdfySetString
  48. syn match   dclMdfySet    "=[^ \t"]*"    contained
  49. syn region  dclMdfySet    matchgroup=dclMdfyBrkt start="=\[" matchgroup=dclMdfyBrkt end="]"    contains=dclMdfySep
  50. syn region  dclMdfySetString    start='="'    skip='""'    end='"'    contained
  51. syn match   dclMdfySep    "[:,]"    contained
  52.  
  53. " Numbers
  54. syn match   dclNumber    "\d\+"
  55.  
  56. " Varname (mainly to prevent dclNumbers from being recognized when part of a dclVarname)
  57. syn match   dclVarname    "\I\i*"
  58.  
  59. " Filenames (devices, paths)
  60. syn match   dclDevice    "\I\i*\(\$\I\i*\)\=:[^=]"me=e-1        nextgroup=dclDirPath,dclFilename
  61. syn match   dclDirPath    "\[\(\I\i*\.\)*\I\i*\]"        contains=dclDirSep    nextgroup=dclFilename
  62. syn match   dclFilename    "\I\i*\$\(\I\i*\)\=\.\(\I\i*\)*\(;\d\+\)\="    contains=dclDirSep
  63. syn match   dclFilename    "\I\i*\.\(\I\i*\)\=\(;\d\+\)\="    contains=dclDirSep    contained
  64. syn match   dclDirSep    "[[\].;]"
  65.  
  66. " Strings
  67. syn region  dclString    start='"'    skip='""'    end='"'
  68.  
  69. " $ stuff and comments
  70. syn match   dclStart    "^\$"    skipwhite nextgroup=dclExe
  71. syn match   dclComment    "^\$!.*$"    contains=dclStart,dclTodo
  72. syn match   dclExe    "\I\i*"    contained
  73. syn match   dclTodo    "DEBUG\|TODO"    contained
  74.  
  75. " Assignments and Operators
  76. syn match   dclAssign    ":==\="
  77. syn match   dclAssign    "="
  78. syn match   dclOper    "--\|+\|\*\|/"
  79. syn match   dclLogOper    "\.[a-zA-Z][a-zA-Z][a-zA-Z]\=\." contains=dclLogical,dclLogSep
  80. syn keyword dclLogical contained    and    ge    gts    lt    nes
  81. syn keyword dclLogical contained    eq    ges    le    lts    not
  82. syn keyword dclLogical contained    eqs    gt    les    ne    or
  83. syn match   dclLogSep    "\."        contained
  84.  
  85. " @command procedures
  86. syn match   dclCmdProcStart    "@"            nextgroup=dclCmdProc
  87. syn match   dclCmdProc    "\I\i*\(\.\I\i*\)\="    contained
  88. syn match   dclCmdProc    "\I\i*:"        contained    nextgroup=dclCmdDirPath,dclCmdProc
  89. syn match   dclCmdDirPath    "\[\(\I\i*\.\)*\I\i*\]"    contained    nextgroup=delCmdProc
  90.  
  91. " labels
  92. syn match   dclGotoLabel    "^\$\s*\I\i*:\s*$"    contains=dclStart
  93.  
  94. " parameters
  95. syn match   dclParam    "'\I[a-zA-Z0-9_$]*'\="
  96.  
  97. " () matching (the clusters are commented out until a vim/vms comes out for v5.2+)
  98. "syn cluster dclNextGroups    contains=dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo
  99. "syn region  dclFuncList    matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,@dclNextGroups
  100. syn region  dclFuncList    matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo
  101. syn match   dclError    ")"
  102.  
  103. if !exists("did_dcl_syntax_inits")
  104.  let did_dcl_syntax_inits = 1
  105.  hi link dclLogOper    dclError
  106.  hi link dclLogical    dclOper
  107.  hi link dclLogSep    dclSep
  108.  
  109.  hi link dclAssign    Operator
  110.  hi link dclCmdProc    Special
  111.  hi link dclCmdProcStart    Operator
  112.  hi link dclComment    Comment
  113.  hi link dclDevice    Identifier
  114.  hi link dclDirPath    Identifier
  115.  hi link dclDirPath    Identifier
  116.  hi link dclDirSep    Delimiter
  117.  hi link dclError    Error
  118.  hi link dclExe        Statement
  119.  hi link dclFilename    NONE
  120.  hi link dclGotoLabel    Label
  121.  hi link dclInstr    Statement
  122.  hi link dclLexical    Function
  123.  hi link dclMdfy    Type
  124.  hi link dclMdfyBrkt    Delimiter
  125.  hi link dclMdfySep    Delimiter
  126.  hi link dclMdfySet    Type
  127.  hi link dclMdfySetString    String
  128.  hi link dclNumber    Number
  129.  hi link dclOper    Operator
  130.  hi link dclParam    Special
  131.  hi link dclSep        Delimiter
  132.  hi link dclStart    Delimiter
  133.  hi link dclString    String
  134.  hi link dclTodo    Todo
  135. endif
  136.  
  137. let b:current_syntax = "dcl"
  138.  
  139. " vim: ts=16
  140.