123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821 |
- /*!-----------------------------------------------------------------------------
- * 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/sql/sql.ts
- var conf = {
- comments: {
- lineComment: "--",
- blockComment: ["/*", "*/"]
- },
- brackets: [
- ["{", "}"],
- ["[", "]"],
- ["(", ")"]
- ],
- autoClosingPairs: [
- { open: "{", close: "}" },
- { open: "[", close: "]" },
- { open: "(", close: ")" },
- { open: '"', close: '"' },
- { open: "'", close: "'" }
- ],
- surroundingPairs: [
- { open: "{", close: "}" },
- { open: "[", close: "]" },
- { open: "(", close: ")" },
- { open: '"', close: '"' },
- { open: "'", close: "'" }
- ]
- };
- var language = {
- defaultToken: "",
- tokenPostfix: ".sql",
- ignoreCase: true,
- brackets: [
- { open: "[", close: "]", token: "delimiter.square" },
- { open: "(", close: ")", token: "delimiter.parenthesis" }
- ],
- keywords: [
- "ABORT",
- "ABSOLUTE",
- "ACTION",
- "ADA",
- "ADD",
- "AFTER",
- "ALL",
- "ALLOCATE",
- "ALTER",
- "ALWAYS",
- "ANALYZE",
- "AND",
- "ANY",
- "ARE",
- "AS",
- "ASC",
- "ASSERTION",
- "AT",
- "ATTACH",
- "AUTHORIZATION",
- "AUTOINCREMENT",
- "AVG",
- "BACKUP",
- "BEFORE",
- "BEGIN",
- "BETWEEN",
- "BIT",
- "BIT_LENGTH",
- "BOTH",
- "BREAK",
- "BROWSE",
- "BULK",
- "BY",
- "CASCADE",
- "CASCADED",
- "CASE",
- "CAST",
- "CATALOG",
- "CHAR",
- "CHARACTER",
- "CHARACTER_LENGTH",
- "CHAR_LENGTH",
- "CHECK",
- "CHECKPOINT",
- "CLOSE",
- "CLUSTERED",
- "COALESCE",
- "COLLATE",
- "COLLATION",
- "COLUMN",
- "COMMIT",
- "COMPUTE",
- "CONFLICT",
- "CONNECT",
- "CONNECTION",
- "CONSTRAINT",
- "CONSTRAINTS",
- "CONTAINS",
- "CONTAINSTABLE",
- "CONTINUE",
- "CONVERT",
- "CORRESPONDING",
- "COUNT",
- "CREATE",
- "CROSS",
- "CURRENT",
- "CURRENT_DATE",
- "CURRENT_TIME",
- "CURRENT_TIMESTAMP",
- "CURRENT_USER",
- "CURSOR",
- "DATABASE",
- "DATE",
- "DAY",
- "DBCC",
- "DEALLOCATE",
- "DEC",
- "DECIMAL",
- "DECLARE",
- "DEFAULT",
- "DEFERRABLE",
- "DEFERRED",
- "DELETE",
- "DENY",
- "DESC",
- "DESCRIBE",
- "DESCRIPTOR",
- "DETACH",
- "DIAGNOSTICS",
- "DISCONNECT",
- "DISK",
- "DISTINCT",
- "DISTRIBUTED",
- "DO",
- "DOMAIN",
- "DOUBLE",
- "DROP",
- "DUMP",
- "EACH",
- "ELSE",
- "END",
- "END-EXEC",
- "ERRLVL",
- "ESCAPE",
- "EXCEPT",
- "EXCEPTION",
- "EXCLUDE",
- "EXCLUSIVE",
- "EXEC",
- "EXECUTE",
- "EXISTS",
- "EXIT",
- "EXPLAIN",
- "EXTERNAL",
- "EXTRACT",
- "FAIL",
- "FALSE",
- "FETCH",
- "FILE",
- "FILLFACTOR",
- "FILTER",
- "FIRST",
- "FLOAT",
- "FOLLOWING",
- "FOR",
- "FOREIGN",
- "FORTRAN",
- "FOUND",
- "FREETEXT",
- "FREETEXTTABLE",
- "FROM",
- "FULL",
- "FUNCTION",
- "GENERATED",
- "GET",
- "GLOB",
- "GLOBAL",
- "GO",
- "GOTO",
- "GRANT",
- "GROUP",
- "GROUPS",
- "HAVING",
- "HOLDLOCK",
- "HOUR",
- "IDENTITY",
- "IDENTITYCOL",
- "IDENTITY_INSERT",
- "IF",
- "IGNORE",
- "IMMEDIATE",
- "IN",
- "INCLUDE",
- "INDEX",
- "INDEXED",
- "INDICATOR",
- "INITIALLY",
- "INNER",
- "INPUT",
- "INSENSITIVE",
- "INSERT",
- "INSTEAD",
- "INT",
- "INTEGER",
- "INTERSECT",
- "INTERVAL",
- "INTO",
- "IS",
- "ISNULL",
- "ISOLATION",
- "JOIN",
- "KEY",
- "KILL",
- "LANGUAGE",
- "LAST",
- "LEADING",
- "LEFT",
- "LEVEL",
- "LIKE",
- "LIMIT",
- "LINENO",
- "LOAD",
- "LOCAL",
- "LOWER",
- "MATCH",
- "MATERIALIZED",
- "MAX",
- "MERGE",
- "MIN",
- "MINUTE",
- "MODULE",
- "MONTH",
- "NAMES",
- "NATIONAL",
- "NATURAL",
- "NCHAR",
- "NEXT",
- "NO",
- "NOCHECK",
- "NONCLUSTERED",
- "NONE",
- "NOT",
- "NOTHING",
- "NOTNULL",
- "NULL",
- "NULLIF",
- "NULLS",
- "NUMERIC",
- "OCTET_LENGTH",
- "OF",
- "OFF",
- "OFFSET",
- "OFFSETS",
- "ON",
- "ONLY",
- "OPEN",
- "OPENDATASOURCE",
- "OPENQUERY",
- "OPENROWSET",
- "OPENXML",
- "OPTION",
- "OR",
- "ORDER",
- "OTHERS",
- "OUTER",
- "OUTPUT",
- "OVER",
- "OVERLAPS",
- "PAD",
- "PARTIAL",
- "PARTITION",
- "PASCAL",
- "PERCENT",
- "PIVOT",
- "PLAN",
- "POSITION",
- "PRAGMA",
- "PRECEDING",
- "PRECISION",
- "PREPARE",
- "PRESERVE",
- "PRIMARY",
- "PRINT",
- "PRIOR",
- "PRIVILEGES",
- "PROC",
- "PROCEDURE",
- "PUBLIC",
- "QUERY",
- "RAISE",
- "RAISERROR",
- "RANGE",
- "READ",
- "READTEXT",
- "REAL",
- "RECONFIGURE",
- "RECURSIVE",
- "REFERENCES",
- "REGEXP",
- "REINDEX",
- "RELATIVE",
- "RELEASE",
- "RENAME",
- "REPLACE",
- "REPLICATION",
- "RESTORE",
- "RESTRICT",
- "RETURN",
- "RETURNING",
- "REVERT",
- "REVOKE",
- "RIGHT",
- "ROLLBACK",
- "ROW",
- "ROWCOUNT",
- "ROWGUIDCOL",
- "ROWS",
- "RULE",
- "SAVE",
- "SAVEPOINT",
- "SCHEMA",
- "SCROLL",
- "SECOND",
- "SECTION",
- "SECURITYAUDIT",
- "SELECT",
- "SEMANTICKEYPHRASETABLE",
- "SEMANTICSIMILARITYDETAILSTABLE",
- "SEMANTICSIMILARITYTABLE",
- "SESSION",
- "SESSION_USER",
- "SET",
- "SETUSER",
- "SHUTDOWN",
- "SIZE",
- "SMALLINT",
- "SOME",
- "SPACE",
- "SQL",
- "SQLCA",
- "SQLCODE",
- "SQLERROR",
- "SQLSTATE",
- "SQLWARNING",
- "STATISTICS",
- "SUBSTRING",
- "SUM",
- "SYSTEM_USER",
- "TABLE",
- "TABLESAMPLE",
- "TEMP",
- "TEMPORARY",
- "TEXTSIZE",
- "THEN",
- "TIES",
- "TIME",
- "TIMESTAMP",
- "TIMEZONE_HOUR",
- "TIMEZONE_MINUTE",
- "TO",
- "TOP",
- "TRAILING",
- "TRAN",
- "TRANSACTION",
- "TRANSLATE",
- "TRANSLATION",
- "TRIGGER",
- "TRIM",
- "TRUE",
- "TRUNCATE",
- "TRY_CONVERT",
- "TSEQUAL",
- "UNBOUNDED",
- "UNION",
- "UNIQUE",
- "UNKNOWN",
- "UNPIVOT",
- "UPDATE",
- "UPDATETEXT",
- "UPPER",
- "USAGE",
- "USE",
- "USER",
- "USING",
- "VACUUM",
- "VALUE",
- "VALUES",
- "VARCHAR",
- "VARYING",
- "VIEW",
- "VIRTUAL",
- "WAITFOR",
- "WHEN",
- "WHENEVER",
- "WHERE",
- "WHILE",
- "WINDOW",
- "WITH",
- "WITHIN GROUP",
- "WITHOUT",
- "WORK",
- "WRITE",
- "WRITETEXT",
- "YEAR",
- "ZONE"
- ],
- operators: [
- "ALL",
- "AND",
- "ANY",
- "BETWEEN",
- "EXISTS",
- "IN",
- "LIKE",
- "NOT",
- "OR",
- "SOME",
- "EXCEPT",
- "INTERSECT",
- "UNION",
- "APPLY",
- "CROSS",
- "FULL",
- "INNER",
- "JOIN",
- "LEFT",
- "OUTER",
- "RIGHT",
- "CONTAINS",
- "FREETEXT",
- "IS",
- "NULL",
- "PIVOT",
- "UNPIVOT",
- "MATCHED"
- ],
- builtinFunctions: [
- "AVG",
- "CHECKSUM_AGG",
- "COUNT",
- "COUNT_BIG",
- "GROUPING",
- "GROUPING_ID",
- "MAX",
- "MIN",
- "SUM",
- "STDEV",
- "STDEVP",
- "VAR",
- "VARP",
- "CUME_DIST",
- "FIRST_VALUE",
- "LAG",
- "LAST_VALUE",
- "LEAD",
- "PERCENTILE_CONT",
- "PERCENTILE_DISC",
- "PERCENT_RANK",
- "COLLATE",
- "COLLATIONPROPERTY",
- "TERTIARY_WEIGHTS",
- "FEDERATION_FILTERING_VALUE",
- "CAST",
- "CONVERT",
- "PARSE",
- "TRY_CAST",
- "TRY_CONVERT",
- "TRY_PARSE",
- "ASYMKEY_ID",
- "ASYMKEYPROPERTY",
- "CERTPROPERTY",
- "CERT_ID",
- "CRYPT_GEN_RANDOM",
- "DECRYPTBYASYMKEY",
- "DECRYPTBYCERT",
- "DECRYPTBYKEY",
- "DECRYPTBYKEYAUTOASYMKEY",
- "DECRYPTBYKEYAUTOCERT",
- "DECRYPTBYPASSPHRASE",
- "ENCRYPTBYASYMKEY",
- "ENCRYPTBYCERT",
- "ENCRYPTBYKEY",
- "ENCRYPTBYPASSPHRASE",
- "HASHBYTES",
- "IS_OBJECTSIGNED",
- "KEY_GUID",
- "KEY_ID",
- "KEY_NAME",
- "SIGNBYASYMKEY",
- "SIGNBYCERT",
- "SYMKEYPROPERTY",
- "VERIFYSIGNEDBYCERT",
- "VERIFYSIGNEDBYASYMKEY",
- "CURSOR_STATUS",
- "DATALENGTH",
- "IDENT_CURRENT",
- "IDENT_INCR",
- "IDENT_SEED",
- "IDENTITY",
- "SQL_VARIANT_PROPERTY",
- "CURRENT_TIMESTAMP",
- "DATEADD",
- "DATEDIFF",
- "DATEFROMPARTS",
- "DATENAME",
- "DATEPART",
- "DATETIME2FROMPARTS",
- "DATETIMEFROMPARTS",
- "DATETIMEOFFSETFROMPARTS",
- "DAY",
- "EOMONTH",
- "GETDATE",
- "GETUTCDATE",
- "ISDATE",
- "MONTH",
- "SMALLDATETIMEFROMPARTS",
- "SWITCHOFFSET",
- "SYSDATETIME",
- "SYSDATETIMEOFFSET",
- "SYSUTCDATETIME",
- "TIMEFROMPARTS",
- "TODATETIMEOFFSET",
- "YEAR",
- "CHOOSE",
- "COALESCE",
- "IIF",
- "NULLIF",
- "ABS",
- "ACOS",
- "ASIN",
- "ATAN",
- "ATN2",
- "CEILING",
- "COS",
- "COT",
- "DEGREES",
- "EXP",
- "FLOOR",
- "LOG",
- "LOG10",
- "PI",
- "POWER",
- "RADIANS",
- "RAND",
- "ROUND",
- "SIGN",
- "SIN",
- "SQRT",
- "SQUARE",
- "TAN",
- "APP_NAME",
- "APPLOCK_MODE",
- "APPLOCK_TEST",
- "ASSEMBLYPROPERTY",
- "COL_LENGTH",
- "COL_NAME",
- "COLUMNPROPERTY",
- "DATABASE_PRINCIPAL_ID",
- "DATABASEPROPERTYEX",
- "DB_ID",
- "DB_NAME",
- "FILE_ID",
- "FILE_IDEX",
- "FILE_NAME",
- "FILEGROUP_ID",
- "FILEGROUP_NAME",
- "FILEGROUPPROPERTY",
- "FILEPROPERTY",
- "FULLTEXTCATALOGPROPERTY",
- "FULLTEXTSERVICEPROPERTY",
- "INDEX_COL",
- "INDEXKEY_PROPERTY",
- "INDEXPROPERTY",
- "OBJECT_DEFINITION",
- "OBJECT_ID",
- "OBJECT_NAME",
- "OBJECT_SCHEMA_NAME",
- "OBJECTPROPERTY",
- "OBJECTPROPERTYEX",
- "ORIGINAL_DB_NAME",
- "PARSENAME",
- "SCHEMA_ID",
- "SCHEMA_NAME",
- "SCOPE_IDENTITY",
- "SERVERPROPERTY",
- "STATS_DATE",
- "TYPE_ID",
- "TYPE_NAME",
- "TYPEPROPERTY",
- "DENSE_RANK",
- "NTILE",
- "RANK",
- "ROW_NUMBER",
- "PUBLISHINGSERVERNAME",
- "OPENDATASOURCE",
- "OPENQUERY",
- "OPENROWSET",
- "OPENXML",
- "CERTENCODED",
- "CERTPRIVATEKEY",
- "CURRENT_USER",
- "HAS_DBACCESS",
- "HAS_PERMS_BY_NAME",
- "IS_MEMBER",
- "IS_ROLEMEMBER",
- "IS_SRVROLEMEMBER",
- "LOGINPROPERTY",
- "ORIGINAL_LOGIN",
- "PERMISSIONS",
- "PWDENCRYPT",
- "PWDCOMPARE",
- "SESSION_USER",
- "SESSIONPROPERTY",
- "SUSER_ID",
- "SUSER_NAME",
- "SUSER_SID",
- "SUSER_SNAME",
- "SYSTEM_USER",
- "USER",
- "USER_ID",
- "USER_NAME",
- "ASCII",
- "CHAR",
- "CHARINDEX",
- "CONCAT",
- "DIFFERENCE",
- "FORMAT",
- "LEFT",
- "LEN",
- "LOWER",
- "LTRIM",
- "NCHAR",
- "PATINDEX",
- "QUOTENAME",
- "REPLACE",
- "REPLICATE",
- "REVERSE",
- "RIGHT",
- "RTRIM",
- "SOUNDEX",
- "SPACE",
- "STR",
- "STUFF",
- "SUBSTRING",
- "UNICODE",
- "UPPER",
- "BINARY_CHECKSUM",
- "CHECKSUM",
- "CONNECTIONPROPERTY",
- "CONTEXT_INFO",
- "CURRENT_REQUEST_ID",
- "ERROR_LINE",
- "ERROR_NUMBER",
- "ERROR_MESSAGE",
- "ERROR_PROCEDURE",
- "ERROR_SEVERITY",
- "ERROR_STATE",
- "FORMATMESSAGE",
- "GETANSINULL",
- "GET_FILESTREAM_TRANSACTION_CONTEXT",
- "HOST_ID",
- "HOST_NAME",
- "ISNULL",
- "ISNUMERIC",
- "MIN_ACTIVE_ROWVERSION",
- "NEWID",
- "NEWSEQUENTIALID",
- "ROWCOUNT_BIG",
- "XACT_STATE",
- "TEXTPTR",
- "TEXTVALID",
- "COLUMNS_UPDATED",
- "EVENTDATA",
- "TRIGGER_NESTLEVEL",
- "UPDATE",
- "CHANGETABLE",
- "CHANGE_TRACKING_CONTEXT",
- "CHANGE_TRACKING_CURRENT_VERSION",
- "CHANGE_TRACKING_IS_COLUMN_IN_MASK",
- "CHANGE_TRACKING_MIN_VALID_VERSION",
- "CONTAINSTABLE",
- "FREETEXTTABLE",
- "SEMANTICKEYPHRASETABLE",
- "SEMANTICSIMILARITYDETAILSTABLE",
- "SEMANTICSIMILARITYTABLE",
- "FILETABLEROOTPATH",
- "GETFILENAMESPACEPATH",
- "GETPATHLOCATOR",
- "PATHNAME",
- "GET_TRANSMISSION_STATUS"
- ],
- builtinVariables: [
- "@@DATEFIRST",
- "@@DBTS",
- "@@LANGID",
- "@@LANGUAGE",
- "@@LOCK_TIMEOUT",
- "@@MAX_CONNECTIONS",
- "@@MAX_PRECISION",
- "@@NESTLEVEL",
- "@@OPTIONS",
- "@@REMSERVER",
- "@@SERVERNAME",
- "@@SERVICENAME",
- "@@SPID",
- "@@TEXTSIZE",
- "@@VERSION",
- "@@CURSOR_ROWS",
- "@@FETCH_STATUS",
- "@@DATEFIRST",
- "@@PROCID",
- "@@ERROR",
- "@@IDENTITY",
- "@@ROWCOUNT",
- "@@TRANCOUNT",
- "@@CONNECTIONS",
- "@@CPU_BUSY",
- "@@IDLE",
- "@@IO_BUSY",
- "@@PACKET_ERRORS",
- "@@PACK_RECEIVED",
- "@@PACK_SENT",
- "@@TIMETICKS",
- "@@TOTAL_ERRORS",
- "@@TOTAL_READ",
- "@@TOTAL_WRITE"
- ],
- pseudoColumns: ["$ACTION", "$IDENTITY", "$ROWGUID", "$PARTITION"],
- tokenizer: {
- root: [
- { include: "@comments" },
- { include: "@whitespace" },
- { include: "@pseudoColumns" },
- { include: "@numbers" },
- { include: "@strings" },
- { include: "@complexIdentifiers" },
- { include: "@scopes" },
- [/[;,.]/, "delimiter"],
- [/[()]/, "@brackets"],
- [
- /[\w@#$]+/,
- {
- cases: {
- "@operators": "operator",
- "@builtinVariables": "predefined",
- "@builtinFunctions": "predefined",
- "@keywords": "keyword",
- "@default": "identifier"
- }
- }
- ],
- [/[<>=!%&+\-*/|~^]/, "operator"]
- ],
- whitespace: [[/\s+/, "white"]],
- comments: [
- [/--+.*/, "comment"],
- [/\/\*/, { token: "comment.quote", next: "@comment" }]
- ],
- comment: [
- [/[^*/]+/, "comment"],
- [/\*\//, { token: "comment.quote", next: "@pop" }],
- [/./, "comment"]
- ],
- pseudoColumns: [
- [
- /[$][A-Za-z_][\w@#$]*/,
- {
- cases: {
- "@pseudoColumns": "predefined",
- "@default": "identifier"
- }
- }
- ]
- ],
- 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" }]
- ],
- scopes: [
- [/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i, "keyword"],
- [/BEGIN\s+TRY\b/i, { token: "keyword.try" }],
- [/END\s+TRY\b/i, { token: "keyword.try" }],
- [/BEGIN\s+CATCH\b/i, { token: "keyword.catch" }],
- [/END\s+CATCH\b/i, { token: "keyword.catch" }],
- [/(BEGIN|CASE)\b/i, { token: "keyword.block" }],
- [/END\b/i, { token: "keyword.block" }],
- [/WHEN\b/i, { token: "keyword.choice" }],
- [/THEN\b/i, { token: "keyword.choice" }]
- ]
- }
- };
- export {
- conf,
- language
- };
|