2 " Language: Comshare Dimension Definition Language
3 " Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net>
4 " Last change: 2001 Jul 31
8 elseif exists("b:current_syntax")
14 sy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class
15 sy keyword cdlType add update file category main altername removeall required notrequired
16 sy keyword cdlConditional if then elseif else endif and or not cons rpt xlt
17 sy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf
19 sy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name
20 sy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity
21 sy match cdlIdentifier contained 'child\s*name'
22 sy match cdlIdentifier contained 'parent\s*name'
23 sy match cdlIdentifier contained 'grp\s*description'
24 sy match cdlIdentifier contained 'grpchild\s*name'
25 sy match cdlIdentifier contained 'grpparent\s*name'
26 sy match cdlIdentifier contained 'preceding\s*member'
27 sy match cdlIdentifier contained 'unit\s*name'
28 sy match cdlIdentifier contained 'unit\s*id'
29 sy match cdlIdentifier contained 'schedule\s*name'
30 sy match cdlIdentifier contained 'schedule\s*id'
32 sy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported
33 sy match cdlRestricted contained /[&*,_]/
34 " not supported
\0, [, ]
35 sy match cdlNotSupported contained /[:"!']/
37 sy keyword cdlTodo contained TODO FIXME XXX
38 sy cluster cdlCommentGroup contains=cdlTodo
39 sy match cdlComment '//.*' contains=@cdlCommentGroup
40 sy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold
41 sy match cdlCommentE "\*/"
43 sy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported
44 "sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE
45 sy match cdlParenE ")"
46 "sy match cdlParenWordE contained "\k\+"
48 sy keyword cdlFxType allocation downfoot expr xltgain
49 "sy keyword cdlFxType contained allocation downfoot expr xltgain
50 "sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType
53 set foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1
56 let b:match_words='\<if\>:\<then\>:\<elseif\>:\<else\>:\<endif\>'
58 " Define the default highlighting.
59 " For version 5.7 and earlier: only when not done already
60 " For version 5.8 and later: only when an item doesn't have highlighting yet
61 if version >= 508 || !exists("did_csc_syntax_inits")
63 let did_csc_syntax_inits = 1
64 command -nargs=+ HiLink hi link <args>
66 command -nargs=+ HiLink hi def link <args>
69 HiLink cdlStatement Statement
72 HiLink cdlIdentifier Identifier
73 HiLink cdlString String
74 HiLink cdlRestricted WarningMsg
75 HiLink cdlNotSupported ErrorMsg
77 HiLink cdlComment Comment
78 HiLink cdlCommentE ErrorMsg
79 HiLink cdlParenE ErrorMsg
80 HiLink cdlParenWordE ErrorMsg
81 HiLink cdlFunction Function
82 HiLink cdlConditional Conditional
87 let b:current_syntax = "cdl"