1" Vim syntax file 2" Language: Comshare Dimension Definition Language 3" Maintainer: Raul Segura Acevedo <[email protected]> 4" Last change: 2001 Jul 31 5 6" quit when a syntax file was already loaded 7if exists("b:current_syntax") 8 finish 9endif 10 11sy case ignore 12sy sync fromstart 13sy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class 14sy keyword cdlType add update file category main altername removeall required notrequired 15sy keyword cdlConditional if then elseif else endif and or not cons rpt xlt 16sy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf 17 18sy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name 19sy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity 20sy match cdlIdentifier contained 'child\s*name' 21sy match cdlIdentifier contained 'parent\s*name' 22sy match cdlIdentifier contained 'grp\s*description' 23sy match cdlIdentifier contained 'grpchild\s*name' 24sy match cdlIdentifier contained 'grpparent\s*name' 25sy match cdlIdentifier contained 'preceding\s*member' 26sy match cdlIdentifier contained 'unit\s*name' 27sy match cdlIdentifier contained 'unit\s*id' 28sy match cdlIdentifier contained 'schedule\s*name' 29sy match cdlIdentifier contained 'schedule\s*id' 30 31sy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported 32sy match cdlRestricted contained /[&*,_]/ 33" not supported , [, ] 34sy match cdlNotSupported contained /[:"!']/ 35 36sy keyword cdlTodo contained TODO FIXME XXX 37sy cluster cdlCommentGroup contains=cdlTodo 38sy match cdlComment '//.*' contains=@cdlCommentGroup 39sy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold 40sy match cdlCommentE "\*/" 41 42sy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported 43"sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE 44sy match cdlParenE ")" 45"sy match cdlParenWordE contained "\k\+" 46 47sy keyword cdlFxType allocation downfoot expr xltgain 48"sy keyword cdlFxType contained allocation downfoot expr xltgain 49"sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType 50 51set foldmethod=expr 52set foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1 53%foldo! 54set foldmethod=manual 55let b:match_words='\<if\>:\<then\>:\<elseif\>:\<else\>:\<endif\>' 56 57" Define the default highlighting. 58" Only when an item doesn't have highlighting yet 59command -nargs=+ HiLink hi def link <args> 60 61HiLink cdlStatement Statement 62HiLink cdlType Type 63HiLink cdlFxType Type 64HiLink cdlIdentifier Identifier 65HiLink cdlString String 66HiLink cdlRestricted WarningMsg 67HiLink cdlNotSupported ErrorMsg 68HiLink cdlTodo Todo 69HiLink cdlComment Comment 70HiLink cdlCommentE ErrorMsg 71HiLink cdlParenE ErrorMsg 72HiLink cdlParenWordE ErrorMsg 73HiLink cdlFunction Function 74HiLink cdlConditional Conditional 75 76delcommand HiLink 77 78let b:current_syntax = "cdl" 79 80" vim: ts=8 81