Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/vim73/syntax/dcl.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim73/syntax/dcl.vim')
-rw-r--r--vim73/syntax/dcl.vim164
1 files changed, 164 insertions, 0 deletions
diff --git a/vim73/syntax/dcl.vim b/vim73/syntax/dcl.vim
new file mode 100644
index 0000000..b051b08
--- /dev/null
+++ b/vim73/syntax/dcl.vim
@@ -0,0 +1,164 @@
+" Vim syntax file
+" Language: DCL (Digital Command Language - vms)
+" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
+" Last Change: Sep 11, 2006
+" Version: 6
+" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+if version < 600
+ set iskeyword=$,@,48-57,_
+else
+ setlocal iskeyword=$,@,48-57,_
+endif
+
+syn case ignore
+syn keyword dclInstr accounting del[ete] gen[cat] mou[nt] run
+syn keyword dclInstr all[ocate] dep[osit] gen[eral] ncp run[off]
+syn keyword dclInstr ana[lyze] dia[gnose] gos[ub] ncs sca
+syn keyword dclInstr app[end] dif[ferences] got[o] on sea[rch]
+syn keyword dclInstr ass[ign] dir[ectory] hel[p] ope[n] set
+syn keyword dclInstr att[ach] dis[able] ico[nv] pas[cal] sho[w]
+syn keyword dclInstr aut[horize] dis[connect] if pas[sword] sor[t]
+syn keyword dclInstr aut[ogen] dis[mount] ini[tialize] pat[ch] spa[wn]
+syn keyword dclInstr bac[kup] dpm[l] inq[uire] pca sta[rt]
+syn keyword dclInstr cal[l] dqs ins[tall] pho[ne] sto[p]
+syn keyword dclInstr can[cel] dsr job pri[nt] sub[mit]
+syn keyword dclInstr cc dst[graph] lat[cp] pro[duct] sub[routine]
+syn keyword dclInstr clo[se] dtm lib[rary] psw[rap] swx[cr]
+syn keyword dclInstr cms dum[p] lic[ense] pur[ge] syn[chronize]
+syn keyword dclInstr con[nect] edi[t] lin[k] qde[lete] sys[gen]
+syn keyword dclInstr con[tinue] ena[ble] lmc[p] qse[t] sys[man]
+syn keyword dclInstr con[vert] end[subroutine] loc[ale] qsh[ow] tff
+syn keyword dclInstr cop[y] eod log[in] rea[d] then
+syn keyword dclInstr cre[ate] eoj log[out] rec[all] typ[e]
+syn keyword dclInstr cxx exa[mine] lse[dit] rec[over] uil
+syn keyword dclInstr cxx[l_help] exc[hange] mac[ro] ren[ame] unl[ock]
+syn keyword dclInstr dea[llocate] exi[t] mai[l] rep[ly] ves[t]
+syn keyword dclInstr dea[ssign] fdl mer[ge] req[uest] vie[w]
+syn keyword dclInstr deb[ug] flo[wgraph] mes[sage] ret[urn] wai[t]
+syn keyword dclInstr dec[k] fon[t] mms rms wri[te]
+syn keyword dclInstr def[ine] for[tran]
+
+syn keyword dclLexical f$context f$edit f$getjpi f$message f$setprv
+syn keyword dclLexical f$csid f$element f$getqui f$mode f$string
+syn keyword dclLexical f$cvsi f$environment f$getsyi f$parse f$time
+syn keyword dclLexical f$cvtime f$extract f$identifier f$pid f$trnlnm
+syn keyword dclLexical f$cvui f$fao f$integer f$privilege f$type
+syn keyword dclLexical f$device f$file_attributes f$length f$process f$user
+syn keyword dclLexical f$directory f$getdvi f$locate f$search f$verify
+
+syn match dclMdfy "/\I\i*" nextgroup=dclMdfySet,dclMdfySetString
+syn match dclMdfySet "=[^ \t"]*" contained
+syn region dclMdfySet matchgroup=dclMdfyBrkt start="=\[" matchgroup=dclMdfyBrkt end="]" contains=dclMdfySep
+syn region dclMdfySetString start='="' skip='""' end='"' contained
+syn match dclMdfySep "[:,]" contained
+
+" Numbers
+syn match dclNumber "\d\+"
+
+" Varname (mainly to prevent dclNumbers from being recognized when part of a dclVarname)
+syn match dclVarname "\I\i*"
+
+" Filenames (devices, paths)
+syn match dclDevice "\I\i*\(\$\I\i*\)\=:[^=]"me=e-1 nextgroup=dclDirPath,dclFilename
+syn match dclDirPath "\[\(\I\i*\.\)*\I\i*\]" contains=dclDirSep nextgroup=dclFilename
+syn match dclFilename "\I\i*\$\(\I\i*\)\=\.\(\I\i*\)*\(;\d\+\)\=" contains=dclDirSep
+syn match dclFilename "\I\i*\.\(\I\i*\)\=\(;\d\+\)\=" contains=dclDirSep contained
+syn match dclDirSep "[[\].;]"
+
+" Strings
+syn region dclString start='"' skip='""' end='"' contains=@Spell
+
+" $ stuff and comments
+syn cluster dclCommentGroup contains=dclStart,dclTodo,@Spell
+syn match dclStart "^\$" skipwhite nextgroup=dclExe
+syn match dclContinue "-$"
+syn match dclComment "^\$!.*$" contains=@dclCommentGroup
+syn match dclExe "\I\i*" contained
+syn keyword dclTodo contained COMBAK DEBUG FIXME TODO XXX
+
+" Assignments and Operators
+syn match dclAssign ":==\="
+syn match dclAssign "="
+syn match dclOper "--\|+\|\*\|/"
+syn match dclLogOper "\.[a-zA-Z][a-zA-Z][a-zA-Z]\=\." contains=dclLogical,dclLogSep
+syn keyword dclLogical contained and ge gts lt nes
+syn keyword dclLogical contained eq ges le lts not
+syn keyword dclLogical contained eqs gt les ne or
+syn match dclLogSep "\." contained
+
+" @command procedures
+syn match dclCmdProcStart "@" nextgroup=dclCmdProc
+syn match dclCmdProc "\I\i*\(\.\I\i*\)\=" contained
+syn match dclCmdProc "\I\i*:" contained nextgroup=dclCmdDirPath,dclCmdProc
+syn match dclCmdDirPath "\[\(\I\i*\.\)*\I\i*\]" contained nextgroup=delCmdProc
+
+" labels
+syn match dclGotoLabel "^\$\s*\I\i*:\s*$" contains=dclStart
+
+" parameters
+syn match dclParam "'\I[a-zA-Z0-9_$]*'\="
+
+" () matching (the clusters are commented out until a vim/vms comes out for v5.2+)
+"syn cluster dclNextGroups contains=dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo
+"syn region dclFuncList matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,@dclNextGroups
+syn region dclFuncList matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,dclCmdDirPath,dclCmdProc,dclCmdProc,dclDirPath,dclFilename,dclFilename,dclMdfySet,dclMdfySetString,delCmdProc,dclExe,dclTodo
+syn match dclError ")"
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_dcl_syntax_inits")
+ if version < 508
+ let did_dcl_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink dclLogOper dclError
+ HiLink dclLogical dclOper
+ HiLink dclLogSep dclSep
+
+ HiLink dclAssign Operator
+ HiLink dclCmdProc Special
+ HiLink dclCmdProcStart Operator
+ HiLink dclComment Comment
+ HiLink dclContinue Statement
+ HiLink dclDevice Identifier
+ HiLink dclDirPath Identifier
+ HiLink dclDirPath Identifier
+ HiLink dclDirSep Delimiter
+ HiLink dclError Error
+ HiLink dclExe Statement
+ HiLink dclFilename NONE
+ HiLink dclGotoLabel Label
+ HiLink dclInstr Statement
+ HiLink dclLexical Function
+ HiLink dclMdfy Type
+ HiLink dclMdfyBrkt Delimiter
+ HiLink dclMdfySep Delimiter
+ HiLink dclMdfySet Type
+ HiLink dclMdfySetString String
+ HiLink dclNumber Number
+ HiLink dclOper Operator
+ HiLink dclParam Special
+ HiLink dclSep Delimiter
+ HiLink dclStart Delimiter
+ HiLink dclString String
+ HiLink dclTodo Todo
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "dcl"
+
+" vim: ts=16