12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- " Vim syntax file
- " Language: Comshare Dimension Definition Language
- " Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net>
- " Last change: 2016 Sep 20
- " quit when a syntax file was already loaded
- if exists("b:current_syntax")
- finish
- endif
- sy case ignore
- sy sync fromstart
- sy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class
- sy keyword cdlType add update file category main altername removeall required notrequired
- sy keyword cdlConditional if then elseif else endif and or not cons rpt xlt
- sy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf
- sy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name
- sy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity
- sy match cdlIdentifier contained 'child\s*name'
- sy match cdlIdentifier contained 'parent\s*name'
- sy match cdlIdentifier contained 'grp\s*description'
- sy match cdlIdentifier contained 'grpchild\s*name'
- sy match cdlIdentifier contained 'grpparent\s*name'
- sy match cdlIdentifier contained 'preceding\s*member'
- sy match cdlIdentifier contained 'unit\s*name'
- sy match cdlIdentifier contained 'unit\s*id'
- sy match cdlIdentifier contained 'schedule\s*name'
- sy match cdlIdentifier contained 'schedule\s*id'
- sy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported
- sy match cdlRestricted contained /[&*,_]/
- " not supported
- sy match cdlNotSupported contained /[:"!']/
- sy keyword cdlTodo contained TODO FIXME XXX
- sy cluster cdlCommentGroup contains=cdlTodo
- sy match cdlComment '//.*' contains=@cdlCommentGroup
- sy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold
- sy match cdlCommentE "\*/"
- sy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported
- "sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE
- sy match cdlParenE ")"
- "sy match cdlParenWordE contained "\k\+"
- sy keyword cdlFxType allocation downfoot expr xltgain
- "sy keyword cdlFxType contained allocation downfoot expr xltgain
- "sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType
- set foldmethod=expr
- set foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1
- %foldo!
- set foldmethod=manual
- let b:match_words='\<if\>:\<then\>:\<elseif\>:\<else\>:\<endif\>'
- " Define the default highlighting.
- " Only when an item doesn't have highlighting yet
- hi def link cdlStatement Statement
- hi def link cdlType Type
- hi def link cdlFxType Type
- hi def link cdlIdentifier Identifier
- hi def link cdlString String
- hi def link cdlRestricted WarningMsg
- hi def link cdlNotSupported ErrorMsg
- hi def link cdlTodo Todo
- hi def link cdlComment Comment
- hi def link cdlCommentE ErrorMsg
- hi def link cdlParenE ErrorMsg
- hi def link cdlParenWordE ErrorMsg
- hi def link cdlFunction Function
- hi def link cdlConditional Conditional
- let b:current_syntax = "cdl"
- " vim: ts=8
|