Mercurial > vim
comparison runtime/syntax/csc.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 91e53bcb7946 |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
1 " Vim syntax file | |
2 " Language: Essbase script | |
3 " Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net> | |
4 " Last change: 2001 Sep 25 | |
5 | |
6 " For version 5.x: Clear all syntax items | |
7 " For version 6.x: Quit when a syntax file was already loaded | |
8 if version < 600 | |
9 syntax clear | |
10 elseif exists("b:current_syntax") | |
11 finish | |
12 endif | |
13 | |
14 " folds: fix/endfix and comments | |
15 sy region EssFold start="\<Fix" end="EndFix" transparent fold | |
16 | |
17 sy keyword cscTodo contained TODO FIXME XXX | |
18 | |
19 " cscCommentGroup allows adding matches for special things in comments | |
20 sy cluster cscCommentGroup contains=cscTodo | |
21 | |
22 " Strings in quotes | |
23 sy match cscError '"' | |
24 sy match cscString '"[^"]*"' | |
25 | |
26 "when wanted, highlight trailing white space | |
27 if exists("csc_space_errors") | |
28 if !exists("csc_no_trail_space_error") | |
29 sy match cscSpaceE "\s\+$" | |
30 endif | |
31 if !exists("csc_no_tab_space_error") | |
32 sy match cscSpaceE " \+\t"me=e-1 | |
33 endif | |
34 endif | |
35 | |
36 "catch errors caused by wrong parenthesis and brackets | |
37 sy cluster cscParenGroup contains=cscParenE,@cscCommentGroup,cscUserCont,cscBitField,cscFormat,cscNumber,cscFloat,cscOctal,cscNumbers,cscIfError,cscComW,cscCom,cscFormula,cscBPMacro | |
38 sy region cscParen transparent start='(' end=')' contains=ALLBUT,@cscParenGroup | |
39 sy match cscParenE ")" | |
40 | |
41 "integer number, or floating point number without a dot and with "f". | |
42 sy case ignore | |
43 sy match cscNumbers transparent "\<\d\|\.\d" contains=cscNumber,cscFloat,cscOctal | |
44 sy match cscNumber contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" | |
45 "hex number | |
46 sy match cscNumber contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" | |
47 " Flag the first zero of an octal number as something special | |
48 sy match cscOctal contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" | |
49 sy match cscFloat contained "\d\+f" | |
50 "floating point number, with dot, optional exponent | |
51 sy match cscFloat contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" | |
52 "floating point number, starting with a dot, optional exponent | |
53 sy match cscFloat contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" | |
54 "floating point number, without dot, with exponent | |
55 sy match cscFloat contained "\d\+e[-+]\=\d\+[fl]\=\>" | |
56 | |
57 sy region cscComment start="/\*" end="\*/" contains=@cscCommentGroup,cscSpaceE fold | |
58 sy match cscCommentE "\*/" | |
59 | |
60 sy keyword cscIfError IF ELSE ENDIF ELSEIF | |
61 sy keyword cscCondition contained IF ELSE ENDIF ELSEIF | |
62 sy keyword cscFunction contained VARPER VAR UDA TRUNCATE SYD SUMRANGE SUM | |
63 sy keyword cscFunction contained STDDEVRANGE STDDEV SPARENTVAL SLN SIBLINGS SHIFT | |
64 sy keyword cscFunction contained SANCESTVAL RSIBLINGS ROUND REMAINDER RELATIVE PTD | |
65 sy keyword cscFunction contained PRIOR POWER PARENTVAL NPV NEXT MOD MINRANGE MIN | |
66 sy keyword cscFunction contained MDSHIFT MDPARENTVAL MDANCESTVAL MAXRANGE MAX MATCH | |
67 sy keyword cscFunction contained LSIBLINGS LEVMBRS LEV | |
68 sy keyword cscFunction contained ISUDA ISSIBLING ISSAMELEV ISSAMEGEN ISPARENT ISMBR | |
69 sy keyword cscFunction contained ISLEV ISISIBLING ISIPARENT ISIDESC ISICHILD ISIBLINGS | |
70 sy keyword cscFunction contained ISIANCEST ISGEN ISDESC ISCHILD ISANCEST ISACCTYPE | |
71 sy keyword cscFunction contained IRSIBLINGS IRR INTEREST INT ILSIBLINGS IDESCENDANTS | |
72 sy keyword cscFunction contained ICHILDREN IANCESTORS IALLANCESTORS | |
73 sy keyword cscFunction contained GROWTH GENMBRS GEN FACTORIAL DISCOUNT DESCENDANTS | |
74 sy keyword cscFunction contained DECLINE CHILDREN CURRMBRRANGE CURLEV CURGEN | |
75 sy keyword cscFunction contained COMPOUNDGROWTH COMPOUND AVGRANGE AVG ANCESTVAL | |
76 sy keyword cscFunction contained ANCESTORS ALLANCESTORS ACCUM ABS | |
77 sy keyword cscFunction contained @VARPER @VAR @UDA @TRUNCATE @SYD @SUMRANGE @SUM | |
78 sy keyword cscFunction contained @STDDEVRANGE @STDDEV @SPARENTVAL @SLN @SIBLINGS @SHIFT | |
79 sy keyword cscFunction contained @SANCESTVAL @RSIBLINGS @ROUND @REMAINDER @RELATIVE @PTD | |
80 sy keyword cscFunction contained @PRIOR @POWER @PARENTVAL @NPV @NEXT @MOD @MINRANGE @MIN | |
81 sy keyword cscFunction contained @MDSHIFT @MDPARENTVAL @MDANCESTVAL @MAXRANGE @MAX @MATCH | |
82 sy keyword cscFunction contained @LSIBLINGS @LEVMBRS @LEV | |
83 sy keyword cscFunction contained @ISUDA @ISSIBLING @ISSAMELEV @ISSAMEGEN @ISPARENT @ISMBR | |
84 sy keyword cscFunction contained @ISLEV @ISISIBLING @ISIPARENT @ISIDESC @ISICHILD @ISIBLINGS | |
85 sy keyword cscFunction contained @ISIANCEST @ISGEN @ISDESC @ISCHILD @ISANCEST @ISACCTYPE | |
86 sy keyword cscFunction contained @IRSIBLINGS @IRR @INTEREST @INT @ILSIBLINGS @IDESCENDANTS | |
87 sy keyword cscFunction contained @ICHILDREN @IANCESTORS @IALLANCESTORS | |
88 sy keyword cscFunction contained @GROWTH @GENMBRS @GEN @FACTORIAL @DISCOUNT @DESCENDANTS | |
89 sy keyword cscFunction contained @DECLINE @CHILDREN @CURRMBRRANGE @CURLEV @CURGEN | |
90 sy keyword cscFunction contained @COMPOUNDGROWTH @COMPOUND @AVGRANGE @AVG @ANCESTVAL | |
91 sy keyword cscFunction contained @ANCESTORS @ALLANCESTORS @ACCUM @ABS | |
92 sy match cscFunction contained "@" | |
93 sy match cscError "@\s*\a*" contains=cscFunction | |
94 | |
95 sy match cscStatement "&" | |
96 sy keyword cscStatement AGG ARRAY VAR CCONV CLEARDATA DATACOPY | |
97 | |
98 sy match cscComE contained "^\s*CALC.*" | |
99 sy match cscComE contained "^\s*CLEARBLOCK.*" | |
100 sy match cscComE contained "^\s*SET.*" | |
101 sy match cscComE contained "^\s*FIX" | |
102 sy match cscComE contained "^\s*ENDFIX" | |
103 sy match cscComE contained "^\s*ENDLOOP" | |
104 sy match cscComE contained "^\s*LOOP" | |
105 " sy keyword cscCom FIX ENDFIX LOOP ENDLOOP | |
106 | |
107 sy match cscComW "^\s*CALC.*" | |
108 sy match cscCom "^\s*CALC\s*ALL" | |
109 sy match cscCom "^\s*CALC\s*AVERAGE" | |
110 sy match cscCom "^\s*CALC\s*DIM" | |
111 sy match cscCom "^\s*CALC\s*FIRST" | |
112 sy match cscCom "^\s*CALC\s*LAST" | |
113 sy match cscCom "^\s*CALC\s*TWOPASS" | |
114 | |
115 sy match cscComW "^\s*CLEARBLOCK.*" | |
116 sy match cscCom "^\s*CLEARBLOCK\s\+ALL" | |
117 sy match cscCom "^\s*CLEARBLOCK\s\+UPPER" | |
118 sy match cscCom "^\s*CLEARBLOCK\s\+NONINPUT" | |
119 | |
120 sy match cscComW "^\s*\<SET.*" | |
121 sy match cscCom "^\s*\<SET\s\+Commands" | |
122 sy match cscCom "^\s*\<SET\s\+AGGMISSG" | |
123 sy match cscCom "^\s*\<SET\s\+CACHE" | |
124 sy match cscCom "^\s*\<SET\s\+CALCHASHTBL" | |
125 sy match cscCom "^\s*\<SET\s\+CLEARUPDATESTATUS" | |
126 sy match cscCom "^\s*\<SET\s\+FRMLBOTTOMUP" | |
127 sy match cscCom "^\s*\<SET\s\+LOCKBLOCK" | |
128 sy match cscCom "^\s*\<SET\s\+MSG" | |
129 sy match cscCom "^\s*\<SET\s\+NOTICE" | |
130 sy match cscCom "^\s*\<SET\s\+UPDATECALC" | |
131 sy match cscCom "^\s*\<SET\s\+UPTOLOCAL" | |
132 | |
133 sy keyword cscBPMacro contained !LoopOnAll !LoopOnLevel !LoopOnSelected | |
134 sy keyword cscBPMacro contained !CurrentMember !LoopOnDimensions !CurrentDimension | |
135 sy keyword cscBPMacro contained !CurrentOtherLoopDimension !LoopOnOtherLoopDimensions | |
136 sy keyword cscBPMacro contained !EndLoop !AllMembers !SelectedMembers !If !Else !EndIf | |
137 sy keyword cscBPMacro contained LoopOnAll LoopOnLevel LoopOnSelected | |
138 sy keyword cscBPMacro contained CurrentMember LoopOnDimensions CurrentDimension | |
139 sy keyword cscBPMacro contained CurrentOtherLoopDimension LoopOnOtherLoopDimensions | |
140 sy keyword cscBPMacro contained EndLoop AllMembers SelectedMembers If Else EndIf | |
141 sy match cscBPMacro contained "!" | |
142 sy match cscBPW "!\s*\a*" contains=cscBPmacro | |
143 | |
144 " when wanted, highlighting lhs members or erros in asignments (may lag the editing) | |
145 if version >= 600 && exists("csc_asignment") | |
146 sy match cscEqError '\("[^"]*"\s*\|[^][\t !%()*+,--/:;<=>{}~]\+\s*\|->\s*\)*=\([^=]\@=\|$\)' | |
147 sy region cscFormula transparent matchgroup=cscVarName start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\s*=\([^=]\@=\|\n\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition | |
148 sy region cscFormulaIn matchgroup=cscVarName transparent start='\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\(->\("[^"]*"\|[^][\t !%()*+,--/:;<=>{}~]\+\)\)*\s*=\([^=]\@=\|$\)' skip='"[^"]*"' end=';' contains=ALLBUT,cscFormula,cscFormulaIn,cscBPMacro,cscCondition contained | |
149 sy match cscEq "==" | |
150 endif | |
151 | |
152 if !exists("csc_minlines") | |
153 let csc_minlines = 50 " mostly for () constructs | |
154 endif | |
155 exec "sy sync ccomment cscComment minlines=" . csc_minlines | |
156 | |
157 " Define the default highlighting. | |
158 " For version 5.7 and earlier: only when not done already | |
159 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
160 if version >= 508 || !exists("did_csc_syntax_inits") | |
161 if version < 508 | |
162 let did_csc_syntax_inits = 1 | |
163 command -nargs=+ HiLink hi link <args> | |
164 else | |
165 command -nargs=+ HiLink hi def link <args> | |
166 endif | |
167 | |
168 hi cscVarName term=bold ctermfg=9 gui=bold guifg=blue | |
169 | |
170 HiLink cscNumber Number | |
171 HiLink cscOctal Number | |
172 HiLink cscFloat Float | |
173 HiLink cscParenE Error | |
174 HiLink cscCommentE Error | |
175 HiLink cscSpaceE Error | |
176 HiLink cscError Error | |
177 HiLink cscString String | |
178 HiLink cscComment Comment | |
179 HiLink cscTodo Todo | |
180 HiLink cscStatement Statement | |
181 HiLink cscIfError Error | |
182 HiLink cscEqError Error | |
183 HiLink cscFunction Statement | |
184 HiLink cscCondition Statement | |
185 HiLink cscWarn WarningMsg | |
186 | |
187 HiLink cscComE Error | |
188 HiLink cscCom Statement | |
189 HiLink cscComW WarningMsg | |
190 | |
191 HiLink cscBPMacro Identifier | |
192 HiLink cscBPW WarningMsg | |
193 | |
194 delcommand HiLink | |
195 endif | |
196 | |
197 let b:current_syntax = "csc" | |
198 | |
199 " vim: ts=8 |