mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 17:25:39 +01:00
Move basic languages sources to /src/
This commit is contained in:
parent
d5e3af3744
commit
0f7286cf55
247 changed files with 138 additions and 210 deletions
32
src/basic-languages/mysql/keywords.js
Normal file
32
src/basic-languages/mysql/keywords.js
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const keywords = getMySQLKeywords();
|
||||
keywords.sort();
|
||||
console.log(`'${keywords.join("',\n'")}'`);
|
||||
|
||||
function getMySQLKeywords() {
|
||||
// https://dev.mysql.com/doc/refman/8.0/en/keywords.html
|
||||
const lines = fs
|
||||
.readFileSync(path.join(__dirname, 'keywords.mysql.txt'))
|
||||
.toString()
|
||||
.split(/\r\n|\r|\n/);
|
||||
const tokens = [];
|
||||
for (let line of lines) {
|
||||
// Treat ; as a comment marker
|
||||
line = line.replace(/;.*$/, '');
|
||||
line = line.trim();
|
||||
// Only consider reserved keywords
|
||||
if (!/ \(R\)$/.test(line)) {
|
||||
continue;
|
||||
}
|
||||
line = line.replace(/ \(R\)$/, '');
|
||||
tokens.push(line);
|
||||
}
|
||||
return tokens;
|
||||
}
|
||||
750
src/basic-languages/mysql/keywords.mysql.txt
Normal file
750
src/basic-languages/mysql/keywords.mysql.txt
Normal file
|
|
@ -0,0 +1,750 @@
|
|||
ACCESSIBLE (R)
|
||||
ACCOUNT
|
||||
ACTION
|
||||
ACTIVE; added in 8.0.14 (nonreserved)
|
||||
ADD (R)
|
||||
ADMIN; became nonreserved in 8.0.12
|
||||
AFTER
|
||||
AGAINST
|
||||
AGGREGATE
|
||||
ALGORITHM
|
||||
ALL (R)
|
||||
ALTER (R)
|
||||
ALWAYS
|
||||
ANALYSE; removed in 8.0.1
|
||||
ANALYZE (R)
|
||||
AND (R)
|
||||
ANY
|
||||
ARRAY; added in 8.0.17 (reserved); became nonreserved in 8.0.19
|
||||
AS (R)
|
||||
ASC (R)
|
||||
ASCII
|
||||
ASENSITIVE (R)
|
||||
AT
|
||||
ATTRIBUTE; added in 8.0.21 (nonreserved)
|
||||
AUTHENTICATION; added in 8.0.27 (nonreserved)
|
||||
AUTOEXTEND_SIZE
|
||||
AUTO_INCREMENT
|
||||
AVG
|
||||
AVG_ROW_LENGTH
|
||||
BACKUP
|
||||
BEFORE (R)
|
||||
BEGIN
|
||||
BETWEEN (R)
|
||||
BIGINT (R)
|
||||
BINARY (R)
|
||||
BINLOG
|
||||
BIT
|
||||
BLOB (R)
|
||||
BLOCK
|
||||
BOOL
|
||||
BOOLEAN
|
||||
BOTH (R)
|
||||
BTREE
|
||||
BUCKETS; added in 8.0.2 (nonreserved)
|
||||
BY (R)
|
||||
BYTE
|
||||
CACHE
|
||||
CALL (R)
|
||||
CASCADE (R)
|
||||
CASCADED
|
||||
CASE (R)
|
||||
CATALOG_NAME
|
||||
CHAIN
|
||||
CHALLENGE_RESPONSE; added in 8.0.27 (nonreserved)
|
||||
CHANGE (R)
|
||||
CHANGED
|
||||
CHANNEL
|
||||
CHAR (R)
|
||||
CHARACTER (R)
|
||||
CHARSET
|
||||
CHECK (R)
|
||||
CHECKSUM
|
||||
CIPHER
|
||||
CLASS_ORIGIN
|
||||
CLIENT
|
||||
CLONE; added in 8.0.3 (nonreserved)
|
||||
CLOSE
|
||||
COALESCE
|
||||
CODE
|
||||
COLLATE (R)
|
||||
COLLATION
|
||||
COLUMN (R)
|
||||
COLUMNS
|
||||
COLUMN_FORMAT
|
||||
COLUMN_NAME
|
||||
COMMENT
|
||||
COMMIT
|
||||
COMMITTED
|
||||
COMPACT
|
||||
COMPLETION
|
||||
COMPONENT
|
||||
COMPRESSED
|
||||
COMPRESSION
|
||||
CONCURRENT
|
||||
CONDITION (R)
|
||||
CONNECTION
|
||||
CONSISTENT
|
||||
CONSTRAINT (R)
|
||||
CONSTRAINT_CATALOG
|
||||
CONSTRAINT_NAME
|
||||
CONSTRAINT_SCHEMA
|
||||
CONTAINS
|
||||
CONTEXT
|
||||
CONTINUE (R)
|
||||
CONVERT (R)
|
||||
CPU
|
||||
CREATE (R)
|
||||
CROSS (R)
|
||||
CUBE (R); became reserved in 8.0.1
|
||||
CUME_DIST (R); added in 8.0.2 (reserved)
|
||||
CURRENT
|
||||
CURRENT_DATE (R)
|
||||
CURRENT_TIME (R)
|
||||
CURRENT_TIMESTAMP (R)
|
||||
CURRENT_USER (R)
|
||||
CURSOR (R)
|
||||
CURSOR_NAME
|
||||
DATA
|
||||
DATABASE (R)
|
||||
DATABASES (R)
|
||||
DATAFILE
|
||||
DATE
|
||||
DATETIME
|
||||
DAY
|
||||
DAY_HOUR (R)
|
||||
DAY_MICROSECOND (R)
|
||||
DAY_MINUTE (R)
|
||||
DAY_SECOND (R)
|
||||
DEALLOCATE
|
||||
DEC (R)
|
||||
DECIMAL (R)
|
||||
DECLARE (R)
|
||||
DEFAULT (R)
|
||||
DEFAULT_AUTH
|
||||
DEFINER
|
||||
DEFINITION; added in 8.0.4 (nonreserved)
|
||||
DELAYED (R)
|
||||
DELAY_KEY_WRITE
|
||||
DELETE (R)
|
||||
DENSE_RANK (R); added in 8.0.2 (reserved)
|
||||
DESC (R)
|
||||
DESCRIBE (R)
|
||||
DESCRIPTION; added in 8.0.4 (nonreserved)
|
||||
DES_KEY_FILE; removed in 8.0.3
|
||||
DETERMINISTIC (R)
|
||||
DIAGNOSTICS
|
||||
DIRECTORY
|
||||
DISABLE
|
||||
DISCARD
|
||||
DISK
|
||||
DISTINCT (R)
|
||||
DISTINCTROW (R)
|
||||
DIV (R)
|
||||
DO
|
||||
DOUBLE (R)
|
||||
DROP (R)
|
||||
DUAL (R)
|
||||
DUMPFILE
|
||||
DUPLICATE
|
||||
DYNAMIC
|
||||
EACH (R)
|
||||
ELSE (R)
|
||||
ELSEIF (R)
|
||||
EMPTY (R); added in 8.0.4 (reserved)
|
||||
ENABLE
|
||||
ENCLOSED (R)
|
||||
ENCRYPTION
|
||||
END
|
||||
ENDS
|
||||
ENFORCED; added in 8.0.16 (nonreserved)
|
||||
ENGINE
|
||||
ENGINES
|
||||
ENGINE_ATTRIBUTE; added in 8.0.21 (nonreserved)
|
||||
ENUM
|
||||
ERROR
|
||||
ERRORS
|
||||
ESCAPE
|
||||
ESCAPED (R)
|
||||
EVENT
|
||||
EVENTS
|
||||
EVERY
|
||||
EXCEPT (R)
|
||||
EXCHANGE
|
||||
EXCLUDE; added in 8.0.2 (nonreserved)
|
||||
EXECUTE
|
||||
EXISTS (R)
|
||||
EXIT (R)
|
||||
EXPANSION
|
||||
EXPIRE
|
||||
EXPLAIN (R)
|
||||
EXPORT
|
||||
EXTENDED
|
||||
EXTENT_SIZE
|
||||
FACTOR; added in 8.0.27 (nonreserved)
|
||||
FAILED_LOGIN_ATTEMPTS; added in 8.0.19 (nonreserved)
|
||||
FALSE (R)
|
||||
FAST
|
||||
FAULTS
|
||||
FETCH (R)
|
||||
FIELDS
|
||||
FILE
|
||||
FILE_BLOCK_SIZE
|
||||
FILTER
|
||||
FINISH; added in 8.0.27 (nonreserved)
|
||||
FIRST
|
||||
FIRST_VALUE (R); added in 8.0.2 (reserved)
|
||||
FIXED
|
||||
FLOAT (R)
|
||||
FLOAT4 (R)
|
||||
FLOAT8 (R)
|
||||
FLUSH
|
||||
FOLLOWING; added in 8.0.2 (nonreserved)
|
||||
FOLLOWS
|
||||
FOR (R)
|
||||
FORCE (R)
|
||||
FOREIGN (R)
|
||||
FORMAT
|
||||
FOUND
|
||||
FROM (R)
|
||||
FULL
|
||||
FULLTEXT (R)
|
||||
FUNCTION (R); became reserved in 8.0.1
|
||||
GENERAL
|
||||
GENERATED (R)
|
||||
GEOMCOLLECTION; added in 8.0.11 (nonreserved)
|
||||
GEOMETRY
|
||||
GEOMETRYCOLLECTION
|
||||
GET (R)
|
||||
GET_FORMAT
|
||||
GET_MASTER_PUBLIC_KEY; added in 8.0.4 (reserved); became nonreserved in 8.0.11
|
||||
GET_SOURCE_PUBLIC_KEY; added in 8.0.23 (nonreserved)
|
||||
GLOBAL
|
||||
GRANT (R)
|
||||
GRANTS
|
||||
GROUP (R)
|
||||
GROUPING (R); added in 8.0.1 (reserved)
|
||||
GROUPS (R); added in 8.0.2 (reserved)
|
||||
GROUP_REPLICATION
|
||||
GTID_ONLY; added in 8.0.27 (nonreserved)
|
||||
HANDLER
|
||||
HASH
|
||||
HAVING (R)
|
||||
HELP
|
||||
HIGH_PRIORITY (R)
|
||||
HISTOGRAM; added in 8.0.2 (nonreserved)
|
||||
HISTORY; added in 8.0.3 (nonreserved)
|
||||
HOST
|
||||
HOSTS
|
||||
HOUR
|
||||
HOUR_MICROSECOND (R)
|
||||
HOUR_MINUTE (R)
|
||||
HOUR_SECOND (R)
|
||||
IDENTIFIED
|
||||
IF (R)
|
||||
IGNORE (R)
|
||||
IGNORE_SERVER_IDS
|
||||
IMPORT
|
||||
IN (R)
|
||||
INACTIVE; added in 8.0.14 (nonreserved)
|
||||
INDEX (R)
|
||||
INDEXES
|
||||
INFILE (R)
|
||||
INITIAL; added in 8.0.27 (nonreserved)
|
||||
INITIAL_SIZE
|
||||
INITIATE; added in 8.0.27 (nonreserved)
|
||||
INNER (R)
|
||||
INOUT (R)
|
||||
INSENSITIVE (R)
|
||||
INSERT (R)
|
||||
INSERT_METHOD
|
||||
INSTALL
|
||||
INSTANCE
|
||||
INT (R)
|
||||
INT1 (R)
|
||||
INT2 (R)
|
||||
INT3 (R)
|
||||
INT4 (R)
|
||||
INT8 (R)
|
||||
INTEGER (R)
|
||||
INTERVAL (R)
|
||||
INTO (R)
|
||||
INVISIBLE
|
||||
INVOKER
|
||||
IO
|
||||
IO_AFTER_GTIDS (R)
|
||||
IO_BEFORE_GTIDS (R)
|
||||
IO_THREAD
|
||||
IPC
|
||||
IS (R)
|
||||
ISOLATION
|
||||
ISSUER
|
||||
ITERATE (R)
|
||||
JOIN (R)
|
||||
JSON
|
||||
JSON_TABLE (R); added in 8.0.4 (reserved)
|
||||
JSON_VALUE; added in 8.0.21 (nonreserved)
|
||||
KEY (R)
|
||||
KEYRING; added in 8.0.24 (nonreserved)
|
||||
KEYS (R)
|
||||
KEY_BLOCK_SIZE
|
||||
KILL (R)
|
||||
LAG (R); added in 8.0.2 (reserved)
|
||||
LANGUAGE
|
||||
LAST
|
||||
LAST_VALUE (R); added in 8.0.2 (reserved)
|
||||
LATERAL (R); added in 8.0.14 (reserved)
|
||||
LEAD (R); added in 8.0.2 (reserved)
|
||||
LEADING (R)
|
||||
LEAVE (R)
|
||||
LEAVES
|
||||
LEFT (R)
|
||||
LESS
|
||||
LEVEL
|
||||
LIKE (R)
|
||||
LIMIT (R)
|
||||
LINEAR (R)
|
||||
LINES (R)
|
||||
LINESTRING
|
||||
LIST
|
||||
LOAD (R)
|
||||
LOCAL
|
||||
LOCALTIME (R)
|
||||
LOCALTIMESTAMP (R)
|
||||
LOCK (R)
|
||||
LOCKED; added in 8.0.1 (nonreserved)
|
||||
LOCKS
|
||||
LOGFILE
|
||||
LOGS
|
||||
LONG (R)
|
||||
LONGBLOB (R)
|
||||
LONGTEXT (R)
|
||||
LOOP (R)
|
||||
LOW_PRIORITY (R)
|
||||
MASTER
|
||||
MASTER_AUTO_POSITION
|
||||
MASTER_BIND (R)
|
||||
MASTER_COMPRESSION_ALGORITHMS; added in 8.0.18 (nonreserved)
|
||||
MASTER_CONNECT_RETRY
|
||||
MASTER_DELAY
|
||||
MASTER_HEARTBEAT_PERIOD
|
||||
MASTER_HOST
|
||||
MASTER_LOG_FILE
|
||||
MASTER_LOG_POS
|
||||
MASTER_PASSWORD
|
||||
MASTER_PORT
|
||||
MASTER_PUBLIC_KEY_PATH; added in 8.0.4 (nonreserved)
|
||||
MASTER_RETRY_COUNT
|
||||
MASTER_SERVER_ID; removed in 8.0.23
|
||||
MASTER_SSL
|
||||
MASTER_SSL_CA
|
||||
MASTER_SSL_CAPATH
|
||||
MASTER_SSL_CERT
|
||||
MASTER_SSL_CIPHER
|
||||
MASTER_SSL_CRL
|
||||
MASTER_SSL_CRLPATH
|
||||
MASTER_SSL_KEY
|
||||
MASTER_SSL_VERIFY_SERVER_CERT (R)
|
||||
MASTER_TLS_CIPHERSUITES; added in 8.0.19 (nonreserved)
|
||||
MASTER_TLS_VERSION
|
||||
MASTER_USER
|
||||
MASTER_ZSTD_COMPRESSION_LEVEL; added in 8.0.18 (nonreserved)
|
||||
MATCH (R)
|
||||
MAXVALUE (R)
|
||||
MAX_CONNECTIONS_PER_HOUR
|
||||
MAX_QUERIES_PER_HOUR
|
||||
MAX_ROWS
|
||||
MAX_SIZE
|
||||
MAX_UPDATES_PER_HOUR
|
||||
MAX_USER_CONNECTIONS
|
||||
MEDIUM
|
||||
MEDIUMBLOB (R)
|
||||
MEDIUMINT (R)
|
||||
MEDIUMTEXT (R)
|
||||
MEMBER; added in 8.0.17 (reserved); became nonreserved in 8.0.19
|
||||
MEMORY
|
||||
MERGE
|
||||
MESSAGE_TEXT
|
||||
MICROSECOND
|
||||
MIDDLEINT (R)
|
||||
MIGRATE
|
||||
MINUTE
|
||||
MINUTE_MICROSECOND (R)
|
||||
MINUTE_SECOND (R)
|
||||
MIN_ROWS
|
||||
MOD (R)
|
||||
MODE
|
||||
MODIFIES (R)
|
||||
MODIFY
|
||||
MONTH
|
||||
MULTILINESTRING
|
||||
MULTIPOINT
|
||||
MULTIPOLYGON
|
||||
MUTEX
|
||||
MYSQL_ERRNO
|
||||
NAME
|
||||
NAMES
|
||||
NATIONAL
|
||||
NATURAL (R)
|
||||
NCHAR
|
||||
NDB
|
||||
NDBCLUSTER
|
||||
NESTED; added in 8.0.4 (nonreserved)
|
||||
NETWORK_NAMESPACE; added in 8.0.16 (nonreserved)
|
||||
NEVER
|
||||
NEW
|
||||
NEXT
|
||||
NO
|
||||
NODEGROUP
|
||||
NONE
|
||||
NOT (R)
|
||||
NOWAIT; added in 8.0.1 (nonreserved)
|
||||
NO_WAIT
|
||||
NO_WRITE_TO_BINLOG (R)
|
||||
NTH_VALUE (R); added in 8.0.2 (reserved)
|
||||
NTILE (R); added in 8.0.2 (reserved)
|
||||
NULL (R)
|
||||
NULLS; added in 8.0.2 (nonreserved)
|
||||
NUMBER
|
||||
NUMERIC (R)
|
||||
NVARCHAR
|
||||
OF (R); added in 8.0.1 (reserved)
|
||||
OFF; added in 8.0.20 (nonreserved)
|
||||
OFFSET
|
||||
OJ; added in 8.0.16 (nonreserved)
|
||||
OLD; added in 8.0.14 (nonreserved)
|
||||
ON (R)
|
||||
ONE
|
||||
ONLY
|
||||
OPEN
|
||||
OPTIMIZE (R)
|
||||
OPTIMIZER_COSTS (R)
|
||||
OPTION (R)
|
||||
OPTIONAL; added in 8.0.13 (nonreserved)
|
||||
OPTIONALLY (R)
|
||||
OPTIONS
|
||||
OR (R)
|
||||
ORDER (R)
|
||||
ORDINALITY; added in 8.0.4 (nonreserved)
|
||||
ORGANIZATION; added in 8.0.4 (nonreserved)
|
||||
OTHERS; added in 8.0.2 (nonreserved)
|
||||
OUT (R)
|
||||
OUTER (R)
|
||||
OUTFILE (R)
|
||||
OVER (R); added in 8.0.2 (reserved)
|
||||
OWNER
|
||||
PACK_KEYS
|
||||
PAGE
|
||||
PARSER
|
||||
PARTIAL
|
||||
PARTITION (R)
|
||||
PARTITIONING
|
||||
PARTITIONS
|
||||
PASSWORD
|
||||
PASSWORD_LOCK_TIME; added in 8.0.19 (nonreserved)
|
||||
PATH; added in 8.0.4 (nonreserved)
|
||||
PERCENT_RANK (R); added in 8.0.2 (reserved)
|
||||
PERSIST; became nonreserved in 8.0.16
|
||||
PERSIST_ONLY; added in 8.0.2 (reserved); became nonreserved in 8.0.16
|
||||
PHASE
|
||||
PLUGIN
|
||||
PLUGINS
|
||||
PLUGIN_DIR
|
||||
POINT
|
||||
POLYGON
|
||||
PORT
|
||||
PRECEDES
|
||||
PRECEDING; added in 8.0.2 (nonreserved)
|
||||
PRECISION (R)
|
||||
PREPARE
|
||||
PRESERVE
|
||||
PREV
|
||||
PRIMARY (R)
|
||||
PRIVILEGES
|
||||
PRIVILEGE_CHECKS_USER; added in 8.0.18 (nonreserved)
|
||||
PROCEDURE (R)
|
||||
PROCESS; added in 8.0.11 (nonreserved)
|
||||
PROCESSLIST
|
||||
PROFILE
|
||||
PROFILES
|
||||
PROXY
|
||||
PURGE (R)
|
||||
QUARTER
|
||||
QUERY
|
||||
QUICK
|
||||
RANDOM; added in 8.0.18 (nonreserved)
|
||||
RANGE (R)
|
||||
RANK (R); added in 8.0.2 (reserved)
|
||||
READ (R)
|
||||
READS (R)
|
||||
READ_ONLY
|
||||
READ_WRITE (R)
|
||||
REAL (R)
|
||||
REBUILD
|
||||
RECOVER
|
||||
RECURSIVE (R); added in 8.0.1 (reserved)
|
||||
REDOFILE; removed in 8.0.3
|
||||
REDO_BUFFER_SIZE
|
||||
REDUNDANT
|
||||
REFERENCE; added in 8.0.4 (nonreserved)
|
||||
REFERENCES (R)
|
||||
REGEXP (R)
|
||||
REGISTRATION; added in 8.0.27 (nonreserved)
|
||||
RELAY
|
||||
RELAYLOG
|
||||
RELAY_LOG_FILE
|
||||
RELAY_LOG_POS
|
||||
RELAY_THREAD
|
||||
RELEASE (R)
|
||||
RELOAD
|
||||
REMOTE; added in 8.0.3 (nonreserved); removed in 8.0.14
|
||||
REMOVE
|
||||
RENAME (R)
|
||||
REORGANIZE
|
||||
REPAIR
|
||||
REPEAT (R)
|
||||
REPEATABLE
|
||||
REPLACE (R)
|
||||
REPLICA; added in 8.0.22 (nonreserved)
|
||||
REPLICAS; added in 8.0.22 (nonreserved)
|
||||
REPLICATE_DO_DB
|
||||
REPLICATE_DO_TABLE
|
||||
REPLICATE_IGNORE_DB
|
||||
REPLICATE_IGNORE_TABLE
|
||||
REPLICATE_REWRITE_DB
|
||||
REPLICATE_WILD_DO_TABLE
|
||||
REPLICATE_WILD_IGNORE_TABLE
|
||||
REPLICATION
|
||||
REQUIRE (R)
|
||||
REQUIRE_ROW_FORMAT; added in 8.0.19 (nonreserved)
|
||||
RESET
|
||||
RESIGNAL (R)
|
||||
RESOURCE; added in 8.0.3 (nonreserved)
|
||||
RESPECT; added in 8.0.2 (nonreserved)
|
||||
RESTART; added in 8.0.4 (nonreserved)
|
||||
RESTORE
|
||||
RESTRICT (R)
|
||||
RESUME
|
||||
RETAIN; added in 8.0.14 (nonreserved)
|
||||
RETURN (R)
|
||||
RETURNED_SQLSTATE
|
||||
RETURNING; added in 8.0.21 (nonreserved)
|
||||
RETURNS
|
||||
REUSE; added in 8.0.3 (nonreserved)
|
||||
REVERSE
|
||||
REVOKE (R)
|
||||
RIGHT (R)
|
||||
RLIKE (R)
|
||||
ROLE; became nonreserved in 8.0.1
|
||||
ROLLBACK
|
||||
ROLLUP
|
||||
ROTATE
|
||||
ROUTINE
|
||||
ROW (R); became reserved in 8.0.2
|
||||
ROWS (R); became reserved in 8.0.2
|
||||
ROW_COUNT
|
||||
ROW_FORMAT
|
||||
ROW_NUMBER (R); added in 8.0.2 (reserved)
|
||||
RTREE
|
||||
SAVEPOINT
|
||||
SCHEDULE
|
||||
SCHEMA (R)
|
||||
SCHEMAS (R)
|
||||
SCHEMA_NAME
|
||||
SECOND
|
||||
SECONDARY; added in 8.0.16 (nonreserved)
|
||||
SECONDARY_ENGINE; added in 8.0.13 (nonreserved)
|
||||
SECONDARY_ENGINE_ATTRIBUTE; added in 8.0.21 (nonreserved)
|
||||
SECONDARY_LOAD; added in 8.0.13 (nonreserved)
|
||||
SECONDARY_UNLOAD; added in 8.0.13 (nonreserved)
|
||||
SECOND_MICROSECOND (R)
|
||||
SECURITY
|
||||
SELECT (R)
|
||||
SENSITIVE (R)
|
||||
SEPARATOR (R)
|
||||
SERIAL
|
||||
SERIALIZABLE
|
||||
SERVER
|
||||
SESSION
|
||||
SET (R)
|
||||
SHARE
|
||||
SHOW (R)
|
||||
SHUTDOWN
|
||||
SIGNAL (R)
|
||||
SIGNED
|
||||
SIMPLE
|
||||
SKIP; added in 8.0.1 (nonreserved)
|
||||
SLAVE
|
||||
SLOW
|
||||
SMALLINT (R)
|
||||
SNAPSHOT
|
||||
SOCKET
|
||||
SOME
|
||||
SONAME
|
||||
SOUNDS
|
||||
SOURCE
|
||||
SOURCE_AUTO_POSITION; added in 8.0.23 (nonreserved)
|
||||
SOURCE_BIND; added in 8.0.23 (nonreserved)
|
||||
SOURCE_COMPRESSION_ALGORITHMS; added in 8.0.23 (nonreserved)
|
||||
SOURCE_CONNECT_RETRY; added in 8.0.23 (nonreserved)
|
||||
SOURCE_DELAY; added in 8.0.23 (nonreserved)
|
||||
SOURCE_HEARTBEAT_PERIOD; added in 8.0.23 (nonreserved)
|
||||
SOURCE_HOST; added in 8.0.23 (nonreserved)
|
||||
SOURCE_LOG_FILE; added in 8.0.23 (nonreserved)
|
||||
SOURCE_LOG_POS; added in 8.0.23 (nonreserved)
|
||||
SOURCE_PASSWORD; added in 8.0.23 (nonreserved)
|
||||
SOURCE_PORT; added in 8.0.23 (nonreserved)
|
||||
SOURCE_PUBLIC_KEY_PATH; added in 8.0.23 (nonreserved)
|
||||
SOURCE_RETRY_COUNT; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_CA; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_CAPATH; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_CERT; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_CIPHER; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_CRL; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_CRLPATH; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_KEY; added in 8.0.23 (nonreserved)
|
||||
SOURCE_SSL_VERIFY_SERVER_CERT; added in 8.0.23 (nonreserved)
|
||||
SOURCE_TLS_CIPHERSUITES; added in 8.0.23 (nonreserved)
|
||||
SOURCE_TLS_VERSION; added in 8.0.23 (nonreserved)
|
||||
SOURCE_USER; added in 8.0.23 (nonreserved)
|
||||
SOURCE_ZSTD_COMPRESSION_LEVEL; added in 8.0.23 (nonreserved)
|
||||
SPATIAL (R)
|
||||
SPECIFIC (R)
|
||||
SQL (R)
|
||||
SQLEXCEPTION (R)
|
||||
SQLSTATE (R)
|
||||
SQLWARNING (R)
|
||||
SQL_AFTER_GTIDS
|
||||
SQL_AFTER_MTS_GAPS
|
||||
SQL_BEFORE_GTIDS
|
||||
SQL_BIG_RESULT (R)
|
||||
SQL_BUFFER_RESULT
|
||||
SQL_CACHE; removed in 8.0.3
|
||||
SQL_CALC_FOUND_ROWS (R)
|
||||
SQL_NO_CACHE
|
||||
SQL_SMALL_RESULT (R)
|
||||
SQL_THREAD
|
||||
SQL_TSI_DAY
|
||||
SQL_TSI_HOUR
|
||||
SQL_TSI_MINUTE
|
||||
SQL_TSI_MONTH
|
||||
SQL_TSI_QUARTER
|
||||
SQL_TSI_SECOND
|
||||
SQL_TSI_WEEK
|
||||
SQL_TSI_YEAR
|
||||
SRID; added in 8.0.3 (nonreserved)
|
||||
SSL (R)
|
||||
STACKED
|
||||
START
|
||||
STARTING (R)
|
||||
STARTS
|
||||
STATS_AUTO_RECALC
|
||||
STATS_PERSISTENT
|
||||
STATS_SAMPLE_PAGES
|
||||
STATUS
|
||||
STOP
|
||||
STORAGE
|
||||
STORED (R)
|
||||
STRAIGHT_JOIN (R)
|
||||
STREAM; added in 8.0.20 (nonreserved)
|
||||
STRING
|
||||
SUBCLASS_ORIGIN
|
||||
SUBJECT
|
||||
SUBPARTITION
|
||||
SUBPARTITIONS
|
||||
SUPER
|
||||
SUSPEND
|
||||
SWAPS
|
||||
SWITCHES
|
||||
SYSTEM (R); added in 8.0.3 (reserved)
|
||||
TABLE (R)
|
||||
TABLES
|
||||
TABLESPACE
|
||||
TABLE_CHECKSUM
|
||||
TABLE_NAME
|
||||
TEMPORARY
|
||||
TEMPTABLE
|
||||
TERMINATED (R)
|
||||
TEXT
|
||||
THAN
|
||||
THEN (R)
|
||||
THREAD_PRIORITY; added in 8.0.3 (nonreserved)
|
||||
TIES; added in 8.0.2 (nonreserved)
|
||||
TIME
|
||||
TIMESTAMP
|
||||
TIMESTAMPADD
|
||||
TIMESTAMPDIFF
|
||||
TINYBLOB (R)
|
||||
TINYINT (R)
|
||||
TINYTEXT (R)
|
||||
TLS; added in 8.0.21 (nonreserved)
|
||||
TO (R)
|
||||
TRAILING (R)
|
||||
TRANSACTION
|
||||
TRIGGER (R)
|
||||
TRIGGERS
|
||||
TRUE (R)
|
||||
TRUNCATE
|
||||
TYPE
|
||||
TYPES
|
||||
UNBOUNDED; added in 8.0.2 (nonreserved)
|
||||
UNCOMMITTED
|
||||
UNDEFINED
|
||||
UNDO (R)
|
||||
UNDOFILE
|
||||
UNDO_BUFFER_SIZE
|
||||
UNICODE
|
||||
UNINSTALL
|
||||
UNION (R)
|
||||
UNIQUE (R)
|
||||
UNKNOWN
|
||||
UNLOCK (R)
|
||||
UNREGISTER; added in 8.0.27 (nonreserved)
|
||||
UNSIGNED (R)
|
||||
UNTIL
|
||||
UPDATE (R)
|
||||
UPGRADE
|
||||
USAGE (R)
|
||||
USE (R)
|
||||
USER
|
||||
USER_RESOURCES
|
||||
USE_FRM
|
||||
USING (R)
|
||||
UTC_DATE (R)
|
||||
UTC_TIME (R)
|
||||
UTC_TIMESTAMP (R)
|
||||
VALIDATION
|
||||
VALUE
|
||||
VALUES (R)
|
||||
VARBINARY (R)
|
||||
VARCHAR (R)
|
||||
VARCHARACTER (R)
|
||||
VARIABLES
|
||||
VARYING (R)
|
||||
VCPU; added in 8.0.3 (nonreserved)
|
||||
VIEW
|
||||
VIRTUAL (R)
|
||||
VISIBLE
|
||||
WAIT
|
||||
WARNINGS
|
||||
WEEK
|
||||
WEIGHT_STRING
|
||||
WHEN (R)
|
||||
WHERE (R)
|
||||
WHILE (R)
|
||||
WINDOW (R); added in 8.0.2 (reserved)
|
||||
WITH (R)
|
||||
WITHOUT
|
||||
WORK
|
||||
WRAPPER
|
||||
WRITE (R)
|
||||
X509
|
||||
XA
|
||||
XID
|
||||
XML
|
||||
XOR (R)
|
||||
YEAR
|
||||
YEAR_MONTH (R)
|
||||
ZEROFILL (R)
|
||||
ZONE; added in 8.0.22 (nonreserved)
|
||||
24
src/basic-languages/mysql/mysql.contribution.ts
Normal file
24
src/basic-languages/mysql/mysql.contribution.ts
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { registerLanguage } from '../_.contribution';
|
||||
|
||||
declare var AMD: any;
|
||||
declare var require: any;
|
||||
|
||||
registerLanguage({
|
||||
id: 'mysql',
|
||||
extensions: [],
|
||||
aliases: ['MySQL', 'mysql'],
|
||||
loader: () => {
|
||||
if (AMD) {
|
||||
return new Promise((resolve, reject) => {
|
||||
require(['vs/basic-languages/mysql/mysql'], resolve, reject);
|
||||
});
|
||||
} else {
|
||||
return import('./mysql');
|
||||
}
|
||||
}
|
||||
});
|
||||
596
src/basic-languages/mysql/mysql.test.ts
Normal file
596
src/basic-languages/mysql/mysql.test.ts
Normal file
|
|
@ -0,0 +1,596 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { testTokenization } from '../test/testRunner';
|
||||
|
||||
testTokenization('mysql', [
|
||||
// Comments
|
||||
[
|
||||
{
|
||||
line: '-- a comment',
|
||||
tokens: [{ startIndex: 0, type: 'comment.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '---sticky -- comment',
|
||||
tokens: [{ startIndex: 0, type: 'comment.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '-almost a comment',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'operator.sql' },
|
||||
{ startIndex: 1, type: 'identifier.sql' },
|
||||
{ startIndex: 7, type: 'white.sql' },
|
||||
{ startIndex: 8, type: 'identifier.sql' },
|
||||
{ startIndex: 9, type: 'white.sql' },
|
||||
{ startIndex: 10, type: 'identifier.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '/* a full line comment */',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'comment.quote.sql' },
|
||||
{ startIndex: 2, type: 'comment.sql' },
|
||||
{ startIndex: 23, type: 'comment.quote.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '/* /// *** /// */',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'comment.quote.sql' },
|
||||
{ startIndex: 2, type: 'comment.sql' },
|
||||
{ startIndex: 15, type: 'comment.quote.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '# comment',
|
||||
tokens: [{ startIndex: 0, type: 'comment.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: 'declare @x int = /* a simple comment */ 1;',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 7, type: 'white.sql' },
|
||||
{ startIndex: 8, type: 'identifier.sql' },
|
||||
{ startIndex: 10, type: 'white.sql' },
|
||||
{ startIndex: 11, type: 'keyword.sql' },
|
||||
{ startIndex: 14, type: 'white.sql' },
|
||||
{ startIndex: 15, type: 'operator.sql' },
|
||||
{ startIndex: 16, type: 'white.sql' },
|
||||
{ startIndex: 17, type: 'comment.quote.sql' },
|
||||
{ startIndex: 19, type: 'comment.sql' },
|
||||
{ startIndex: 37, type: 'comment.quote.sql' },
|
||||
{ startIndex: 39, type: 'white.sql' },
|
||||
{ startIndex: 40, type: 'number.sql' },
|
||||
{ startIndex: 41, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
// Not supporting nested comments, as nested comments seem to not be standard?
|
||||
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
|
||||
[
|
||||
{
|
||||
line: '@x=/* a /* nested comment 1*/;',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.sql' },
|
||||
{ startIndex: 2, type: 'operator.sql' },
|
||||
{ startIndex: 3, type: 'comment.quote.sql' },
|
||||
{ startIndex: 5, type: 'comment.sql' },
|
||||
{ startIndex: 28, type: 'comment.quote.sql' },
|
||||
{ startIndex: 30, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '@x=/* another comment */ 1*/;',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.sql' },
|
||||
{ startIndex: 2, type: 'operator.sql' },
|
||||
{ startIndex: 3, type: 'comment.quote.sql' },
|
||||
{ startIndex: 5, type: 'comment.sql' },
|
||||
{ startIndex: 22, type: 'comment.quote.sql' },
|
||||
{ startIndex: 24, type: 'white.sql' },
|
||||
{ startIndex: 25, type: 'number.sql' },
|
||||
{ startIndex: 26, type: 'operator.sql' },
|
||||
{ startIndex: 28, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '@x=/*/;',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.sql' },
|
||||
{ startIndex: 2, type: 'operator.sql' },
|
||||
{ startIndex: 3, type: 'comment.quote.sql' },
|
||||
{ startIndex: 5, type: 'comment.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
// Numbers
|
||||
[
|
||||
{
|
||||
line: '123',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '-123',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'operator.sql' },
|
||||
{ startIndex: 1, type: 'number.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0xaBc123',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0XaBc123',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0x',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0x0',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0xAB_CD',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'number.sql' },
|
||||
{ startIndex: 4, type: 'identifier.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$-123',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$-+-123',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$123.5678',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$0.99',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$.99',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$99.',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$0.',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '$.0',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '.',
|
||||
tokens: [{ startIndex: 0, type: 'delimiter.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '123',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '123.5678',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0.99',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '.99',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '99.',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0.',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '.0',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '1E-2',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '1E+2',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '1E2',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '0.1E2',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '1.E2',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '.1E2',
|
||||
tokens: [{ startIndex: 0, type: 'number.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
// Identifiers
|
||||
|
||||
[
|
||||
{
|
||||
line: 'declare `abc 321`;',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 7, type: 'white.sql' },
|
||||
{ startIndex: 8, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 9, type: 'identifier.sql' },
|
||||
{ startIndex: 16, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 17, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '`abc`` 321 `` xyz`',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 1, type: 'identifier.sql' },
|
||||
{ startIndex: 17, type: 'identifier.quote.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '`abc',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 1, type: 'identifier.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: 'declare `abc 321`;',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 7, type: 'white.sql' },
|
||||
{ startIndex: 8, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 9, type: 'identifier.sql' },
|
||||
{ startIndex: 16, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 17, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '`abc`` 321 `` xyz`',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 1, type: 'identifier.sql' },
|
||||
{ startIndex: 17, type: 'identifier.quote.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '`abc',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 1, type: 'identifier.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: 'int',
|
||||
tokens: [{ startIndex: 0, type: 'keyword.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '`int`',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.quote.sql' },
|
||||
{ startIndex: 1, type: 'identifier.sql' },
|
||||
{ startIndex: 4, type: 'identifier.quote.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
// Strings
|
||||
[
|
||||
{
|
||||
line: "declare @x='a string';",
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 7, type: 'white.sql' },
|
||||
{ startIndex: 8, type: 'identifier.sql' },
|
||||
{ startIndex: 10, type: 'operator.sql' },
|
||||
{ startIndex: 11, type: 'string.sql' },
|
||||
{ startIndex: 21, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: 'declare @x="a string";',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 7, type: 'white.sql' },
|
||||
{ startIndex: 8, type: 'identifier.sql' },
|
||||
{ startIndex: 10, type: 'operator.sql' },
|
||||
{ startIndex: 11, type: 'string.double.sql' },
|
||||
{ startIndex: 21, type: 'delimiter.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: "'a '' string with quotes'",
|
||||
tokens: [{ startIndex: 0, type: 'string.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '"a "" string with quotes"',
|
||||
tokens: [{ startIndex: 0, type: 'string.double.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: "'a \" string with quotes'",
|
||||
tokens: [{ startIndex: 0, type: 'string.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '"a ` string with quotes"',
|
||||
tokens: [{ startIndex: 0, type: 'string.double.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: "'a -- string with comment'",
|
||||
tokens: [{ startIndex: 0, type: 'string.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '"a -- string with comment"',
|
||||
tokens: [{ startIndex: 0, type: 'string.double.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: "'a endless string",
|
||||
tokens: [{ startIndex: 0, type: 'string.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '"a endless string',
|
||||
tokens: [{ startIndex: 0, type: 'string.double.sql' }]
|
||||
}
|
||||
],
|
||||
|
||||
// Operators
|
||||
[
|
||||
{
|
||||
line: 'SET @x=@x+1',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 3, type: 'white.sql' },
|
||||
{ startIndex: 4, type: 'identifier.sql' },
|
||||
{ startIndex: 6, type: 'operator.sql' },
|
||||
{ startIndex: 7, type: 'identifier.sql' },
|
||||
{ startIndex: 9, type: 'operator.sql' },
|
||||
{ startIndex: 10, type: 'number.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: '@x^=@x',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'identifier.sql' },
|
||||
{ startIndex: 2, type: 'operator.sql' },
|
||||
{ startIndex: 4, type: 'identifier.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: 'WHERE myfield IS NOT NULL',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 5, type: 'white.sql' },
|
||||
{ startIndex: 6, type: 'identifier.sql' },
|
||||
{ startIndex: 13, type: 'white.sql' },
|
||||
{ startIndex: 14, type: 'operator.sql' },
|
||||
{ startIndex: 16, type: 'white.sql' },
|
||||
{ startIndex: 17, type: 'operator.sql' },
|
||||
{ startIndex: 20, type: 'white.sql' },
|
||||
{ startIndex: 21, type: 'operator.sql' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
[
|
||||
{
|
||||
line: 'SELECT * FROM tbl WHERE MyColumn IN (1,2)',
|
||||
tokens: [
|
||||
{ startIndex: 0, type: 'keyword.sql' },
|
||||
{ startIndex: 6, type: 'white.sql' },
|
||||
{ startIndex: 7, type: 'operator.sql' },
|
||||
{ startIndex: 8, type: 'white.sql' },
|
||||
{ startIndex: 9, type: 'keyword.sql' },
|
||||
{ startIndex: 13, type: 'white.sql' },
|
||||
{ startIndex: 14, type: 'identifier.sql' },
|
||||
{ startIndex: 17, type: 'white.sql' },
|
||||
{ startIndex: 18, type: 'keyword.sql' },
|
||||
{ startIndex: 23, type: 'white.sql' },
|
||||
{ startIndex: 24, type: 'identifier.sql' },
|
||||
{ startIndex: 32, type: 'white.sql' },
|
||||
{ startIndex: 33, type: 'operator.sql' },
|
||||
{ startIndex: 35, type: 'white.sql' },
|
||||
{ startIndex: 36, type: 'delimiter.parenthesis.sql' },
|
||||
{ startIndex: 37, type: 'number.sql' },
|
||||
{ startIndex: 38, type: 'delimiter.sql' },
|
||||
{ startIndex: 39, type: 'number.sql' },
|
||||
{ startIndex: 40, type: 'delimiter.parenthesis.sql' }
|
||||
]
|
||||
}
|
||||
]
|
||||
]);
|
||||
884
src/basic-languages/mysql/mysql.ts
Normal file
884
src/basic-languages/mysql/mysql.ts
Normal file
|
|
@ -0,0 +1,884 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import type { languages } from '../../fillers/monaco-editor-core';
|
||||
|
||||
export const conf: languages.LanguageConfiguration = {
|
||||
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: "'" }
|
||||
]
|
||||
};
|
||||
|
||||
export const language = <languages.IMonarchLanguage>{
|
||||
defaultToken: '',
|
||||
tokenPostfix: '.sql',
|
||||
ignoreCase: true,
|
||||
|
||||
brackets: [
|
||||
{ open: '[', close: ']', token: 'delimiter.square' },
|
||||
{ open: '(', close: ')', token: 'delimiter.parenthesis' }
|
||||
],
|
||||
|
||||
keywords: [
|
||||
// This list is generated using `keywords.js`
|
||||
'ACCESSIBLE',
|
||||
'ADD',
|
||||
'ALL',
|
||||
'ALTER',
|
||||
'ANALYZE',
|
||||
'AND',
|
||||
'AS',
|
||||
'ASC',
|
||||
'ASENSITIVE',
|
||||
'BEFORE',
|
||||
'BETWEEN',
|
||||
'BIGINT',
|
||||
'BINARY',
|
||||
'BLOB',
|
||||
'BOTH',
|
||||
'BY',
|
||||
'CALL',
|
||||
'CASCADE',
|
||||
'CASE',
|
||||
'CHANGE',
|
||||
'CHAR',
|
||||
'CHARACTER',
|
||||
'CHECK',
|
||||
'COLLATE',
|
||||
'COLUMN',
|
||||
'CONDITION',
|
||||
'CONSTRAINT',
|
||||
'CONTINUE',
|
||||
'CONVERT',
|
||||
'CREATE',
|
||||
'CROSS',
|
||||
'CUBE',
|
||||
'CUME_DIST',
|
||||
'CURRENT_DATE',
|
||||
'CURRENT_TIME',
|
||||
'CURRENT_TIMESTAMP',
|
||||
'CURRENT_USER',
|
||||
'CURSOR',
|
||||
'DATABASE',
|
||||
'DATABASES',
|
||||
'DAY_HOUR',
|
||||
'DAY_MICROSECOND',
|
||||
'DAY_MINUTE',
|
||||
'DAY_SECOND',
|
||||
'DEC',
|
||||
'DECIMAL',
|
||||
'DECLARE',
|
||||
'DEFAULT',
|
||||
'DELAYED',
|
||||
'DELETE',
|
||||
'DENSE_RANK',
|
||||
'DESC',
|
||||
'DESCRIBE',
|
||||
'DETERMINISTIC',
|
||||
'DISTINCT',
|
||||
'DISTINCTROW',
|
||||
'DIV',
|
||||
'DOUBLE',
|
||||
'DROP',
|
||||
'DUAL',
|
||||
'EACH',
|
||||
'ELSE',
|
||||
'ELSEIF',
|
||||
'EMPTY',
|
||||
'ENCLOSED',
|
||||
'ESCAPED',
|
||||
'EXCEPT',
|
||||
'EXISTS',
|
||||
'EXIT',
|
||||
'EXPLAIN',
|
||||
'FALSE',
|
||||
'FETCH',
|
||||
'FIRST_VALUE',
|
||||
'FLOAT',
|
||||
'FLOAT4',
|
||||
'FLOAT8',
|
||||
'FOR',
|
||||
'FORCE',
|
||||
'FOREIGN',
|
||||
'FROM',
|
||||
'FULLTEXT',
|
||||
'FUNCTION',
|
||||
'GENERATED',
|
||||
'GET',
|
||||
'GRANT',
|
||||
'GROUP',
|
||||
'GROUPING',
|
||||
'GROUPS',
|
||||
'HAVING',
|
||||
'HIGH_PRIORITY',
|
||||
'HOUR_MICROSECOND',
|
||||
'HOUR_MINUTE',
|
||||
'HOUR_SECOND',
|
||||
'IF',
|
||||
'IGNORE',
|
||||
'IN',
|
||||
'INDEX',
|
||||
'INFILE',
|
||||
'INNER',
|
||||
'INOUT',
|
||||
'INSENSITIVE',
|
||||
'INSERT',
|
||||
'INT',
|
||||
'INT1',
|
||||
'INT2',
|
||||
'INT3',
|
||||
'INT4',
|
||||
'INT8',
|
||||
'INTEGER',
|
||||
'INTERVAL',
|
||||
'INTO',
|
||||
'IO_AFTER_GTIDS',
|
||||
'IO_BEFORE_GTIDS',
|
||||
'IS',
|
||||
'ITERATE',
|
||||
'JOIN',
|
||||
'JSON_TABLE',
|
||||
'KEY',
|
||||
'KEYS',
|
||||
'KILL',
|
||||
'LAG',
|
||||
'LAST_VALUE',
|
||||
'LATERAL',
|
||||
'LEAD',
|
||||
'LEADING',
|
||||
'LEAVE',
|
||||
'LEFT',
|
||||
'LIKE',
|
||||
'LIMIT',
|
||||
'LINEAR',
|
||||
'LINES',
|
||||
'LOAD',
|
||||
'LOCALTIME',
|
||||
'LOCALTIMESTAMP',
|
||||
'LOCK',
|
||||
'LONG',
|
||||
'LONGBLOB',
|
||||
'LONGTEXT',
|
||||
'LOOP',
|
||||
'LOW_PRIORITY',
|
||||
'MASTER_BIND',
|
||||
'MASTER_SSL_VERIFY_SERVER_CERT',
|
||||
'MATCH',
|
||||
'MAXVALUE',
|
||||
'MEDIUMBLOB',
|
||||
'MEDIUMINT',
|
||||
'MEDIUMTEXT',
|
||||
'MIDDLEINT',
|
||||
'MINUTE_MICROSECOND',
|
||||
'MINUTE_SECOND',
|
||||
'MOD',
|
||||
'MODIFIES',
|
||||
'NATURAL',
|
||||
'NOT',
|
||||
'NO_WRITE_TO_BINLOG',
|
||||
'NTH_VALUE',
|
||||
'NTILE',
|
||||
'NULL',
|
||||
'NUMERIC',
|
||||
'OF',
|
||||
'ON',
|
||||
'OPTIMIZE',
|
||||
'OPTIMIZER_COSTS',
|
||||
'OPTION',
|
||||
'OPTIONALLY',
|
||||
'OR',
|
||||
'ORDER',
|
||||
'OUT',
|
||||
'OUTER',
|
||||
'OUTFILE',
|
||||
'OVER',
|
||||
'PARTITION',
|
||||
'PERCENT_RANK',
|
||||
'PRECISION',
|
||||
'PRIMARY',
|
||||
'PROCEDURE',
|
||||
'PURGE',
|
||||
'RANGE',
|
||||
'RANK',
|
||||
'READ',
|
||||
'READS',
|
||||
'READ_WRITE',
|
||||
'REAL',
|
||||
'RECURSIVE',
|
||||
'REFERENCES',
|
||||
'REGEXP',
|
||||
'RELEASE',
|
||||
'RENAME',
|
||||
'REPEAT',
|
||||
'REPLACE',
|
||||
'REQUIRE',
|
||||
'RESIGNAL',
|
||||
'RESTRICT',
|
||||
'RETURN',
|
||||
'REVOKE',
|
||||
'RIGHT',
|
||||
'RLIKE',
|
||||
'ROW',
|
||||
'ROWS',
|
||||
'ROW_NUMBER',
|
||||
'SCHEMA',
|
||||
'SCHEMAS',
|
||||
'SECOND_MICROSECOND',
|
||||
'SELECT',
|
||||
'SENSITIVE',
|
||||
'SEPARATOR',
|
||||
'SET',
|
||||
'SHOW',
|
||||
'SIGNAL',
|
||||
'SMALLINT',
|
||||
'SPATIAL',
|
||||
'SPECIFIC',
|
||||
'SQL',
|
||||
'SQLEXCEPTION',
|
||||
'SQLSTATE',
|
||||
'SQLWARNING',
|
||||
'SQL_BIG_RESULT',
|
||||
'SQL_CALC_FOUND_ROWS',
|
||||
'SQL_SMALL_RESULT',
|
||||
'SSL',
|
||||
'STARTING',
|
||||
'STORED',
|
||||
'STRAIGHT_JOIN',
|
||||
'SYSTEM',
|
||||
'TABLE',
|
||||
'TERMINATED',
|
||||
'THEN',
|
||||
'TINYBLOB',
|
||||
'TINYINT',
|
||||
'TINYTEXT',
|
||||
'TO',
|
||||
'TRAILING',
|
||||
'TRIGGER',
|
||||
'TRUE',
|
||||
'UNDO',
|
||||
'UNION',
|
||||
'UNIQUE',
|
||||
'UNLOCK',
|
||||
'UNSIGNED',
|
||||
'UPDATE',
|
||||
'USAGE',
|
||||
'USE',
|
||||
'USING',
|
||||
'UTC_DATE',
|
||||
'UTC_TIME',
|
||||
'UTC_TIMESTAMP',
|
||||
'VALUES',
|
||||
'VARBINARY',
|
||||
'VARCHAR',
|
||||
'VARCHARACTER',
|
||||
'VARYING',
|
||||
'VIRTUAL',
|
||||
'WHEN',
|
||||
'WHERE',
|
||||
'WHILE',
|
||||
'WINDOW',
|
||||
'WITH',
|
||||
'WRITE',
|
||||
'XOR',
|
||||
'YEAR_MONTH',
|
||||
'ZEROFILL'
|
||||
],
|
||||
operators: [
|
||||
'AND',
|
||||
'BETWEEN',
|
||||
'IN',
|
||||
'LIKE',
|
||||
'NOT',
|
||||
'OR',
|
||||
'IS',
|
||||
'NULL',
|
||||
'INTERSECT',
|
||||
'UNION',
|
||||
'INNER',
|
||||
'JOIN',
|
||||
'LEFT',
|
||||
'OUTER',
|
||||
'RIGHT'
|
||||
],
|
||||
builtinFunctions: [
|
||||
'ABS',
|
||||
'ACOS',
|
||||
'ADDDATE',
|
||||
'ADDTIME',
|
||||
'AES_DECRYPT',
|
||||
'AES_ENCRYPT',
|
||||
'ANY_VALUE',
|
||||
'Area',
|
||||
'AsBinary',
|
||||
'AsWKB',
|
||||
'ASCII',
|
||||
'ASIN',
|
||||
'AsText',
|
||||
'AsWKT',
|
||||
'ASYMMETRIC_DECRYPT',
|
||||
'ASYMMETRIC_DERIVE',
|
||||
'ASYMMETRIC_ENCRYPT',
|
||||
'ASYMMETRIC_SIGN',
|
||||
'ASYMMETRIC_VERIFY',
|
||||
'ATAN',
|
||||
'ATAN2',
|
||||
'ATAN',
|
||||
'AVG',
|
||||
'BENCHMARK',
|
||||
'BIN',
|
||||
'BIT_AND',
|
||||
'BIT_COUNT',
|
||||
'BIT_LENGTH',
|
||||
'BIT_OR',
|
||||
'BIT_XOR',
|
||||
'Buffer',
|
||||
'CAST',
|
||||
'CEIL',
|
||||
'CEILING',
|
||||
'Centroid',
|
||||
'CHAR',
|
||||
'CHAR_LENGTH',
|
||||
'CHARACTER_LENGTH',
|
||||
'CHARSET',
|
||||
'COALESCE',
|
||||
'COERCIBILITY',
|
||||
'COLLATION',
|
||||
'COMPRESS',
|
||||
'CONCAT',
|
||||
'CONCAT_WS',
|
||||
'CONNECTION_ID',
|
||||
'Contains',
|
||||
'CONV',
|
||||
'CONVERT',
|
||||
'CONVERT_TZ',
|
||||
'ConvexHull',
|
||||
'COS',
|
||||
'COT',
|
||||
'COUNT',
|
||||
'CRC32',
|
||||
'CREATE_ASYMMETRIC_PRIV_KEY',
|
||||
'CREATE_ASYMMETRIC_PUB_KEY',
|
||||
'CREATE_DH_PARAMETERS',
|
||||
'CREATE_DIGEST',
|
||||
'Crosses',
|
||||
'CUME_DIST',
|
||||
'CURDATE',
|
||||
'CURRENT_DATE',
|
||||
'CURRENT_ROLE',
|
||||
'CURRENT_TIME',
|
||||
'CURRENT_TIMESTAMP',
|
||||
'CURRENT_USER',
|
||||
'CURTIME',
|
||||
'DATABASE',
|
||||
'DATE',
|
||||
'DATE_ADD',
|
||||
'DATE_FORMAT',
|
||||
'DATE_SUB',
|
||||
'DATEDIFF',
|
||||
'DAY',
|
||||
'DAYNAME',
|
||||
'DAYOFMONTH',
|
||||
'DAYOFWEEK',
|
||||
'DAYOFYEAR',
|
||||
'DECODE',
|
||||
'DEFAULT',
|
||||
'DEGREES',
|
||||
'DES_DECRYPT',
|
||||
'DES_ENCRYPT',
|
||||
'DENSE_RANK',
|
||||
'Dimension',
|
||||
'Disjoint',
|
||||
'Distance',
|
||||
'ELT',
|
||||
'ENCODE',
|
||||
'ENCRYPT',
|
||||
'EndPoint',
|
||||
'Envelope',
|
||||
'Equals',
|
||||
'EXP',
|
||||
'EXPORT_SET',
|
||||
'ExteriorRing',
|
||||
'EXTRACT',
|
||||
'ExtractValue',
|
||||
'FIELD',
|
||||
'FIND_IN_SET',
|
||||
'FIRST_VALUE',
|
||||
'FLOOR',
|
||||
'FORMAT',
|
||||
'FORMAT_BYTES',
|
||||
'FORMAT_PICO_TIME',
|
||||
'FOUND_ROWS',
|
||||
'FROM_BASE64',
|
||||
'FROM_DAYS',
|
||||
'FROM_UNIXTIME',
|
||||
'GEN_RANGE',
|
||||
'GEN_RND_EMAIL',
|
||||
'GEN_RND_PAN',
|
||||
'GEN_RND_SSN',
|
||||
'GEN_RND_US_PHONE',
|
||||
'GeomCollection',
|
||||
'GeomCollFromText',
|
||||
'GeometryCollectionFromText',
|
||||
'GeomCollFromWKB',
|
||||
'GeometryCollectionFromWKB',
|
||||
'GeometryCollection',
|
||||
'GeometryN',
|
||||
'GeometryType',
|
||||
'GeomFromText',
|
||||
'GeometryFromText',
|
||||
'GeomFromWKB',
|
||||
'GeometryFromWKB',
|
||||
'GET_FORMAT',
|
||||
'GET_LOCK',
|
||||
'GLength',
|
||||
'GREATEST',
|
||||
'GROUP_CONCAT',
|
||||
'GROUPING',
|
||||
'GTID_SUBSET',
|
||||
'GTID_SUBTRACT',
|
||||
'HEX',
|
||||
'HOUR',
|
||||
'ICU_VERSION',
|
||||
'IF',
|
||||
'IFNULL',
|
||||
'INET_ATON',
|
||||
'INET_NTOA',
|
||||
'INET6_ATON',
|
||||
'INET6_NTOA',
|
||||
'INSERT',
|
||||
'INSTR',
|
||||
'InteriorRingN',
|
||||
'Intersects',
|
||||
'INTERVAL',
|
||||
'IS_FREE_LOCK',
|
||||
'IS_IPV4',
|
||||
'IS_IPV4_COMPAT',
|
||||
'IS_IPV4_MAPPED',
|
||||
'IS_IPV6',
|
||||
'IS_USED_LOCK',
|
||||
'IS_UUID',
|
||||
'IsClosed',
|
||||
'IsEmpty',
|
||||
'ISNULL',
|
||||
'IsSimple',
|
||||
'JSON_APPEND',
|
||||
'JSON_ARRAY',
|
||||
'JSON_ARRAY_APPEND',
|
||||
'JSON_ARRAY_INSERT',
|
||||
'JSON_ARRAYAGG',
|
||||
'JSON_CONTAINS',
|
||||
'JSON_CONTAINS_PATH',
|
||||
'JSON_DEPTH',
|
||||
'JSON_EXTRACT',
|
||||
'JSON_INSERT',
|
||||
'JSON_KEYS',
|
||||
'JSON_LENGTH',
|
||||
'JSON_MERGE',
|
||||
'JSON_MERGE_PATCH',
|
||||
'JSON_MERGE_PRESERVE',
|
||||
'JSON_OBJECT',
|
||||
'JSON_OBJECTAGG',
|
||||
'JSON_OVERLAPS',
|
||||
'JSON_PRETTY',
|
||||
'JSON_QUOTE',
|
||||
'JSON_REMOVE',
|
||||
'JSON_REPLACE',
|
||||
'JSON_SCHEMA_VALID',
|
||||
'JSON_SCHEMA_VALIDATION_REPORT',
|
||||
'JSON_SEARCH',
|
||||
'JSON_SET',
|
||||
'JSON_STORAGE_FREE',
|
||||
'JSON_STORAGE_SIZE',
|
||||
'JSON_TABLE',
|
||||
'JSON_TYPE',
|
||||
'JSON_UNQUOTE',
|
||||
'JSON_VALID',
|
||||
'LAG',
|
||||
'LAST_DAY',
|
||||
'LAST_INSERT_ID',
|
||||
'LAST_VALUE',
|
||||
'LCASE',
|
||||
'LEAD',
|
||||
'LEAST',
|
||||
'LEFT',
|
||||
'LENGTH',
|
||||
'LineFromText',
|
||||
'LineStringFromText',
|
||||
'LineFromWKB',
|
||||
'LineStringFromWKB',
|
||||
'LineString',
|
||||
'LN',
|
||||
'LOAD_FILE',
|
||||
'LOCALTIME',
|
||||
'LOCALTIMESTAMP',
|
||||
'LOCATE',
|
||||
'LOG',
|
||||
'LOG10',
|
||||
'LOG2',
|
||||
'LOWER',
|
||||
'LPAD',
|
||||
'LTRIM',
|
||||
'MAKE_SET',
|
||||
'MAKEDATE',
|
||||
'MAKETIME',
|
||||
'MASK_INNER',
|
||||
'MASK_OUTER',
|
||||
'MASK_PAN',
|
||||
'MASK_PAN_RELAXED',
|
||||
'MASK_SSN',
|
||||
'MASTER_POS_WAIT',
|
||||
'MAX',
|
||||
'MBRContains',
|
||||
'MBRCoveredBy',
|
||||
'MBRCovers',
|
||||
'MBRDisjoint',
|
||||
'MBREqual',
|
||||
'MBREquals',
|
||||
'MBRIntersects',
|
||||
'MBROverlaps',
|
||||
'MBRTouches',
|
||||
'MBRWithin',
|
||||
'MD5',
|
||||
'MEMBER OF',
|
||||
'MICROSECOND',
|
||||
'MID',
|
||||
'MIN',
|
||||
'MINUTE',
|
||||
'MLineFromText',
|
||||
'MultiLineStringFromText',
|
||||
'MLineFromWKB',
|
||||
'MultiLineStringFromWKB',
|
||||
'MOD',
|
||||
'MONTH',
|
||||
'MONTHNAME',
|
||||
'MPointFromText',
|
||||
'MultiPointFromText',
|
||||
'MPointFromWKB',
|
||||
'MultiPointFromWKB',
|
||||
'MPolyFromText',
|
||||
'MultiPolygonFromText',
|
||||
'MPolyFromWKB',
|
||||
'MultiPolygonFromWKB',
|
||||
'MultiLineString',
|
||||
'MultiPoint',
|
||||
'MultiPolygon',
|
||||
'NAME_CONST',
|
||||
'NOT IN',
|
||||
'NOW',
|
||||
'NTH_VALUE',
|
||||
'NTILE',
|
||||
'NULLIF',
|
||||
'NumGeometries',
|
||||
'NumInteriorRings',
|
||||
'NumPoints',
|
||||
'OCT',
|
||||
'OCTET_LENGTH',
|
||||
'OLD_PASSWORD',
|
||||
'ORD',
|
||||
'Overlaps',
|
||||
'PASSWORD',
|
||||
'PERCENT_RANK',
|
||||
'PERIOD_ADD',
|
||||
'PERIOD_DIFF',
|
||||
'PI',
|
||||
'Point',
|
||||
'PointFromText',
|
||||
'PointFromWKB',
|
||||
'PointN',
|
||||
'PolyFromText',
|
||||
'PolygonFromText',
|
||||
'PolyFromWKB',
|
||||
'PolygonFromWKB',
|
||||
'Polygon',
|
||||
'POSITION',
|
||||
'POW',
|
||||
'POWER',
|
||||
'PS_CURRENT_THREAD_ID',
|
||||
'PS_THREAD_ID',
|
||||
'PROCEDURE ANALYSE',
|
||||
'QUARTER',
|
||||
'QUOTE',
|
||||
'RADIANS',
|
||||
'RAND',
|
||||
'RANDOM_BYTES',
|
||||
'RANK',
|
||||
'REGEXP_INSTR',
|
||||
'REGEXP_LIKE',
|
||||
'REGEXP_REPLACE',
|
||||
'REGEXP_REPLACE',
|
||||
'RELEASE_ALL_LOCKS',
|
||||
'RELEASE_LOCK',
|
||||
'REPEAT',
|
||||
'REPLACE',
|
||||
'REVERSE',
|
||||
'RIGHT',
|
||||
'ROLES_GRAPHML',
|
||||
'ROUND',
|
||||
'ROW_COUNT',
|
||||
'ROW_NUMBER',
|
||||
'RPAD',
|
||||
'RTRIM',
|
||||
'SCHEMA',
|
||||
'SEC_TO_TIME',
|
||||
'SECOND',
|
||||
'SESSION_USER',
|
||||
'SHA1',
|
||||
'SHA',
|
||||
'SHA2',
|
||||
'SIGN',
|
||||
'SIN',
|
||||
'SLEEP',
|
||||
'SOUNDEX',
|
||||
'SOURCE_POS_WAIT',
|
||||
'SPACE',
|
||||
'SQRT',
|
||||
'SRID',
|
||||
'ST_Area',
|
||||
'ST_AsBinary',
|
||||
'ST_AsWKB',
|
||||
'ST_AsGeoJSON',
|
||||
'ST_AsText',
|
||||
'ST_AsWKT',
|
||||
'ST_Buffer',
|
||||
'ST_Buffer_Strategy',
|
||||
'ST_Centroid',
|
||||
'ST_Collect',
|
||||
'ST_Contains',
|
||||
'ST_ConvexHull',
|
||||
'ST_Crosses',
|
||||
'ST_Difference',
|
||||
'ST_Dimension',
|
||||
'ST_Disjoint',
|
||||
'ST_Distance',
|
||||
'ST_Distance_Sphere',
|
||||
'ST_EndPoint',
|
||||
'ST_Envelope',
|
||||
'ST_Equals',
|
||||
'ST_ExteriorRing',
|
||||
'ST_FrechetDistance',
|
||||
'ST_GeoHash',
|
||||
'ST_GeomCollFromText',
|
||||
'ST_GeometryCollectionFromText',
|
||||
'ST_GeomCollFromTxt',
|
||||
'ST_GeomCollFromWKB',
|
||||
'ST_GeometryCollectionFromWKB',
|
||||
'ST_GeometryN',
|
||||
'ST_GeometryType',
|
||||
'ST_GeomFromGeoJSON',
|
||||
'ST_GeomFromText',
|
||||
'ST_GeometryFromText',
|
||||
'ST_GeomFromWKB',
|
||||
'ST_GeometryFromWKB',
|
||||
'ST_HausdorffDistance',
|
||||
'ST_InteriorRingN',
|
||||
'ST_Intersection',
|
||||
'ST_Intersects',
|
||||
'ST_IsClosed',
|
||||
'ST_IsEmpty',
|
||||
'ST_IsSimple',
|
||||
'ST_IsValid',
|
||||
'ST_LatFromGeoHash',
|
||||
'ST_Length',
|
||||
'ST_LineFromText',
|
||||
'ST_LineStringFromText',
|
||||
'ST_LineFromWKB',
|
||||
'ST_LineStringFromWKB',
|
||||
'ST_LineInterpolatePoint',
|
||||
'ST_LineInterpolatePoints',
|
||||
'ST_LongFromGeoHash',
|
||||
'ST_Longitude',
|
||||
'ST_MakeEnvelope',
|
||||
'ST_MLineFromText',
|
||||
'ST_MultiLineStringFromText',
|
||||
'ST_MLineFromWKB',
|
||||
'ST_MultiLineStringFromWKB',
|
||||
'ST_MPointFromText',
|
||||
'ST_MultiPointFromText',
|
||||
'ST_MPointFromWKB',
|
||||
'ST_MultiPointFromWKB',
|
||||
'ST_MPolyFromText',
|
||||
'ST_MultiPolygonFromText',
|
||||
'ST_MPolyFromWKB',
|
||||
'ST_MultiPolygonFromWKB',
|
||||
'ST_NumGeometries',
|
||||
'ST_NumInteriorRing',
|
||||
'ST_NumInteriorRings',
|
||||
'ST_NumPoints',
|
||||
'ST_Overlaps',
|
||||
'ST_PointAtDistance',
|
||||
'ST_PointFromGeoHash',
|
||||
'ST_PointFromText',
|
||||
'ST_PointFromWKB',
|
||||
'ST_PointN',
|
||||
'ST_PolyFromText',
|
||||
'ST_PolygonFromText',
|
||||
'ST_PolyFromWKB',
|
||||
'ST_PolygonFromWKB',
|
||||
'ST_Simplify',
|
||||
'ST_SRID',
|
||||
'ST_StartPoint',
|
||||
'ST_SwapXY',
|
||||
'ST_SymDifference',
|
||||
'ST_Touches',
|
||||
'ST_Transform',
|
||||
'ST_Union',
|
||||
'ST_Validate',
|
||||
'ST_Within',
|
||||
'ST_X',
|
||||
'ST_Y',
|
||||
'StartPoint',
|
||||
'STATEMENT_DIGEST',
|
||||
'STATEMENT_DIGEST_TEXT',
|
||||
'STD',
|
||||
'STDDEV',
|
||||
'STDDEV_POP',
|
||||
'STDDEV_SAMP',
|
||||
'STR_TO_DATE',
|
||||
'STRCMP',
|
||||
'SUBDATE',
|
||||
'SUBSTR',
|
||||
'SUBSTRING',
|
||||
'SUBSTRING_INDEX',
|
||||
'SUBTIME',
|
||||
'SUM',
|
||||
'SYSDATE',
|
||||
'SYSTEM_USER',
|
||||
'TAN',
|
||||
'TIME',
|
||||
'TIME_FORMAT',
|
||||
'TIME_TO_SEC',
|
||||
'TIMEDIFF',
|
||||
'TIMESTAMP',
|
||||
'TIMESTAMPADD',
|
||||
'TIMESTAMPDIFF',
|
||||
'TO_BASE64',
|
||||
'TO_DAYS',
|
||||
'TO_SECONDS',
|
||||
'Touches',
|
||||
'TRIM',
|
||||
'TRUNCATE',
|
||||
'UCASE',
|
||||
'UNCOMPRESS',
|
||||
'UNCOMPRESSED_LENGTH',
|
||||
'UNHEX',
|
||||
'UNIX_TIMESTAMP',
|
||||
'UpdateXML',
|
||||
'UPPER',
|
||||
'USER',
|
||||
'UTC_DATE',
|
||||
'UTC_TIME',
|
||||
'UTC_TIMESTAMP',
|
||||
'UUID',
|
||||
'UUID_SHORT',
|
||||
'UUID_TO_BIN',
|
||||
'VALIDATE_PASSWORD_STRENGTH',
|
||||
'VALUES',
|
||||
'VAR_POP',
|
||||
'VAR_SAMP',
|
||||
'VARIANCE',
|
||||
'VERSION',
|
||||
'WAIT_FOR_EXECUTED_GTID_SET',
|
||||
'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS',
|
||||
'WEEK',
|
||||
'WEEKDAY',
|
||||
'WEEKOFYEAR',
|
||||
'WEIGHT_STRING',
|
||||
'Within',
|
||||
'X',
|
||||
'Y',
|
||||
'YEAR',
|
||||
'YEARWEEK'
|
||||
],
|
||||
builtinVariables: [
|
||||
// NOT SUPPORTED
|
||||
],
|
||||
tokenizer: {
|
||||
root: [
|
||||
{ include: '@comments' },
|
||||
{ include: '@whitespace' },
|
||||
{ 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'],
|
||||
[/#+.*/, 'comment'],
|
||||
[/\/\*/, { token: 'comment.quote', next: '@comment' }]
|
||||
],
|
||||
comment: [
|
||||
[/[^*/]+/, 'comment'],
|
||||
// Not supporting nested comments, as nested comments seem to not be standard?
|
||||
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
|
||||
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
|
||||
[/\*\//, { token: 'comment.quote', next: '@pop' }],
|
||||
[/./, 'comment']
|
||||
],
|
||||
numbers: [
|
||||
[/0[xX][0-9a-fA-F]*/, 'number'],
|
||||
[/[$][+-]*\d*(\.\d*)?/, 'number'],
|
||||
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
|
||||
],
|
||||
strings: [
|
||||
[/'/, { token: 'string', next: '@string' }],
|
||||
[/"/, { token: 'string.double', next: '@stringDouble' }]
|
||||
],
|
||||
string: [
|
||||
[/[^']+/, 'string'],
|
||||
[/''/, 'string'],
|
||||
[/'/, { token: 'string', next: '@pop' }]
|
||||
],
|
||||
stringDouble: [
|
||||
[/[^"]+/, 'string.double'],
|
||||
[/""/, 'string.double'],
|
||||
[/"/, { token: 'string.double', next: '@pop' }]
|
||||
],
|
||||
complexIdentifiers: [[/`/, { token: 'identifier.quote', next: '@quotedIdentifier' }]],
|
||||
quotedIdentifier: [
|
||||
[/[^`]+/, 'identifier'],
|
||||
[/``/, 'identifier'],
|
||||
[/`/, { token: 'identifier.quote', next: '@pop' }]
|
||||
],
|
||||
scopes: [
|
||||
// NOT SUPPORTED
|
||||
]
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue