mysql.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878
  1. /*!-----------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
  4. * Released under the MIT license
  5. * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  6. *-----------------------------------------------------------------------------*/
  7. // src/basic-languages/mysql/mysql.ts
  8. var conf = {
  9. comments: {
  10. lineComment: "--",
  11. blockComment: ["/*", "*/"]
  12. },
  13. brackets: [
  14. ["{", "}"],
  15. ["[", "]"],
  16. ["(", ")"]
  17. ],
  18. autoClosingPairs: [
  19. { open: "{", close: "}" },
  20. { open: "[", close: "]" },
  21. { open: "(", close: ")" },
  22. { open: '"', close: '"' },
  23. { open: "'", close: "'" }
  24. ],
  25. surroundingPairs: [
  26. { open: "{", close: "}" },
  27. { open: "[", close: "]" },
  28. { open: "(", close: ")" },
  29. { open: '"', close: '"' },
  30. { open: "'", close: "'" }
  31. ]
  32. };
  33. var language = {
  34. defaultToken: "",
  35. tokenPostfix: ".sql",
  36. ignoreCase: true,
  37. brackets: [
  38. { open: "[", close: "]", token: "delimiter.square" },
  39. { open: "(", close: ")", token: "delimiter.parenthesis" }
  40. ],
  41. keywords: [
  42. "ACCESSIBLE",
  43. "ADD",
  44. "ALL",
  45. "ALTER",
  46. "ANALYZE",
  47. "AND",
  48. "AS",
  49. "ASC",
  50. "ASENSITIVE",
  51. "BEFORE",
  52. "BETWEEN",
  53. "BIGINT",
  54. "BINARY",
  55. "BLOB",
  56. "BOTH",
  57. "BY",
  58. "CALL",
  59. "CASCADE",
  60. "CASE",
  61. "CHANGE",
  62. "CHAR",
  63. "CHARACTER",
  64. "CHECK",
  65. "COLLATE",
  66. "COLUMN",
  67. "CONDITION",
  68. "CONSTRAINT",
  69. "CONTINUE",
  70. "CONVERT",
  71. "CREATE",
  72. "CROSS",
  73. "CUBE",
  74. "CUME_DIST",
  75. "CURRENT_DATE",
  76. "CURRENT_TIME",
  77. "CURRENT_TIMESTAMP",
  78. "CURRENT_USER",
  79. "CURSOR",
  80. "DATABASE",
  81. "DATABASES",
  82. "DAY_HOUR",
  83. "DAY_MICROSECOND",
  84. "DAY_MINUTE",
  85. "DAY_SECOND",
  86. "DEC",
  87. "DECIMAL",
  88. "DECLARE",
  89. "DEFAULT",
  90. "DELAYED",
  91. "DELETE",
  92. "DENSE_RANK",
  93. "DESC",
  94. "DESCRIBE",
  95. "DETERMINISTIC",
  96. "DISTINCT",
  97. "DISTINCTROW",
  98. "DIV",
  99. "DOUBLE",
  100. "DROP",
  101. "DUAL",
  102. "EACH",
  103. "ELSE",
  104. "ELSEIF",
  105. "EMPTY",
  106. "ENCLOSED",
  107. "ESCAPED",
  108. "EXCEPT",
  109. "EXISTS",
  110. "EXIT",
  111. "EXPLAIN",
  112. "FALSE",
  113. "FETCH",
  114. "FIRST_VALUE",
  115. "FLOAT",
  116. "FLOAT4",
  117. "FLOAT8",
  118. "FOR",
  119. "FORCE",
  120. "FOREIGN",
  121. "FROM",
  122. "FULLTEXT",
  123. "FUNCTION",
  124. "GENERATED",
  125. "GET",
  126. "GRANT",
  127. "GROUP",
  128. "GROUPING",
  129. "GROUPS",
  130. "HAVING",
  131. "HIGH_PRIORITY",
  132. "HOUR_MICROSECOND",
  133. "HOUR_MINUTE",
  134. "HOUR_SECOND",
  135. "IF",
  136. "IGNORE",
  137. "IN",
  138. "INDEX",
  139. "INFILE",
  140. "INNER",
  141. "INOUT",
  142. "INSENSITIVE",
  143. "INSERT",
  144. "INT",
  145. "INT1",
  146. "INT2",
  147. "INT3",
  148. "INT4",
  149. "INT8",
  150. "INTEGER",
  151. "INTERVAL",
  152. "INTO",
  153. "IO_AFTER_GTIDS",
  154. "IO_BEFORE_GTIDS",
  155. "IS",
  156. "ITERATE",
  157. "JOIN",
  158. "JSON_TABLE",
  159. "KEY",
  160. "KEYS",
  161. "KILL",
  162. "LAG",
  163. "LAST_VALUE",
  164. "LATERAL",
  165. "LEAD",
  166. "LEADING",
  167. "LEAVE",
  168. "LEFT",
  169. "LIKE",
  170. "LIMIT",
  171. "LINEAR",
  172. "LINES",
  173. "LOAD",
  174. "LOCALTIME",
  175. "LOCALTIMESTAMP",
  176. "LOCK",
  177. "LONG",
  178. "LONGBLOB",
  179. "LONGTEXT",
  180. "LOOP",
  181. "LOW_PRIORITY",
  182. "MASTER_BIND",
  183. "MASTER_SSL_VERIFY_SERVER_CERT",
  184. "MATCH",
  185. "MAXVALUE",
  186. "MEDIUMBLOB",
  187. "MEDIUMINT",
  188. "MEDIUMTEXT",
  189. "MIDDLEINT",
  190. "MINUTE_MICROSECOND",
  191. "MINUTE_SECOND",
  192. "MOD",
  193. "MODIFIES",
  194. "NATURAL",
  195. "NOT",
  196. "NO_WRITE_TO_BINLOG",
  197. "NTH_VALUE",
  198. "NTILE",
  199. "NULL",
  200. "NUMERIC",
  201. "OF",
  202. "ON",
  203. "OPTIMIZE",
  204. "OPTIMIZER_COSTS",
  205. "OPTION",
  206. "OPTIONALLY",
  207. "OR",
  208. "ORDER",
  209. "OUT",
  210. "OUTER",
  211. "OUTFILE",
  212. "OVER",
  213. "PARTITION",
  214. "PERCENT_RANK",
  215. "PRECISION",
  216. "PRIMARY",
  217. "PROCEDURE",
  218. "PURGE",
  219. "RANGE",
  220. "RANK",
  221. "READ",
  222. "READS",
  223. "READ_WRITE",
  224. "REAL",
  225. "RECURSIVE",
  226. "REFERENCES",
  227. "REGEXP",
  228. "RELEASE",
  229. "RENAME",
  230. "REPEAT",
  231. "REPLACE",
  232. "REQUIRE",
  233. "RESIGNAL",
  234. "RESTRICT",
  235. "RETURN",
  236. "REVOKE",
  237. "RIGHT",
  238. "RLIKE",
  239. "ROW",
  240. "ROWS",
  241. "ROW_NUMBER",
  242. "SCHEMA",
  243. "SCHEMAS",
  244. "SECOND_MICROSECOND",
  245. "SELECT",
  246. "SENSITIVE",
  247. "SEPARATOR",
  248. "SET",
  249. "SHOW",
  250. "SIGNAL",
  251. "SMALLINT",
  252. "SPATIAL",
  253. "SPECIFIC",
  254. "SQL",
  255. "SQLEXCEPTION",
  256. "SQLSTATE",
  257. "SQLWARNING",
  258. "SQL_BIG_RESULT",
  259. "SQL_CALC_FOUND_ROWS",
  260. "SQL_SMALL_RESULT",
  261. "SSL",
  262. "STARTING",
  263. "STORED",
  264. "STRAIGHT_JOIN",
  265. "SYSTEM",
  266. "TABLE",
  267. "TERMINATED",
  268. "THEN",
  269. "TINYBLOB",
  270. "TINYINT",
  271. "TINYTEXT",
  272. "TO",
  273. "TRAILING",
  274. "TRIGGER",
  275. "TRUE",
  276. "UNDO",
  277. "UNION",
  278. "UNIQUE",
  279. "UNLOCK",
  280. "UNSIGNED",
  281. "UPDATE",
  282. "USAGE",
  283. "USE",
  284. "USING",
  285. "UTC_DATE",
  286. "UTC_TIME",
  287. "UTC_TIMESTAMP",
  288. "VALUES",
  289. "VARBINARY",
  290. "VARCHAR",
  291. "VARCHARACTER",
  292. "VARYING",
  293. "VIRTUAL",
  294. "WHEN",
  295. "WHERE",
  296. "WHILE",
  297. "WINDOW",
  298. "WITH",
  299. "WRITE",
  300. "XOR",
  301. "YEAR_MONTH",
  302. "ZEROFILL"
  303. ],
  304. operators: [
  305. "AND",
  306. "BETWEEN",
  307. "IN",
  308. "LIKE",
  309. "NOT",
  310. "OR",
  311. "IS",
  312. "NULL",
  313. "INTERSECT",
  314. "UNION",
  315. "INNER",
  316. "JOIN",
  317. "LEFT",
  318. "OUTER",
  319. "RIGHT"
  320. ],
  321. builtinFunctions: [
  322. "ABS",
  323. "ACOS",
  324. "ADDDATE",
  325. "ADDTIME",
  326. "AES_DECRYPT",
  327. "AES_ENCRYPT",
  328. "ANY_VALUE",
  329. "Area",
  330. "AsBinary",
  331. "AsWKB",
  332. "ASCII",
  333. "ASIN",
  334. "AsText",
  335. "AsWKT",
  336. "ASYMMETRIC_DECRYPT",
  337. "ASYMMETRIC_DERIVE",
  338. "ASYMMETRIC_ENCRYPT",
  339. "ASYMMETRIC_SIGN",
  340. "ASYMMETRIC_VERIFY",
  341. "ATAN",
  342. "ATAN2",
  343. "ATAN",
  344. "AVG",
  345. "BENCHMARK",
  346. "BIN",
  347. "BIT_AND",
  348. "BIT_COUNT",
  349. "BIT_LENGTH",
  350. "BIT_OR",
  351. "BIT_XOR",
  352. "Buffer",
  353. "CAST",
  354. "CEIL",
  355. "CEILING",
  356. "Centroid",
  357. "CHAR",
  358. "CHAR_LENGTH",
  359. "CHARACTER_LENGTH",
  360. "CHARSET",
  361. "COALESCE",
  362. "COERCIBILITY",
  363. "COLLATION",
  364. "COMPRESS",
  365. "CONCAT",
  366. "CONCAT_WS",
  367. "CONNECTION_ID",
  368. "Contains",
  369. "CONV",
  370. "CONVERT",
  371. "CONVERT_TZ",
  372. "ConvexHull",
  373. "COS",
  374. "COT",
  375. "COUNT",
  376. "CRC32",
  377. "CREATE_ASYMMETRIC_PRIV_KEY",
  378. "CREATE_ASYMMETRIC_PUB_KEY",
  379. "CREATE_DH_PARAMETERS",
  380. "CREATE_DIGEST",
  381. "Crosses",
  382. "CUME_DIST",
  383. "CURDATE",
  384. "CURRENT_DATE",
  385. "CURRENT_ROLE",
  386. "CURRENT_TIME",
  387. "CURRENT_TIMESTAMP",
  388. "CURRENT_USER",
  389. "CURTIME",
  390. "DATABASE",
  391. "DATE",
  392. "DATE_ADD",
  393. "DATE_FORMAT",
  394. "DATE_SUB",
  395. "DATEDIFF",
  396. "DAY",
  397. "DAYNAME",
  398. "DAYOFMONTH",
  399. "DAYOFWEEK",
  400. "DAYOFYEAR",
  401. "DECODE",
  402. "DEFAULT",
  403. "DEGREES",
  404. "DES_DECRYPT",
  405. "DES_ENCRYPT",
  406. "DENSE_RANK",
  407. "Dimension",
  408. "Disjoint",
  409. "Distance",
  410. "ELT",
  411. "ENCODE",
  412. "ENCRYPT",
  413. "EndPoint",
  414. "Envelope",
  415. "Equals",
  416. "EXP",
  417. "EXPORT_SET",
  418. "ExteriorRing",
  419. "EXTRACT",
  420. "ExtractValue",
  421. "FIELD",
  422. "FIND_IN_SET",
  423. "FIRST_VALUE",
  424. "FLOOR",
  425. "FORMAT",
  426. "FORMAT_BYTES",
  427. "FORMAT_PICO_TIME",
  428. "FOUND_ROWS",
  429. "FROM_BASE64",
  430. "FROM_DAYS",
  431. "FROM_UNIXTIME",
  432. "GEN_RANGE",
  433. "GEN_RND_EMAIL",
  434. "GEN_RND_PAN",
  435. "GEN_RND_SSN",
  436. "GEN_RND_US_PHONE",
  437. "GeomCollection",
  438. "GeomCollFromText",
  439. "GeometryCollectionFromText",
  440. "GeomCollFromWKB",
  441. "GeometryCollectionFromWKB",
  442. "GeometryCollection",
  443. "GeometryN",
  444. "GeometryType",
  445. "GeomFromText",
  446. "GeometryFromText",
  447. "GeomFromWKB",
  448. "GeometryFromWKB",
  449. "GET_FORMAT",
  450. "GET_LOCK",
  451. "GLength",
  452. "GREATEST",
  453. "GROUP_CONCAT",
  454. "GROUPING",
  455. "GTID_SUBSET",
  456. "GTID_SUBTRACT",
  457. "HEX",
  458. "HOUR",
  459. "ICU_VERSION",
  460. "IF",
  461. "IFNULL",
  462. "INET_ATON",
  463. "INET_NTOA",
  464. "INET6_ATON",
  465. "INET6_NTOA",
  466. "INSERT",
  467. "INSTR",
  468. "InteriorRingN",
  469. "Intersects",
  470. "INTERVAL",
  471. "IS_FREE_LOCK",
  472. "IS_IPV4",
  473. "IS_IPV4_COMPAT",
  474. "IS_IPV4_MAPPED",
  475. "IS_IPV6",
  476. "IS_USED_LOCK",
  477. "IS_UUID",
  478. "IsClosed",
  479. "IsEmpty",
  480. "ISNULL",
  481. "IsSimple",
  482. "JSON_APPEND",
  483. "JSON_ARRAY",
  484. "JSON_ARRAY_APPEND",
  485. "JSON_ARRAY_INSERT",
  486. "JSON_ARRAYAGG",
  487. "JSON_CONTAINS",
  488. "JSON_CONTAINS_PATH",
  489. "JSON_DEPTH",
  490. "JSON_EXTRACT",
  491. "JSON_INSERT",
  492. "JSON_KEYS",
  493. "JSON_LENGTH",
  494. "JSON_MERGE",
  495. "JSON_MERGE_PATCH",
  496. "JSON_MERGE_PRESERVE",
  497. "JSON_OBJECT",
  498. "JSON_OBJECTAGG",
  499. "JSON_OVERLAPS",
  500. "JSON_PRETTY",
  501. "JSON_QUOTE",
  502. "JSON_REMOVE",
  503. "JSON_REPLACE",
  504. "JSON_SCHEMA_VALID",
  505. "JSON_SCHEMA_VALIDATION_REPORT",
  506. "JSON_SEARCH",
  507. "JSON_SET",
  508. "JSON_STORAGE_FREE",
  509. "JSON_STORAGE_SIZE",
  510. "JSON_TABLE",
  511. "JSON_TYPE",
  512. "JSON_UNQUOTE",
  513. "JSON_VALID",
  514. "LAG",
  515. "LAST_DAY",
  516. "LAST_INSERT_ID",
  517. "LAST_VALUE",
  518. "LCASE",
  519. "LEAD",
  520. "LEAST",
  521. "LEFT",
  522. "LENGTH",
  523. "LineFromText",
  524. "LineStringFromText",
  525. "LineFromWKB",
  526. "LineStringFromWKB",
  527. "LineString",
  528. "LN",
  529. "LOAD_FILE",
  530. "LOCALTIME",
  531. "LOCALTIMESTAMP",
  532. "LOCATE",
  533. "LOG",
  534. "LOG10",
  535. "LOG2",
  536. "LOWER",
  537. "LPAD",
  538. "LTRIM",
  539. "MAKE_SET",
  540. "MAKEDATE",
  541. "MAKETIME",
  542. "MASK_INNER",
  543. "MASK_OUTER",
  544. "MASK_PAN",
  545. "MASK_PAN_RELAXED",
  546. "MASK_SSN",
  547. "MASTER_POS_WAIT",
  548. "MAX",
  549. "MBRContains",
  550. "MBRCoveredBy",
  551. "MBRCovers",
  552. "MBRDisjoint",
  553. "MBREqual",
  554. "MBREquals",
  555. "MBRIntersects",
  556. "MBROverlaps",
  557. "MBRTouches",
  558. "MBRWithin",
  559. "MD5",
  560. "MEMBER OF",
  561. "MICROSECOND",
  562. "MID",
  563. "MIN",
  564. "MINUTE",
  565. "MLineFromText",
  566. "MultiLineStringFromText",
  567. "MLineFromWKB",
  568. "MultiLineStringFromWKB",
  569. "MOD",
  570. "MONTH",
  571. "MONTHNAME",
  572. "MPointFromText",
  573. "MultiPointFromText",
  574. "MPointFromWKB",
  575. "MultiPointFromWKB",
  576. "MPolyFromText",
  577. "MultiPolygonFromText",
  578. "MPolyFromWKB",
  579. "MultiPolygonFromWKB",
  580. "MultiLineString",
  581. "MultiPoint",
  582. "MultiPolygon",
  583. "NAME_CONST",
  584. "NOT IN",
  585. "NOW",
  586. "NTH_VALUE",
  587. "NTILE",
  588. "NULLIF",
  589. "NumGeometries",
  590. "NumInteriorRings",
  591. "NumPoints",
  592. "OCT",
  593. "OCTET_LENGTH",
  594. "OLD_PASSWORD",
  595. "ORD",
  596. "Overlaps",
  597. "PASSWORD",
  598. "PERCENT_RANK",
  599. "PERIOD_ADD",
  600. "PERIOD_DIFF",
  601. "PI",
  602. "Point",
  603. "PointFromText",
  604. "PointFromWKB",
  605. "PointN",
  606. "PolyFromText",
  607. "PolygonFromText",
  608. "PolyFromWKB",
  609. "PolygonFromWKB",
  610. "Polygon",
  611. "POSITION",
  612. "POW",
  613. "POWER",
  614. "PS_CURRENT_THREAD_ID",
  615. "PS_THREAD_ID",
  616. "PROCEDURE ANALYSE",
  617. "QUARTER",
  618. "QUOTE",
  619. "RADIANS",
  620. "RAND",
  621. "RANDOM_BYTES",
  622. "RANK",
  623. "REGEXP_INSTR",
  624. "REGEXP_LIKE",
  625. "REGEXP_REPLACE",
  626. "REGEXP_REPLACE",
  627. "RELEASE_ALL_LOCKS",
  628. "RELEASE_LOCK",
  629. "REPEAT",
  630. "REPLACE",
  631. "REVERSE",
  632. "RIGHT",
  633. "ROLES_GRAPHML",
  634. "ROUND",
  635. "ROW_COUNT",
  636. "ROW_NUMBER",
  637. "RPAD",
  638. "RTRIM",
  639. "SCHEMA",
  640. "SEC_TO_TIME",
  641. "SECOND",
  642. "SESSION_USER",
  643. "SHA1",
  644. "SHA",
  645. "SHA2",
  646. "SIGN",
  647. "SIN",
  648. "SLEEP",
  649. "SOUNDEX",
  650. "SOURCE_POS_WAIT",
  651. "SPACE",
  652. "SQRT",
  653. "SRID",
  654. "ST_Area",
  655. "ST_AsBinary",
  656. "ST_AsWKB",
  657. "ST_AsGeoJSON",
  658. "ST_AsText",
  659. "ST_AsWKT",
  660. "ST_Buffer",
  661. "ST_Buffer_Strategy",
  662. "ST_Centroid",
  663. "ST_Collect",
  664. "ST_Contains",
  665. "ST_ConvexHull",
  666. "ST_Crosses",
  667. "ST_Difference",
  668. "ST_Dimension",
  669. "ST_Disjoint",
  670. "ST_Distance",
  671. "ST_Distance_Sphere",
  672. "ST_EndPoint",
  673. "ST_Envelope",
  674. "ST_Equals",
  675. "ST_ExteriorRing",
  676. "ST_FrechetDistance",
  677. "ST_GeoHash",
  678. "ST_GeomCollFromText",
  679. "ST_GeometryCollectionFromText",
  680. "ST_GeomCollFromTxt",
  681. "ST_GeomCollFromWKB",
  682. "ST_GeometryCollectionFromWKB",
  683. "ST_GeometryN",
  684. "ST_GeometryType",
  685. "ST_GeomFromGeoJSON",
  686. "ST_GeomFromText",
  687. "ST_GeometryFromText",
  688. "ST_GeomFromWKB",
  689. "ST_GeometryFromWKB",
  690. "ST_HausdorffDistance",
  691. "ST_InteriorRingN",
  692. "ST_Intersection",
  693. "ST_Intersects",
  694. "ST_IsClosed",
  695. "ST_IsEmpty",
  696. "ST_IsSimple",
  697. "ST_IsValid",
  698. "ST_LatFromGeoHash",
  699. "ST_Length",
  700. "ST_LineFromText",
  701. "ST_LineStringFromText",
  702. "ST_LineFromWKB",
  703. "ST_LineStringFromWKB",
  704. "ST_LineInterpolatePoint",
  705. "ST_LineInterpolatePoints",
  706. "ST_LongFromGeoHash",
  707. "ST_Longitude",
  708. "ST_MakeEnvelope",
  709. "ST_MLineFromText",
  710. "ST_MultiLineStringFromText",
  711. "ST_MLineFromWKB",
  712. "ST_MultiLineStringFromWKB",
  713. "ST_MPointFromText",
  714. "ST_MultiPointFromText",
  715. "ST_MPointFromWKB",
  716. "ST_MultiPointFromWKB",
  717. "ST_MPolyFromText",
  718. "ST_MultiPolygonFromText",
  719. "ST_MPolyFromWKB",
  720. "ST_MultiPolygonFromWKB",
  721. "ST_NumGeometries",
  722. "ST_NumInteriorRing",
  723. "ST_NumInteriorRings",
  724. "ST_NumPoints",
  725. "ST_Overlaps",
  726. "ST_PointAtDistance",
  727. "ST_PointFromGeoHash",
  728. "ST_PointFromText",
  729. "ST_PointFromWKB",
  730. "ST_PointN",
  731. "ST_PolyFromText",
  732. "ST_PolygonFromText",
  733. "ST_PolyFromWKB",
  734. "ST_PolygonFromWKB",
  735. "ST_Simplify",
  736. "ST_SRID",
  737. "ST_StartPoint",
  738. "ST_SwapXY",
  739. "ST_SymDifference",
  740. "ST_Touches",
  741. "ST_Transform",
  742. "ST_Union",
  743. "ST_Validate",
  744. "ST_Within",
  745. "ST_X",
  746. "ST_Y",
  747. "StartPoint",
  748. "STATEMENT_DIGEST",
  749. "STATEMENT_DIGEST_TEXT",
  750. "STD",
  751. "STDDEV",
  752. "STDDEV_POP",
  753. "STDDEV_SAMP",
  754. "STR_TO_DATE",
  755. "STRCMP",
  756. "SUBDATE",
  757. "SUBSTR",
  758. "SUBSTRING",
  759. "SUBSTRING_INDEX",
  760. "SUBTIME",
  761. "SUM",
  762. "SYSDATE",
  763. "SYSTEM_USER",
  764. "TAN",
  765. "TIME",
  766. "TIME_FORMAT",
  767. "TIME_TO_SEC",
  768. "TIMEDIFF",
  769. "TIMESTAMP",
  770. "TIMESTAMPADD",
  771. "TIMESTAMPDIFF",
  772. "TO_BASE64",
  773. "TO_DAYS",
  774. "TO_SECONDS",
  775. "Touches",
  776. "TRIM",
  777. "TRUNCATE",
  778. "UCASE",
  779. "UNCOMPRESS",
  780. "UNCOMPRESSED_LENGTH",
  781. "UNHEX",
  782. "UNIX_TIMESTAMP",
  783. "UpdateXML",
  784. "UPPER",
  785. "USER",
  786. "UTC_DATE",
  787. "UTC_TIME",
  788. "UTC_TIMESTAMP",
  789. "UUID",
  790. "UUID_SHORT",
  791. "UUID_TO_BIN",
  792. "VALIDATE_PASSWORD_STRENGTH",
  793. "VALUES",
  794. "VAR_POP",
  795. "VAR_SAMP",
  796. "VARIANCE",
  797. "VERSION",
  798. "WAIT_FOR_EXECUTED_GTID_SET",
  799. "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS",
  800. "WEEK",
  801. "WEEKDAY",
  802. "WEEKOFYEAR",
  803. "WEIGHT_STRING",
  804. "Within",
  805. "X",
  806. "Y",
  807. "YEAR",
  808. "YEARWEEK"
  809. ],
  810. builtinVariables: [],
  811. tokenizer: {
  812. root: [
  813. { include: "@comments" },
  814. { include: "@whitespace" },
  815. { include: "@numbers" },
  816. { include: "@strings" },
  817. { include: "@complexIdentifiers" },
  818. { include: "@scopes" },
  819. [/[;,.]/, "delimiter"],
  820. [/[()]/, "@brackets"],
  821. [
  822. /[\w@]+/,
  823. {
  824. cases: {
  825. "@operators": "operator",
  826. "@builtinVariables": "predefined",
  827. "@builtinFunctions": "predefined",
  828. "@keywords": "keyword",
  829. "@default": "identifier"
  830. }
  831. }
  832. ],
  833. [/[<>=!%&+\-*/|~^]/, "operator"]
  834. ],
  835. whitespace: [[/\s+/, "white"]],
  836. comments: [
  837. [/--+.*/, "comment"],
  838. [/#+.*/, "comment"],
  839. [/\/\*/, { token: "comment.quote", next: "@comment" }]
  840. ],
  841. comment: [
  842. [/[^*/]+/, "comment"],
  843. [/\*\//, { token: "comment.quote", next: "@pop" }],
  844. [/./, "comment"]
  845. ],
  846. numbers: [
  847. [/0[xX][0-9a-fA-F]*/, "number"],
  848. [/[$][+-]*\d*(\.\d*)?/, "number"],
  849. [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
  850. ],
  851. strings: [
  852. [/'/, { token: "string", next: "@string" }],
  853. [/"/, { token: "string.double", next: "@stringDouble" }]
  854. ],
  855. string: [
  856. [/[^']+/, "string"],
  857. [/''/, "string"],
  858. [/'/, { token: "string", next: "@pop" }]
  859. ],
  860. stringDouble: [
  861. [/[^"]+/, "string.double"],
  862. [/""/, "string.double"],
  863. [/"/, { token: "string.double", next: "@pop" }]
  864. ],
  865. complexIdentifiers: [[/`/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
  866. quotedIdentifier: [
  867. [/[^`]+/, "identifier"],
  868. [/``/, "identifier"],
  869. [/`/, { token: "identifier.quote", next: "@pop" }]
  870. ],
  871. scopes: []
  872. }
  873. };
  874. export {
  875. conf,
  876. language
  877. };