]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/excel.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / excel.js
1 /*! `excel` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: Excel formulae
7 Author: Victor Zhou <OiCMudkips@users.noreply.github.com>
8 Description: Excel formulae
9 Website: https://products.office.com/en-us/excel/
10 Category: enterprise
11 */
12
13 /** @type LanguageFn */
14 function excel(hljs) {
15 // built-in functions imported from https://web.archive.org/web/20241205190205/https://support.microsoft.com/en-us/office/excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188
16 const BUILT_INS = [
17 "ABS",
18 "ACCRINT",
19 "ACCRINTM",
20 "ACOS",
21 "ACOSH",
22 "ACOT",
23 "ACOTH",
24 "AGGREGATE",
25 "ADDRESS",
26 "AMORDEGRC",
27 "AMORLINC",
28 "AND",
29 "ARABIC",
30 "AREAS",
31 "ARRAYTOTEXT",
32 "ASC",
33 "ASIN",
34 "ASINH",
35 "ATAN",
36 "ATAN2",
37 "ATANH",
38 "AVEDEV",
39 "AVERAGE",
40 "AVERAGEA",
41 "AVERAGEIF",
42 "AVERAGEIFS",
43 "BAHTTEXT",
44 "BASE",
45 "BESSELI",
46 "BESSELJ",
47 "BESSELK",
48 "BESSELY",
49 "BETADIST",
50 "BETA.DIST",
51 "BETAINV",
52 "BETA.INV",
53 "BIN2DEC",
54 "BIN2HEX",
55 "BIN2OCT",
56 "BINOMDIST",
57 "BINOM.DIST",
58 "BINOM.DIST.RANGE",
59 "BINOM.INV",
60 "BITAND",
61 "BITLSHIFT",
62 "BITOR",
63 "BITRSHIFT",
64 "BITXOR",
65 "BYCOL",
66 "BYROW",
67 "CALL",
68 "CEILING",
69 "CEILING.MATH",
70 "CEILING.PRECISE",
71 "CELL",
72 "CHAR",
73 "CHIDIST",
74 "CHIINV",
75 "CHITEST",
76 "CHISQ.DIST",
77 "CHISQ.DIST.RT",
78 "CHISQ.INV",
79 "CHISQ.INV.RT",
80 "CHISQ.TEST",
81 "CHOOSE",
82 "CHOOSECOLS",
83 "CHOOSEROWS",
84 "CLEAN",
85 "CODE",
86 "COLUMN",
87 "COLUMNS",
88 "COMBIN",
89 "COMBINA",
90 "COMPLEX",
91 "CONCAT",
92 "CONCATENATE",
93 "CONFIDENCE",
94 "CONFIDENCE.NORM",
95 "CONFIDENCE.T",
96 "CONVERT",
97 "CORREL",
98 "COS",
99 "COSH",
100 "COT",
101 "COTH",
102 "COUNT",
103 "COUNTA",
104 "COUNTBLANK",
105 "COUNTIF",
106 "COUNTIFS",
107 "COUPDAYBS",
108 "COUPDAYS",
109 "COUPDAYSNC",
110 "COUPNCD",
111 "COUPNUM",
112 "COUPPCD",
113 "COVAR",
114 "COVARIANCE.P",
115 "COVARIANCE.S",
116 "CRITBINOM",
117 "CSC",
118 "CSCH",
119 "CUBEKPIMEMBER",
120 "CUBEMEMBER",
121 "CUBEMEMBERPROPERTY",
122 "CUBERANKEDMEMBER",
123 "CUBESET",
124 "CUBESETCOUNT",
125 "CUBEVALUE",
126 "CUMIPMT",
127 "CUMPRINC",
128 "DATE",
129 "DATEDIF",
130 "DATEVALUE",
131 "DAVERAGE",
132 "DAY",
133 "DAYS",
134 "DAYS360",
135 "DB",
136 "DBCS",
137 "DCOUNT",
138 "DCOUNTA",
139 "DDB",
140 "DEC2BIN",
141 "DEC2HEX",
142 "DEC2OCT",
143 "DECIMAL",
144 "DEGREES",
145 "DELTA",
146 "DEVSQ",
147 "DGET",
148 "DISC",
149 "DMAX",
150 "DMIN",
151 "DOLLAR",
152 "DOLLARDE",
153 "DOLLARFR",
154 "DPRODUCT",
155 "DROP",
156 "DSTDEV",
157 "DSTDEVP",
158 "DSUM",
159 "DURATION",
160 "DVAR",
161 "DVARP",
162 "EDATE",
163 "EFFECT",
164 "ENCODEURL",
165 "EOMONTH",
166 "ERF",
167 "ERF.PRECISE",
168 "ERFC",
169 "ERFC.PRECISE",
170 "ERROR.TYPE",
171 "EUROCONVERT",
172 "EVEN",
173 "EXACT",
174 "EXP",
175 "EXPAND",
176 "EXPON.DIST",
177 "EXPONDIST",
178 "FACT",
179 "FACTDOUBLE",
180 "FALSE",
181 "F.DIST",
182 "FDIST",
183 "F.DIST.RT",
184 "FILTER",
185 "FILTERXML",
186 "FIND",
187 "FINDB",
188 "F.INV",
189 "F.INV.RT",
190 "FINV",
191 "FISHER",
192 "FISHERINV",
193 "FIXED",
194 "FLOOR",
195 "FLOOR.MATH",
196 "FLOOR.PRECISE",
197 "FORECAST",
198 "FORECAST.ETS",
199 "FORECAST.ETS.CONFINT",
200 "FORECAST.ETS.SEASONALITY",
201 "FORECAST.ETS.STAT",
202 "FORECAST.LINEAR",
203 "FORMULATEXT",
204 "FREQUENCY",
205 "F.TEST",
206 "FTEST",
207 "FV",
208 "FVSCHEDULE",
209 "GAMMA",
210 "GAMMA.DIST",
211 "GAMMADIST",
212 "GAMMA.INV",
213 "GAMMAINV",
214 "GAMMALN",
215 "GAMMALN.PRECISE",
216 "GAUSS",
217 "GCD",
218 "GEOMEAN",
219 "GESTEP",
220 "GETPIVOTDATA",
221 "GROWTH",
222 "HARMEAN",
223 "HEX2BIN",
224 "HEX2DEC",
225 "HEX2OCT",
226 "HLOOKUP",
227 "HOUR",
228 "HSTACK",
229 "HYPERLINK",
230 "HYPGEOM.DIST",
231 "HYPGEOMDIST",
232 "IF",
233 "IFERROR",
234 "IFNA",
235 "IFS",
236 "IMABS",
237 "IMAGE",
238 "IMAGINARY",
239 "IMARGUMENT",
240 "IMCONJUGATE",
241 "IMCOS",
242 "IMCOSH",
243 "IMCOT",
244 "IMCSC",
245 "IMCSCH",
246 "IMDIV",
247 "IMEXP",
248 "IMLN",
249 "IMLOG10",
250 "IMLOG2",
251 "IMPOWER",
252 "IMPRODUCT",
253 "IMREAL",
254 "IMSEC",
255 "IMSECH",
256 "IMSIN",
257 "IMSINH",
258 "IMSQRT",
259 "IMSUB",
260 "IMSUM",
261 "IMTAN",
262 "INDEX",
263 "INDIRECT",
264 "INFO",
265 "INT",
266 "INTERCEPT",
267 "INTRATE",
268 "IPMT",
269 "IRR",
270 "ISBLANK",
271 "ISERR",
272 "ISERROR",
273 "ISEVEN",
274 "ISFORMULA",
275 "ISLOGICAL",
276 "ISNA",
277 "ISNONTEXT",
278 "ISNUMBER",
279 "ISODD",
280 "ISOMITTED",
281 "ISREF",
282 "ISTEXT",
283 "ISO.CEILING",
284 "ISOWEEKNUM",
285 "ISPMT",
286 "JIS",
287 "KURT",
288 "LAMBDA",
289 "LARGE",
290 "LCM",
291 "LEFT",
292 "LEFTB",
293 "LEN",
294 "LENB",
295 "LET",
296 "LINEST",
297 "LN",
298 "LOG",
299 "LOG10",
300 "LOGEST",
301 "LOGINV",
302 "LOGNORM.DIST",
303 "LOGNORMDIST",
304 "LOGNORM.INV",
305 "LOOKUP",
306 "LOWER",
307 "MAKEARRAY",
308 "MAP",
309 "MATCH",
310 "MAX",
311 "MAXA",
312 "MAXIFS",
313 "MDETERM",
314 "MDURATION",
315 "MEDIAN",
316 "MID",
317 "MIDB",
318 "MIN",
319 "MINIFS",
320 "MINA",
321 "MINUTE",
322 "MINVERSE",
323 "MIRR",
324 "MMULT",
325 "MOD",
326 "MODE",
327 "MODE.MULT",
328 "MODE.SNGL",
329 "MONTH",
330 "MROUND",
331 "MULTINOMIAL",
332 "MUNIT",
333 "N",
334 "NA",
335 "NEGBINOM.DIST",
336 "NEGBINOMDIST",
337 "NETWORKDAYS",
338 "NETWORKDAYS.INTL",
339 "NOMINAL",
340 "NORM.DIST",
341 "NORMDIST",
342 "NORMINV",
343 "NORM.INV",
344 "NORM.S.DIST",
345 "NORMSDIST",
346 "NORM.S.INV",
347 "NORMSINV",
348 "NOT",
349 "NOW",
350 "NPER",
351 "NPV",
352 "NUMBERVALUE",
353 "OCT2BIN",
354 "OCT2DEC",
355 "OCT2HEX",
356 "ODD",
357 "ODDFPRICE",
358 "ODDFYIELD",
359 "ODDLPRICE",
360 "ODDLYIELD",
361 "OFFSET",
362 "OR",
363 "PDURATION",
364 "PEARSON",
365 "PERCENTILE.EXC",
366 "PERCENTILE.INC",
367 "PERCENTILE",
368 "PERCENTRANK.EXC",
369 "PERCENTRANK.INC",
370 "PERCENTRANK",
371 "PERMUT",
372 "PERMUTATIONA",
373 "PHI",
374 "PHONETIC",
375 "PI",
376 "PMT",
377 "POISSON.DIST",
378 "POISSON",
379 "POWER",
380 "PPMT",
381 "PRICE",
382 "PRICEDISC",
383 "PRICEMAT",
384 "PROB",
385 "PRODUCT",
386 "PROPER",
387 "PV",
388 "QUARTILE",
389 "QUARTILE.EXC",
390 "QUARTILE.INC",
391 "QUOTIENT",
392 "RADIANS",
393 "RAND",
394 "RANDARRAY",
395 "RANDBETWEEN",
396 "RANK.AVG",
397 "RANK.EQ",
398 "RANK",
399 "RATE",
400 "RECEIVED",
401 "REDUCE",
402 "REGISTER.ID",
403 "REPLACE",
404 "REPLACEB",
405 "REPT",
406 "RIGHT",
407 "RIGHTB",
408 "ROMAN",
409 "ROUND",
410 "ROUNDDOWN",
411 "ROUNDUP",
412 "ROW",
413 "ROWS",
414 "RRI",
415 "RSQ",
416 "RTD",
417 "SCAN",
418 "SEARCH",
419 "SEARCHB",
420 "SEC",
421 "SECH",
422 "SECOND",
423 "SEQUENCE",
424 "SERIESSUM",
425 "SHEET",
426 "SHEETS",
427 "SIGN",
428 "SIN",
429 "SINH",
430 "SKEW",
431 "SKEW.P",
432 "SLN",
433 "SLOPE",
434 "SMALL",
435 "SORT",
436 "SORTBY",
437 "SQRT",
438 "SQRTPI",
439 "SQL.REQUEST",
440 "STANDARDIZE",
441 "STOCKHISTORY",
442 "STDEV",
443 "STDEV.P",
444 "STDEV.S",
445 "STDEVA",
446 "STDEVP",
447 "STDEVPA",
448 "STEYX",
449 "SUBSTITUTE",
450 "SUBTOTAL",
451 "SUM",
452 "SUMIF",
453 "SUMIFS",
454 "SUMPRODUCT",
455 "SUMSQ",
456 "SUMX2MY2",
457 "SUMX2PY2",
458 "SUMXMY2",
459 "SWITCH",
460 "SYD",
461 "T",
462 "TAN",
463 "TANH",
464 "TAKE",
465 "TBILLEQ",
466 "TBILLPRICE",
467 "TBILLYIELD",
468 "T.DIST",
469 "T.DIST.2T",
470 "T.DIST.RT",
471 "TDIST",
472 "TEXT",
473 "TEXTAFTER",
474 "TEXTBEFORE",
475 "TEXTJOIN",
476 "TEXTSPLIT",
477 "TIME",
478 "TIMEVALUE",
479 "T.INV",
480 "T.INV.2T",
481 "TINV",
482 "TOCOL",
483 "TOROW",
484 "TODAY",
485 "TRANSPOSE",
486 "TREND",
487 "TRIM",
488 "TRIMMEAN",
489 "TRUE",
490 "TRUNC",
491 "T.TEST",
492 "TTEST",
493 "TYPE",
494 "UNICHAR",
495 "UNICODE",
496 "UNIQUE",
497 "UPPER",
498 "VALUE",
499 "VALUETOTEXT",
500 "VAR",
501 "VAR.P",
502 "VAR.S",
503 "VARA",
504 "VARP",
505 "VARPA",
506 "VDB",
507 "VLOOKUP",
508 "VSTACK",
509 "WEBSERVICE",
510 "WEEKDAY",
511 "WEEKNUM",
512 "WEIBULL",
513 "WEIBULL.DIST",
514 "WORKDAY",
515 "WORKDAY.INTL",
516 "WRAPCOLS",
517 "WRAPROWS",
518 "XIRR",
519 "XLOOKUP",
520 "XMATCH",
521 "XNPV",
522 "XOR",
523 "YEAR",
524 "YEARFRAC",
525 "YIELD",
526 "YIELDDISC",
527 "YIELDMAT",
528 "Z.TEST",
529 "ZTEST"
530 ];
531 return {
532 name: 'Excel formulae',
533 aliases: [
534 'xlsx',
535 'xls'
536 ],
537 case_insensitive: true,
538 keywords: {
539 $pattern: /[a-zA-Z][\w\.]*/,
540 built_in: BUILT_INS
541 },
542 contains: [
543 {
544 /* matches a beginning equal sign found in Excel formula examples */
545 begin: /^=/,
546 end: /[^=]/,
547 returnEnd: true,
548 illegal: /=/, /* only allow single equal sign at front of line */
549 relevance: 10
550 },
551 /* technically, there can be more than 2 letters in column names, but this prevents conflict with some keywords */
552 {
553 /* matches a reference to a single cell */
554 className: 'symbol',
555 begin: /\b[A-Z]{1,2}\d+\b/,
556 end: /[^\d]/,
557 excludeEnd: true,
558 relevance: 0
559 },
560 {
561 /* matches a reference to a range of cells */
562 className: 'symbol',
563 begin: /[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,
564 relevance: 0
565 },
566 hljs.BACKSLASH_ESCAPE,
567 hljs.QUOTE_STRING_MODE,
568 {
569 className: 'number',
570 begin: hljs.NUMBER_RE + '(%)?',
571 relevance: 0
572 },
573 /* Excel formula comments are done by putting the comment in a function call to N() */
574 hljs.COMMENT(/\bN\(/, /\)/,
575 {
576 excludeBegin: true,
577 excludeEnd: true,
578 illegal: /\n/
579 })
580 ]
581 };
582 }
583
584 return excel;
585
586 })();
587 ;
588 export default hljsGrammar;