1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Comshare Dimension Definition Language 3071d4279SBram Moolenaar" Maintainer: Raul Segura Acevedo <[email protected]> 4*50ba526fSBram Moolenaar" Last change: 2016 Sep 20 5071d4279SBram Moolenaar 689bcfda6SBram Moolenaar" quit when a syntax file was already loaded 789bcfda6SBram Moolenaarif exists("b:current_syntax") 8071d4279SBram Moolenaar finish 9071d4279SBram Moolenaarendif 10071d4279SBram Moolenaar 11071d4279SBram Moolenaarsy case ignore 12071d4279SBram Moolenaarsy sync fromstart 13071d4279SBram Moolenaarsy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class 14071d4279SBram Moolenaarsy keyword cdlType add update file category main altername removeall required notrequired 15071d4279SBram Moolenaarsy keyword cdlConditional if then elseif else endif and or not cons rpt xlt 16071d4279SBram Moolenaarsy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf 17071d4279SBram Moolenaar 18071d4279SBram Moolenaarsy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name 19071d4279SBram Moolenaarsy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity 20071d4279SBram Moolenaarsy match cdlIdentifier contained 'child\s*name' 21071d4279SBram Moolenaarsy match cdlIdentifier contained 'parent\s*name' 22071d4279SBram Moolenaarsy match cdlIdentifier contained 'grp\s*description' 23071d4279SBram Moolenaarsy match cdlIdentifier contained 'grpchild\s*name' 24071d4279SBram Moolenaarsy match cdlIdentifier contained 'grpparent\s*name' 25071d4279SBram Moolenaarsy match cdlIdentifier contained 'preceding\s*member' 26071d4279SBram Moolenaarsy match cdlIdentifier contained 'unit\s*name' 27071d4279SBram Moolenaarsy match cdlIdentifier contained 'unit\s*id' 28071d4279SBram Moolenaarsy match cdlIdentifier contained 'schedule\s*name' 29071d4279SBram Moolenaarsy match cdlIdentifier contained 'schedule\s*id' 30071d4279SBram Moolenaar 31071d4279SBram Moolenaarsy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported 32071d4279SBram Moolenaarsy match cdlRestricted contained /[&*,_]/ 33*50ba526fSBram Moolenaar" not supported 34071d4279SBram Moolenaarsy match cdlNotSupported contained /[:"!']/ 35071d4279SBram Moolenaar 36071d4279SBram Moolenaarsy keyword cdlTodo contained TODO FIXME XXX 37071d4279SBram Moolenaarsy cluster cdlCommentGroup contains=cdlTodo 38071d4279SBram Moolenaarsy match cdlComment '//.*' contains=@cdlCommentGroup 39071d4279SBram Moolenaarsy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold 40071d4279SBram Moolenaarsy match cdlCommentE "\*/" 41071d4279SBram Moolenaar 42071d4279SBram Moolenaarsy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported 43071d4279SBram Moolenaar"sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE 44071d4279SBram Moolenaarsy match cdlParenE ")" 45071d4279SBram Moolenaar"sy match cdlParenWordE contained "\k\+" 46071d4279SBram Moolenaar 47071d4279SBram Moolenaarsy keyword cdlFxType allocation downfoot expr xltgain 48071d4279SBram Moolenaar"sy keyword cdlFxType contained allocation downfoot expr xltgain 49071d4279SBram Moolenaar"sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType 50071d4279SBram Moolenaar 51071d4279SBram Moolenaarset foldmethod=expr 52071d4279SBram Moolenaarset foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1 53071d4279SBram Moolenaar%foldo! 54071d4279SBram Moolenaarset foldmethod=manual 55071d4279SBram Moolenaarlet b:match_words='\<if\>:\<then\>:\<elseif\>:\<else\>:\<endif\>' 56071d4279SBram Moolenaar 57071d4279SBram Moolenaar" Define the default highlighting. 5889bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 59071d4279SBram Moolenaar 60f37506f6SBram Moolenaarhi def link cdlStatement Statement 61f37506f6SBram Moolenaarhi def link cdlType Type 62f37506f6SBram Moolenaarhi def link cdlFxType Type 63f37506f6SBram Moolenaarhi def link cdlIdentifier Identifier 64f37506f6SBram Moolenaarhi def link cdlString String 65f37506f6SBram Moolenaarhi def link cdlRestricted WarningMsg 66f37506f6SBram Moolenaarhi def link cdlNotSupported ErrorMsg 67f37506f6SBram Moolenaarhi def link cdlTodo Todo 68f37506f6SBram Moolenaarhi def link cdlComment Comment 69f37506f6SBram Moolenaarhi def link cdlCommentE ErrorMsg 70f37506f6SBram Moolenaarhi def link cdlParenE ErrorMsg 71f37506f6SBram Moolenaarhi def link cdlParenWordE ErrorMsg 72f37506f6SBram Moolenaarhi def link cdlFunction Function 73f37506f6SBram Moolenaarhi def link cdlConditional Conditional 74071d4279SBram Moolenaar 75071d4279SBram Moolenaar 76071d4279SBram Moolenaarlet b:current_syntax = "cdl" 77071d4279SBram Moolenaar 78071d4279SBram Moolenaar" vim: ts=8 79