123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- /*!-----------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
- * Released under the MIT license
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
- *-----------------------------------------------------------------------------*/
- // src/basic-languages/msdax/msdax.ts
- var conf = {
- comments: {
- lineComment: "//",
- blockComment: ["/*", "*/"]
- },
- brackets: [
- ["[", "]"],
- ["(", ")"],
- ["{", "}"]
- ],
- autoClosingPairs: [
- { open: '"', close: '"', notIn: ["string", "comment"] },
- { open: "'", close: "'", notIn: ["string", "comment"] },
- { open: "[", close: "]", notIn: ["string", "comment"] },
- { open: "(", close: ")", notIn: ["string", "comment"] },
- { open: "{", close: "}", notIn: ["string", "comment"] }
- ]
- };
- var language = {
- defaultToken: "",
- tokenPostfix: ".msdax",
- ignoreCase: true,
- brackets: [
- { open: "[", close: "]", token: "delimiter.square" },
- { open: "{", close: "}", token: "delimiter.brackets" },
- { open: "(", close: ")", token: "delimiter.parenthesis" }
- ],
- keywords: [
- "VAR",
- "RETURN",
- "NOT",
- "EVALUATE",
- "DATATABLE",
- "ORDER",
- "BY",
- "START",
- "AT",
- "DEFINE",
- "MEASURE",
- "ASC",
- "DESC",
- "IN",
- "BOOLEAN",
- "DOUBLE",
- "INTEGER",
- "DATETIME",
- "CURRENCY",
- "STRING"
- ],
- functions: [
- "CLOSINGBALANCEMONTH",
- "CLOSINGBALANCEQUARTER",
- "CLOSINGBALANCEYEAR",
- "DATEADD",
- "DATESBETWEEN",
- "DATESINPERIOD",
- "DATESMTD",
- "DATESQTD",
- "DATESYTD",
- "ENDOFMONTH",
- "ENDOFQUARTER",
- "ENDOFYEAR",
- "FIRSTDATE",
- "FIRSTNONBLANK",
- "LASTDATE",
- "LASTNONBLANK",
- "NEXTDAY",
- "NEXTMONTH",
- "NEXTQUARTER",
- "NEXTYEAR",
- "OPENINGBALANCEMONTH",
- "OPENINGBALANCEQUARTER",
- "OPENINGBALANCEYEAR",
- "PARALLELPERIOD",
- "PREVIOUSDAY",
- "PREVIOUSMONTH",
- "PREVIOUSQUARTER",
- "PREVIOUSYEAR",
- "SAMEPERIODLASTYEAR",
- "STARTOFMONTH",
- "STARTOFQUARTER",
- "STARTOFYEAR",
- "TOTALMTD",
- "TOTALQTD",
- "TOTALYTD",
- "ADDCOLUMNS",
- "ADDMISSINGITEMS",
- "ALL",
- "ALLEXCEPT",
- "ALLNOBLANKROW",
- "ALLSELECTED",
- "CALCULATE",
- "CALCULATETABLE",
- "CALENDAR",
- "CALENDARAUTO",
- "CROSSFILTER",
- "CROSSJOIN",
- "CURRENTGROUP",
- "DATATABLE",
- "DETAILROWS",
- "DISTINCT",
- "EARLIER",
- "EARLIEST",
- "EXCEPT",
- "FILTER",
- "FILTERS",
- "GENERATE",
- "GENERATEALL",
- "GROUPBY",
- "IGNORE",
- "INTERSECT",
- "ISONORAFTER",
- "KEEPFILTERS",
- "LOOKUPVALUE",
- "NATURALINNERJOIN",
- "NATURALLEFTOUTERJOIN",
- "RELATED",
- "RELATEDTABLE",
- "ROLLUP",
- "ROLLUPADDISSUBTOTAL",
- "ROLLUPGROUP",
- "ROLLUPISSUBTOTAL",
- "ROW",
- "SAMPLE",
- "SELECTCOLUMNS",
- "SUBSTITUTEWITHINDEX",
- "SUMMARIZE",
- "SUMMARIZECOLUMNS",
- "TOPN",
- "TREATAS",
- "UNION",
- "USERELATIONSHIP",
- "VALUES",
- "SUM",
- "SUMX",
- "PATH",
- "PATHCONTAINS",
- "PATHITEM",
- "PATHITEMREVERSE",
- "PATHLENGTH",
- "AVERAGE",
- "AVERAGEA",
- "AVERAGEX",
- "COUNT",
- "COUNTA",
- "COUNTAX",
- "COUNTBLANK",
- "COUNTROWS",
- "COUNTX",
- "DISTINCTCOUNT",
- "DIVIDE",
- "GEOMEAN",
- "GEOMEANX",
- "MAX",
- "MAXA",
- "MAXX",
- "MEDIAN",
- "MEDIANX",
- "MIN",
- "MINA",
- "MINX",
- "PERCENTILE.EXC",
- "PERCENTILE.INC",
- "PERCENTILEX.EXC",
- "PERCENTILEX.INC",
- "PRODUCT",
- "PRODUCTX",
- "RANK.EQ",
- "RANKX",
- "STDEV.P",
- "STDEV.S",
- "STDEVX.P",
- "STDEVX.S",
- "VAR.P",
- "VAR.S",
- "VARX.P",
- "VARX.S",
- "XIRR",
- "XNPV",
- "DATE",
- "DATEDIFF",
- "DATEVALUE",
- "DAY",
- "EDATE",
- "EOMONTH",
- "HOUR",
- "MINUTE",
- "MONTH",
- "NOW",
- "SECOND",
- "TIME",
- "TIMEVALUE",
- "TODAY",
- "WEEKDAY",
- "WEEKNUM",
- "YEAR",
- "YEARFRAC",
- "CONTAINS",
- "CONTAINSROW",
- "CUSTOMDATA",
- "ERROR",
- "HASONEFILTER",
- "HASONEVALUE",
- "ISBLANK",
- "ISCROSSFILTERED",
- "ISEMPTY",
- "ISERROR",
- "ISEVEN",
- "ISFILTERED",
- "ISLOGICAL",
- "ISNONTEXT",
- "ISNUMBER",
- "ISODD",
- "ISSUBTOTAL",
- "ISTEXT",
- "USERNAME",
- "USERPRINCIPALNAME",
- "AND",
- "FALSE",
- "IF",
- "IFERROR",
- "NOT",
- "OR",
- "SWITCH",
- "TRUE",
- "ABS",
- "ACOS",
- "ACOSH",
- "ACOT",
- "ACOTH",
- "ASIN",
- "ASINH",
- "ATAN",
- "ATANH",
- "BETA.DIST",
- "BETA.INV",
- "CEILING",
- "CHISQ.DIST",
- "CHISQ.DIST.RT",
- "CHISQ.INV",
- "CHISQ.INV.RT",
- "COMBIN",
- "COMBINA",
- "CONFIDENCE.NORM",
- "CONFIDENCE.T",
- "COS",
- "COSH",
- "COT",
- "COTH",
- "CURRENCY",
- "DEGREES",
- "EVEN",
- "EXP",
- "EXPON.DIST",
- "FACT",
- "FLOOR",
- "GCD",
- "INT",
- "ISO.CEILING",
- "LCM",
- "LN",
- "LOG",
- "LOG10",
- "MOD",
- "MROUND",
- "ODD",
- "PERMUT",
- "PI",
- "POISSON.DIST",
- "POWER",
- "QUOTIENT",
- "RADIANS",
- "RAND",
- "RANDBETWEEN",
- "ROUND",
- "ROUNDDOWN",
- "ROUNDUP",
- "SIGN",
- "SIN",
- "SINH",
- "SQRT",
- "SQRTPI",
- "TAN",
- "TANH",
- "TRUNC",
- "BLANK",
- "CONCATENATE",
- "CONCATENATEX",
- "EXACT",
- "FIND",
- "FIXED",
- "FORMAT",
- "LEFT",
- "LEN",
- "LOWER",
- "MID",
- "REPLACE",
- "REPT",
- "RIGHT",
- "SEARCH",
- "SUBSTITUTE",
- "TRIM",
- "UNICHAR",
- "UNICODE",
- "UPPER",
- "VALUE"
- ],
- tokenizer: {
- root: [
- { include: "@comments" },
- { include: "@whitespace" },
- { include: "@numbers" },
- { include: "@strings" },
- { include: "@complexIdentifiers" },
- [/[;,.]/, "delimiter"],
- [/[({})]/, "@brackets"],
- [
- /[a-z_][a-zA-Z0-9_]*/,
- {
- cases: {
- "@keywords": "keyword",
- "@functions": "keyword",
- "@default": "identifier"
- }
- }
- ],
- [/[<>=!%&+\-*/|~^]/, "operator"]
- ],
- whitespace: [[/\s+/, "white"]],
- comments: [
- [/\/\/+.*/, "comment"],
- [/\/\*/, { token: "comment.quote", next: "@comment" }]
- ],
- comment: [
- [/[^*/]+/, "comment"],
- [/\*\//, { token: "comment.quote", next: "@pop" }],
- [/./, "comment"]
- ],
- numbers: [
- [/0[xX][0-9a-fA-F]*/, "number"],
- [/[$][+-]*\d*(\.\d*)?/, "number"],
- [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
- ],
- strings: [
- [/N"/, { token: "string", next: "@string" }],
- [/"/, { token: "string", next: "@string" }]
- ],
- string: [
- [/[^"]+/, "string"],
- [/""/, "string"],
- [/"/, { token: "string", next: "@pop" }]
- ],
- complexIdentifiers: [
- [/\[/, { token: "identifier.quote", next: "@bracketedIdentifier" }],
- [/'/, { token: "identifier.quote", next: "@quotedIdentifier" }]
- ],
- bracketedIdentifier: [
- [/[^\]]+/, "identifier"],
- [/]]/, "identifier"],
- [/]/, { token: "identifier.quote", next: "@pop" }]
- ],
- quotedIdentifier: [
- [/[^']+/, "identifier"],
- [/''/, "identifier"],
- [/'/, { token: "identifier.quote", next: "@pop" }]
- ]
- }
- };
- export {
- conf,
- language
- };
|