xref: /vim-8.2.3635/runtime/syntax/cdl.vim (revision 50ba526f)
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