excel function
Highlight.js language definition for excel.
Implementation
Mode excel(Highlight hljs) {
final Mode mode0 = Mode();
mode0.begin = r'\\[\s\S]';
mode0.relevance = 0;
return Mode(
name: r'Excel formulae',
aliases: [r'xlsx', r'xls'],
caseInsensitive: true,
keywords: {
r'$pattern': r'[a-zA-Z][\w\.]*',
r'built_in': [
r'ABS',
r'ACCRINT',
r'ACCRINTM',
r'ACOS',
r'ACOSH',
r'ACOT',
r'ACOTH',
r'AGGREGATE',
r'ADDRESS',
r'AMORDEGRC',
r'AMORLINC',
r'AND',
r'ARABIC',
r'AREAS',
r'ARRAYTOTEXT',
r'ASC',
r'ASIN',
r'ASINH',
r'ATAN',
r'ATAN2',
r'ATANH',
r'AVEDEV',
r'AVERAGE',
r'AVERAGEA',
r'AVERAGEIF',
r'AVERAGEIFS',
r'BAHTTEXT',
r'BASE',
r'BESSELI',
r'BESSELJ',
r'BESSELK',
r'BESSELY',
r'BETADIST',
r'BETA.DIST',
r'BETAINV',
r'BETA.INV',
r'BIN2DEC',
r'BIN2HEX',
r'BIN2OCT',
r'BINOMDIST',
r'BINOM.DIST',
r'BINOM.DIST.RANGE',
r'BINOM.INV',
r'BITAND',
r'BITLSHIFT',
r'BITOR',
r'BITRSHIFT',
r'BITXOR',
r'BYCOL',
r'BYROW',
r'CALL',
r'CEILING',
r'CEILING.MATH',
r'CEILING.PRECISE',
r'CELL',
r'CHAR',
r'CHIDIST',
r'CHIINV',
r'CHITEST',
r'CHISQ.DIST',
r'CHISQ.DIST.RT',
r'CHISQ.INV',
r'CHISQ.INV.RT',
r'CHISQ.TEST',
r'CHOOSE',
r'CHOOSECOLS',
r'CHOOSEROWS',
r'CLEAN',
r'CODE',
r'COLUMN',
r'COLUMNS',
r'COMBIN',
r'COMBINA',
r'COMPLEX',
r'CONCAT',
r'CONCATENATE',
r'CONFIDENCE',
r'CONFIDENCE.NORM',
r'CONFIDENCE.T',
r'CONVERT',
r'CORREL',
r'COS',
r'COSH',
r'COT',
r'COTH',
r'COUNT',
r'COUNTA',
r'COUNTBLANK',
r'COUNTIF',
r'COUNTIFS',
r'COUPDAYBS',
r'COUPDAYS',
r'COUPDAYSNC',
r'COUPNCD',
r'COUPNUM',
r'COUPPCD',
r'COVAR',
r'COVARIANCE.P',
r'COVARIANCE.S',
r'CRITBINOM',
r'CSC',
r'CSCH',
r'CUBEKPIMEMBER',
r'CUBEMEMBER',
r'CUBEMEMBERPROPERTY',
r'CUBERANKEDMEMBER',
r'CUBESET',
r'CUBESETCOUNT',
r'CUBEVALUE',
r'CUMIPMT',
r'CUMPRINC',
r'DATE',
r'DATEDIF',
r'DATEVALUE',
r'DAVERAGE',
r'DAY',
r'DAYS',
r'DAYS360',
r'DB',
r'DBCS',
r'DCOUNT',
r'DCOUNTA',
r'DDB',
r'DEC2BIN',
r'DEC2HEX',
r'DEC2OCT',
r'DECIMAL',
r'DEGREES',
r'DELTA',
r'DEVSQ',
r'DGET',
r'DISC',
r'DMAX',
r'DMIN',
r'DOLLAR',
r'DOLLARDE',
r'DOLLARFR',
r'DPRODUCT',
r'DROP',
r'DSTDEV',
r'DSTDEVP',
r'DSUM',
r'DURATION',
r'DVAR',
r'DVARP',
r'EDATE',
r'EFFECT',
r'ENCODEURL',
r'EOMONTH',
r'ERF',
r'ERF.PRECISE',
r'ERFC',
r'ERFC.PRECISE',
r'ERROR.TYPE',
r'EUROCONVERT',
r'EVEN',
r'EXACT',
r'EXP',
r'EXPAND',
r'EXPON.DIST',
r'EXPONDIST',
r'FACT',
r'FACTDOUBLE',
r'FALSE',
r'F.DIST',
r'FDIST',
r'F.DIST.RT',
r'FILTER',
r'FILTERXML',
r'FIND',
r'FINDB',
r'F.INV',
r'F.INV.RT',
r'FINV',
r'FISHER',
r'FISHERINV',
r'FIXED',
r'FLOOR',
r'FLOOR.MATH',
r'FLOOR.PRECISE',
r'FORECAST',
r'FORECAST.ETS',
r'FORECAST.ETS.CONFINT',
r'FORECAST.ETS.SEASONALITY',
r'FORECAST.ETS.STAT',
r'FORECAST.LINEAR',
r'FORMULATEXT',
r'FREQUENCY',
r'F.TEST',
r'FTEST',
r'FV',
r'FVSCHEDULE',
r'GAMMA',
r'GAMMA.DIST',
r'GAMMADIST',
r'GAMMA.INV',
r'GAMMAINV',
r'GAMMALN',
r'GAMMALN.PRECISE',
r'GAUSS',
r'GCD',
r'GEOMEAN',
r'GESTEP',
r'GETPIVOTDATA',
r'GROWTH',
r'HARMEAN',
r'HEX2BIN',
r'HEX2DEC',
r'HEX2OCT',
r'HLOOKUP',
r'HOUR',
r'HSTACK',
r'HYPERLINK',
r'HYPGEOM.DIST',
r'HYPGEOMDIST',
r'IF',
r'IFERROR',
r'IFNA',
r'IFS',
r'IMABS',
r'IMAGE',
r'IMAGINARY',
r'IMARGUMENT',
r'IMCONJUGATE',
r'IMCOS',
r'IMCOSH',
r'IMCOT',
r'IMCSC',
r'IMCSCH',
r'IMDIV',
r'IMEXP',
r'IMLN',
r'IMLOG10',
r'IMLOG2',
r'IMPOWER',
r'IMPRODUCT',
r'IMREAL',
r'IMSEC',
r'IMSECH',
r'IMSIN',
r'IMSINH',
r'IMSQRT',
r'IMSUB',
r'IMSUM',
r'IMTAN',
r'INDEX',
r'INDIRECT',
r'INFO',
r'INT',
r'INTERCEPT',
r'INTRATE',
r'IPMT',
r'IRR',
r'ISBLANK',
r'ISERR',
r'ISERROR',
r'ISEVEN',
r'ISFORMULA',
r'ISLOGICAL',
r'ISNA',
r'ISNONTEXT',
r'ISNUMBER',
r'ISODD',
r'ISOMITTED',
r'ISREF',
r'ISTEXT',
r'ISO.CEILING',
r'ISOWEEKNUM',
r'ISPMT',
r'JIS',
r'KURT',
r'LAMBDA',
r'LARGE',
r'LCM',
r'LEFT',
r'LEFTB',
r'LEN',
r'LENB',
r'LET',
r'LINEST',
r'LN',
r'LOG',
r'LOG10',
r'LOGEST',
r'LOGINV',
r'LOGNORM.DIST',
r'LOGNORMDIST',
r'LOGNORM.INV',
r'LOOKUP',
r'LOWER',
r'MAKEARRAY',
r'MAP',
r'MATCH',
r'MAX',
r'MAXA',
r'MAXIFS',
r'MDETERM',
r'MDURATION',
r'MEDIAN',
r'MID',
r'MIDB',
r'MIN',
r'MINIFS',
r'MINA',
r'MINUTE',
r'MINVERSE',
r'MIRR',
r'MMULT',
r'MOD',
r'MODE',
r'MODE.MULT',
r'MODE.SNGL',
r'MONTH',
r'MROUND',
r'MULTINOMIAL',
r'MUNIT',
r'N',
r'NA',
r'NEGBINOM.DIST',
r'NEGBINOMDIST',
r'NETWORKDAYS',
r'NETWORKDAYS.INTL',
r'NOMINAL',
r'NORM.DIST',
r'NORMDIST',
r'NORMINV',
r'NORM.INV',
r'NORM.S.DIST',
r'NORMSDIST',
r'NORM.S.INV',
r'NORMSINV',
r'NOT',
r'NOW',
r'NPER',
r'NPV',
r'NUMBERVALUE',
r'OCT2BIN',
r'OCT2DEC',
r'OCT2HEX',
r'ODD',
r'ODDFPRICE',
r'ODDFYIELD',
r'ODDLPRICE',
r'ODDLYIELD',
r'OFFSET',
r'OR',
r'PDURATION',
r'PEARSON',
r'PERCENTILE.EXC',
r'PERCENTILE.INC',
r'PERCENTILE',
r'PERCENTRANK.EXC',
r'PERCENTRANK.INC',
r'PERCENTRANK',
r'PERMUT',
r'PERMUTATIONA',
r'PHI',
r'PHONETIC',
r'PI',
r'PMT',
r'POISSON.DIST',
r'POISSON',
r'POWER',
r'PPMT',
r'PRICE',
r'PRICEDISC',
r'PRICEMAT',
r'PROB',
r'PRODUCT',
r'PROPER',
r'PV',
r'QUARTILE',
r'QUARTILE.EXC',
r'QUARTILE.INC',
r'QUOTIENT',
r'RADIANS',
r'RAND',
r'RANDARRAY',
r'RANDBETWEEN',
r'RANK.AVG',
r'RANK.EQ',
r'RANK',
r'RATE',
r'RECEIVED',
r'REDUCE',
r'REGISTER.ID',
r'REPLACE',
r'REPLACEB',
r'REPT',
r'RIGHT',
r'RIGHTB',
r'ROMAN',
r'ROUND',
r'ROUNDDOWN',
r'ROUNDUP',
r'ROW',
r'ROWS',
r'RRI',
r'RSQ',
r'RTD',
r'SCAN',
r'SEARCH',
r'SEARCHB',
r'SEC',
r'SECH',
r'SECOND',
r'SEQUENCE',
r'SERIESSUM',
r'SHEET',
r'SHEETS',
r'SIGN',
r'SIN',
r'SINH',
r'SKEW',
r'SKEW.P',
r'SLN',
r'SLOPE',
r'SMALL',
r'SORT',
r'SORTBY',
r'SQRT',
r'SQRTPI',
r'SQL.REQUEST',
r'STANDARDIZE',
r'STOCKHISTORY',
r'STDEV',
r'STDEV.P',
r'STDEV.S',
r'STDEVA',
r'STDEVP',
r'STDEVPA',
r'STEYX',
r'SUBSTITUTE',
r'SUBTOTAL',
r'SUM',
r'SUMIF',
r'SUMIFS',
r'SUMPRODUCT',
r'SUMSQ',
r'SUMX2MY2',
r'SUMX2PY2',
r'SUMXMY2',
r'SWITCH',
r'SYD',
r'T',
r'TAN',
r'TANH',
r'TAKE',
r'TBILLEQ',
r'TBILLPRICE',
r'TBILLYIELD',
r'T.DIST',
r'T.DIST.2T',
r'T.DIST.RT',
r'TDIST',
r'TEXT',
r'TEXTAFTER',
r'TEXTBEFORE',
r'TEXTJOIN',
r'TEXTSPLIT',
r'TIME',
r'TIMEVALUE',
r'T.INV',
r'T.INV.2T',
r'TINV',
r'TOCOL',
r'TOROW',
r'TODAY',
r'TRANSPOSE',
r'TREND',
r'TRIM',
r'TRIMMEAN',
r'TRUE',
r'TRUNC',
r'T.TEST',
r'TTEST',
r'TYPE',
r'UNICHAR',
r'UNICODE',
r'UNIQUE',
r'UPPER',
r'VALUE',
r'VALUETOTEXT',
r'VAR',
r'VAR.P',
r'VAR.S',
r'VARA',
r'VARP',
r'VARPA',
r'VDB',
r'VLOOKUP',
r'VSTACK',
r'WEBSERVICE',
r'WEEKDAY',
r'WEEKNUM',
r'WEIBULL',
r'WEIBULL.DIST',
r'WORKDAY',
r'WORKDAY.INTL',
r'WRAPCOLS',
r'WRAPROWS',
r'XIRR',
r'XLOOKUP',
r'XMATCH',
r'XNPV',
r'XOR',
r'YEAR',
r'YEARFRAC',
r'YIELD',
r'YIELDDISC',
r'YIELDMAT',
r'Z.TEST',
r'ZTEST',
],
},
contains: [
Mode(
begin: r'^=',
end: r'[^=]',
returnEnd: true,
illegal: r'=',
relevance: 10,
),
Mode(
scope: r'symbol',
begin: r'\b[A-Z]{1,2}\d+\b',
end: r'[^\d]',
excludeEnd: true,
relevance: 0,
),
Mode(
scope: r'symbol',
begin: r'[A-Z]{0,2}\d*:[A-Z]{0,2}\d*',
relevance: 0,
),
mode0,
Mode(
scope: r'string',
begin: r'"',
end: r'"',
illegal: r'\n',
contains: [mode0],
),
Mode(scope: r'number', begin: r'\b\d+(\.\d+)?(%)?', relevance: 0),
Mode(
scope: r'comment',
begin: r'\bN\(',
end: r'\)',
contains: [
Mode(
scope: r'doctag',
begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
excludeBegin: true,
excludeEnd: true,
illegal: r'\n',
),
],
);
}