|
39 | 39 | "patterns": [
|
40 | 40 | {
|
41 | 41 | "name": "keyword.control.sql",
|
42 |
| - "match": "(?i)\\b(SELECT|INSERT|UPDATE|DELETE|FROM|WHERE|JOIN|LEFT|RIGHT|INNER|OUTER|ON|GROUP BY|ORDER BY|ASC|DESC|HAVING|AS|LIMIT|OFFSET|DISTINCT|UNION|ALL|INTO|VALUES|CREATE|TABLE|ALTER|DROP|DATABASE|INDEX|VIEW|TRIGGER|PROCEDURE|FUNCTION|IF|ELSE|THEN|END|LOOP|WHILE|REPEAT|DECLARE|SET|CALL|BEGIN|COMMIT|ROLLBACK|GRANT|REVOKE|USE|SHOW|DESCRIBE|EXPLAIN|LOCK|UNLOCK|WITH|RECURSIVE|CASE|WHEN|DEFAULT|FOREIGN|PRIMARY|KEY|AUTO_INCREMENT|REFERENCES|CONSTRAINT|CHECK|DEFAULT|UNIQUE|PARTITION BY|WINDOW|CUME_DIST|RANK|DENSE_RANK|ROW_NUMBER|WITH ROLLUP|DELIMITER)\\b" |
| 42 | + "match": "(?i)\\b(ACCESSIBLE|ACCOUNT|ACTION|ACTIVE|ADD|ADMIN|AFTER|AGAINST|AGGREGATE|ALGORITHM|ALL|ALTER|ALWAYS|ANALYZE|AND|ANY|ARRAY|AS|ASC|ASCII|ASENSITIVE|AT|ATTRIBUTE|AUTHENTICATION|AUTO|AUTOEXTEND_SIZE|AUTO_INCREMENT|AVG|AVG_ROW_LENGTH|BACKUP|BEFORE|BEGIN|BERNOULLI|BETWEEN|BINLOG|BLOCK|BOTH|BTREE|BUCKETS|BULK|BY|BYTE|CACHE|CALL|CASCADE|CASCADED|CASE|CATALOG_NAME|CHAIN|CHALLENGE_RESPONSE|CHANGE|CHANGED|CHANNEL|CHARACTER|CHARSET|CHECK|CHECKSUM|CIPHER|CLASS_ORIGIN|CLIENT|CLONE|CLOSE|COALESCE|CODE|COLLATE|COLLATION|COLUMN|COLUMNS|COLUMN_FORMAT|COLUMN_NAME|COMMENT|COMMIT|COMMITTED|COMPACT|COMPLETION|COMPONENT|COMPRESSED|COMPRESSION|CONCURRENT|CONDITION|CONNECTION|CONSISTENT|CONSTRAINT|CONSTRAINT_CATALOG|CONSTRAINT_NAME|CONSTRAINT_SCHEMA|CONTAINS|CONTEXT|CONTINUE|CONVERT|CPU|CREATE|CROSS|CUBE|CUME_DIST|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|CURSOR_NAME|DATA|DATABASE|DATABASES|DATAFILE|DAY|DAY_HOUR|DAY_MICROSECOND|DAY_MINUTE|DAY_SECOND|DEALLOCATE|DECLARE|DEFAULT|DEFAULT_AUTH|DEFINER|DEFINITION|DELAYED|DELAY_KEY_WRITE|DELETE|DENSE_RANK|DESC|DESCRIBE|DESCRIPTION|DETERMINISTIC|DIAGNOSTICS|DIRECTORY|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DIV|DO|DROP|DUAL|DUMPFILE|DUPLICATE|DYNAMIC|EACH|ELSE|ELSEIF|EMPTY|ENABLE|ENCLOSED|ENCRYPTION|END|ENDS|ENFORCED|ENGINE|ENGINES|ENGINE_ATTRIBUTE|ERROR|ERRORS|ESCAPE|ESCAPED|EVENT|EVENTS|EVERY|EXCEPT|EXCHANGE|EXCLUDE|EXECUTE|EXISTS|EXIT|EXPANSION|EXPIRE|EXPLAIN|EXPORT|EXTENDED|EXTENT_SIZE|FACTOR|FAILED_LOGIN_ATTEMPTS|FALSE|FAST|FAULTS|FETCH|FIELDS|FILE|FILE_BLOCK_SIZE|FILTER|FINISH|FIRST|FIRST_VALUE|FIXED|FLOAT4|FLOAT8|FLUSH|FOLLOWING|FOLLOWS|FOR|FORCE|FOREIGN|FORMAT|FOUND|FROM|FULL|FULLTEXT|FUNCTION|GENERAL|GENERATE|GENERATED|GEOMCOLLECTION|GEOMETRY|GEOMETRYCOLLECTION|GET|GET_FORMAT|GET_SOURCE_PUBLIC_KEY|GLOBAL|GRANT|GRANTS|GROUP|GROUPING|GROUPS|GROUP_REPLICATION|GTIDS|GTID_ONLY|HANDLER|HASH|HAVING|HELP|HIGH_PRIORITY|HISTOGRAM|HISTORY|HOST|HOSTS|HOUR|HOUR_MICROSECOND|HOUR_MINUTE|HOUR_SECOND|IDENTIFIED|IF|IGNORE|IGNORE_SERVER_IDS|IMPORT|IN|INACTIVE|INDEX|INDEXES|INFILE|INITIAL|INITIAL_SIZE|INITIATE|INNER|INOUT|INSENSITIVE|INSERT|INSERT_METHOD|INSTALL|INSTANCE|INT1|INT2|INT3|INT4|INT8|INTERSECT|INTERVAL|INTO|INVISIBLE|INVOKER|IO|IO_AFTER_GTIDS|IO_BEFORE_GTIDS|IO_THREAD|IPC|IS|ISOLATION|ISSUER|ITERATE|JOIN|JSON|JSON_TABLE|JSON_VALUE|KEY|KEYRING|KEYS|KEY_BLOCK_SIZE|KILL|LAG|LANGUAGE|LAST|LAST_VALUE|LATERAL|LEAD|LEADING|LEAVE|LEAVES|LEFT|LESS|LEVEL|LIKE|LIMIT|LINEAR|LINES|LINESTRING|LIST|LOAD|LOCAL|LOCALTIME|LOCALTIMESTAMP|LOCK|LOCKED|LOCKS|LOG|LOGFILE|LOGS|LONG|LOOP|LOW_PRIORITY|MANUAL|MASTER|MATCH|MAXVALUE|MAX_CONNECTIONS_PER_HOUR|MAX_QUERIES_PER_HOUR|MAX_ROWS|MAX_SIZE|MAX_UPDATES_PER_HOUR|MAX_USER_CONNECTIONS|MEDIUM|MEMBER|MEMORY|MERGE|MESSAGE_TEXT|MICROSECOND|MIDDLEINT|MIGRATE|MINUTE|MINUTE_MICROSECOND|MINUTE_SECOND|MIN_ROWS|MOD|MODE|MODIFIES|MODIFY|MONTH|MULTILINESTRING|MULTIPOINT|MULTIPOLYGON|MUTEX|MYSQL_ERRNO|NAME|NAMES|NATIONAL|NATURAL|NCHAR|NDB|NDBCLUSTER|NESTED|NETWORK_NAMESPACE|NEVER|NEW|NEXT|NO|NODEGROUP|NONE|NOT|NOWAIT|NO_WAIT|NO_WRITE_TO_BINLOG|NTH_VALUE|NTILE|NULL|NULLS|NUMBER|NUMERIC|NVARCHAR|OF|OFF|OFFSET|OJ|OLD|ON|ONE|ONLY|OPEN|OPTIMIZE|OPTIMIZER_COSTS|OPTION|OPTIONAL|OPTIONALLY|OPTIONS|OR|ORDER|ORDINALITY|ORGANIZATION|OTHERS|OUT|OUTER|OUTFILE|OVER|OWNER|PACK_KEYS|PAGE|PARALLEL|PARSER|PARSE_TREE|PARTIAL|PARTITION|PARTITIONING|PARTITIONS|PASSWORD|PASSWORD_LOCK_TIME|PATH|PERCENT_RANK|PERSIST|PERSIST_ONLY|PHASE|PLUGIN|PLUGINS|PLUGIN_DIR|POINT|POLYGON|PORT|PRECEDES|PRECEDING|PRECISION|PREPARE|PRESERVE|PREV|PRIMARY|PRIVILEGES|PRIVILEGE_CHECKS_USER|PROCEDURE|PROCESS|PROCESSLIST|PROFILE|PROFILES|PROXY|PURGE|QUALIFY|QUARTER|QUERY|QUICK|RANDOM|RANGE|RANK|READ|READS|READ_ONLY|READ_WRITE|REAL|REBUILD|RECOVER|RECURSIVE|REDO_BUFFER_SIZE|REDUNDANT|REFERENCE|REFERENCES|REGEXP|REGISTRATION|RELAY|RELAYLOG|RELAY_LOG_FILE|RELAY_LOG_POS|RELAY_THREAD|RELEASE|RELOAD|REMOVE|RENAME|REORGANIZE|REPAIR|REPEAT|REPEATABLE|REPLACE|REPLICA|REPLICAS|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|REQUIRE_ROW_FORMAT|RESET|RESIGNAL|RESOURCE|RESPECT|RESTART|RESTORE|RESTRICT|RESUME|RETAIN|RETURN|RETURNED_SQLSTATE|RETURNING|RETURNS|REUSE|REVERSE|REVOKE|RIGHT|RLIKE|ROLE|ROLLBACK|ROLLUP|ROTATE|ROUTINE|ROW|ROWS|ROW_COUNT|ROW_FORMAT|ROW_NUMBER|RTREE|S3|SAVEPOINT|SCHEDULE|SCHEMA|SCHEMAS|SCHEMA_NAME|SECOND|SECONDARY|SECONDARY_ENGINE|SECONDARY_ENGINE_ATTRIBUTE|SECONDARY_LOAD|SECONDARY_UNLOAD|SECOND_MICROSECOND|SECURITY|SELECT|SENSITIVE|SEPARATOR|SERIAL|SERIALIZABLE|SERVER|SESSION|SHARE|SHOW|SHUTDOWN|SIGNAL|SIGNED|SIMPLE|SKIP|SLAVE|SLOW|SNAPSHOT|SOCKET|SOME|SONAME|SOUNDS|SOURCE|SOURCE_AUTO_POSITION|SOURCE_BIND|SOURCE_COMPRESSION_ALGORITHMS|SOURCE_CONNECT_RETRY|SOURCE_DELAY|SOURCE_HEARTBEAT_PERIOD|SOURCE_HOST|SOURCE_LOG_FILE|SOURCE_LOG_POS|SOURCE_PASSWORD|SOURCE_PORT|SOURCE_PUBLIC_KEY_PATH|SOURCE_RETRY_COUNT|SOURCE_SSL|SOURCE_SSL_CA|SOURCE_SSL_CAPATH|SOURCE_SSL_CERT|SOURCE_SSL_CIPHER|SOURCE_SSL_CRL|SOURCE_SSL_CRLPATH|SOURCE_SSL_KEY|SOURCE_SSL_VERIFY_SERVER_CERT|SOURCE_TLS_CIPHERSUITES|SOURCE_TLS_VERSION|SOURCE_USER|SOURCE_ZSTD_COMPRESSION_LEVEL|SPATIAL|SPECIFIC|SQL|SQLEXCEPTION|SQLSTATE|SQLWARNING|SQL_AFTER_GTIDS|SQL_AFTER_MTS_GAPS|SQL_BEFORE_GTIDS|SQL_BIG_RESULT|SQL_BUFFER_RESULT|SQL_CALC_FOUND_ROWS|SQL_NO_CACHE|SQL_SMALL_RESULT|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|SSL|STACKED|START|STARTING|STARTS|STATS_AUTO_RECALC|STATS_PERSISTENT|STATS_SAMPLE_PAGES|STATUS|STOP|STORAGE|STORED|STRAIGHT_JOIN|STREAM|STRING|SUBCLASS_ORIGIN|SUBJECT|SUBPARTITION|SUBPARTITIONS|SUPER|SUSPEND|SWAPS|SWITCHES|SYSTEM|TABLE|TABLES|TABLESAMPLE|TABLESPACE|TABLE_CHECKSUM|TABLE_NAME|TEMPORARY|TEMPTABLE|TERMINATED|THAN|THEN|THREAD_PRIORITY|TIES|TIMESTAMPADD|TIMESTAMPDIFF|TLS|TO|TRAILING|TRANSACTION|TRIGGER|TRIGGERS|TRUE|TRUNCATE|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNDO|UNDOFILE|UNDO_BUFFER_SIZE|UNICODE|UNINSTALL|UNION|UNIQUE|UNKNOWN|UNLOCK|UNREGISTER|UNSIGNED|UNTIL|UPDATE|UPGRADE|URL|USAGE|USE|USER|USER_RESOURCES|USE_FRM|USING|UTC_DATE|UTC_TIME|UTC_TIMESTAMP|VALIDATION|VALUE|VALUES|VARCHARACTER|VARIABLES|VARYING|VCPU|VIEW|VIRTUAL|VISIBLE|WAIT|WARNINGS|WEEK|WEIGHT_STRING|WHEN|WHERE|WHILE|WINDOW|WITH|WITHOUT|WORK|WRAPPER|WRITE|X509|XA|XID|XML|XOR|YEAR_MONTH|ZEROFILL|ZONE)\\b" |
| 43 | + }, |
| 44 | + { |
| 45 | + "name": "keyword.client-command.sql", |
| 46 | + "match": "(?i)\\b(CLEAR|CONNECT|DELIMITER|EDIT|EGO|EXIT|GO|HELP|NOPAGER|NOTEE|PAGER|PRINT|PROMPT|QUIT|REHASH|SOURCE|STATUS|SYSTEM|TEE|USE|CHARSET|WARNINGS|NOWARNING|RESETCONNECTION|QUERY_ATTRIBUTES|SSL_SESSION_DATA_PRINT)\\b" |
| 47 | + }, |
| 48 | + { |
| 49 | + "name": "keyword.control.set.sql", |
| 50 | + "match": "^\\s*(?i)\\b(SET)\\b" |
| 51 | + } |
| 52 | + ] |
| 53 | + }, |
| 54 | + "dataTypes": { |
| 55 | + "patterns": [ |
| 56 | + { |
| 57 | + "name": "storage.type.string.sql", |
| 58 | + "match": "(?i)\\b(CHAR|VARCHAR|BINARY|VARBINARY|TINYBLOB|TINYTEXT|TEXT|BLOB|MEDIUMTEXT|MEDIUMBLOB|LONGTEXT|LONGBLOB|ENUM|SET)\\b" |
| 59 | + }, |
| 60 | + { |
| 61 | + "name": "storage.type.numeric.sql", |
| 62 | + "match": "(?i)\\b(BIT|TINYINT|BOOL|BOOLEAN|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT|FLOAT|FLOAT|DOUBLE|DOUBLE PRECISION|DECIMAL|DEC)\\b" |
| 63 | + }, |
| 64 | + { |
| 65 | + "name": "storage.type.datetime.sql", |
| 66 | + "match": "(?i)\\b(DATE|DATETIME|TIMESTAMP|TIME|YEAR)\\b" |
43 | 67 | }
|
44 | 68 | ]
|
45 | 69 | },
|
46 | 70 | "functions": {
|
47 | 71 | "patterns": [
|
48 | 72 | {
|
49 |
| - "name": "support.function.sql", |
50 |
| - "match": "(?i)\\b(AVG|COUNT|MIN|MAX|SUM|UCASE|LCASE|MID|LEN|ROUND|NOW|CURRENT_TIMESTAMP|FORMAT|CURDATE|CURTIME|DATE_ADD|DATE_SUB|DATEDIFF|TIMEDIFF|IFNULL|ISNULL|COALESCE|GREATEST|LEAST|CONCAT|SUBSTRING|CHAR_LENGTH|POSITION|LOCATE|INSTR|REPLACE|TRIM|LPAD|RPAD|CONVERT|CAST|UNHEX|HEX|MD5|SHA1|SHA2|AES_ENCRYPT|AES_DECRYPT|UUID|FLOOR|CEIL|CEILING|POWER|EXP|LOG|LN|PI|SIN|COS|TAN|ASIN|ACOS|ATAN|ATAN2|DEGREES|RADIANS|SIGN|SQRT|DATE_FORMAT|TIME_TO_SEC|SEC_TO_TIME|JSON_TABLE|ST_Distance)\\b" |
| 73 | + "name": "support.function.string.sql", |
| 74 | + "match": "(?i)\\b(ASCII|CHAR_LENGTH|CHARACTER_LENGTH|CONCAT|CONCAT_WS|FIELD|FIND_IN_SET|FORMAT|INSERT|INSTR|LCASE|LEFT|LENGTH|LOCATE|LOWER|LPAD|LTRIM|MID|POSITION|REPEAT|REPLACE|REVERSE|RIGHT|RPAD|RTRIM|SPACE|STRCMP|SUBSTR|SUBSTRING|SUBSTRING_INDEX|TRIM|UCASE|UPPER)\\b" |
| 75 | + }, |
| 76 | + { |
| 77 | + "name": "support.function.numeric.sql", |
| 78 | + "match": "(?i)\\b(ABS|ACOS|ASIN|ATAN|ATAN2|AVG|CEIL|CEILING|COS|COT|COUNT|DEGREES|DIV|EXP|FLOOR|GREATEST|LEAST|LN|LOG|LOG10|LOG2|MAX|MIN|MOD|PI|POW|POWER|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|SUM|TAN|TRUNCATE)\\b" |
| 79 | + }, |
| 80 | + { |
| 81 | + "name": "support.function.datetime.sql", |
| 82 | + "match": "(?i)\\b(ADDDATE|ADDTIME|CURDATE|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURTIME|DATE|DATEDIFF|DATE_ADD|DATE_FORMAT|DATE_SUB|DAY|DAYNAME|DAYOFMONTH|DAYOFWEEK|DAYOFYEAR|EXTRACT|FROM_DAYS|HOUR|LAST_DAY|LOCALTIME|LOCALTIMESTAMP|MAKEDATE|MAKETIME|MICROSECOND|MINUTE|MONTH|MONTHNAME|NOW|PERIOD_ADD|PERIOD_DIFF|QUARTER|SECOND|SEC_TO_TIME|STR_TO_DATE|SUBDATE|SUBTIME|SYSDATE|TIME|TIME_FORMAT|TIME_TO_SEC|TIMEDIFF|TIMESTAMP|TO_DAYS|WEEK|WEEKDAY|WEEKOFYEAR|YEAR|YEARWEEK)\\b" |
| 83 | + }, |
| 84 | + { |
| 85 | + "name": "support.function.advanced.sql", |
| 86 | + "match": "(?i)\\b(BIN|BINARY|CASE|CAST|COALESCE|CONNECTION_ID|CONV|CONVERT|CURRENT_USER|DATABASE|IF|IFNULL|ISNULL|LAST_INSERT_ID|NULLIF|SESSION_USER|SYSTEM_USER|USER|VERSION)\\b" |
51 | 87 | }
|
52 | 88 | ]
|
53 | 89 | },
|
|
132 | 168 | "operators": {
|
133 | 169 | "patterns": [
|
134 | 170 | {
|
135 |
| - "name": "operator.symbol.sql", |
| 171 | + "name": "keyword.operator.sql", |
136 | 172 | "match": "[=><!~]+"
|
137 | 173 | },
|
138 | 174 | {
|
139 |
| - "name": "operator.symbol.advanced.sql", |
| 175 | + "name": "keyword.operator.advanced.sql", |
140 | 176 | "match": "(\\->|\\->>|\\||\\&|\\^|\\~)"
|
141 |
| - }, |
142 |
| - { |
143 |
| - "name": "operator.keyword.sql", |
144 |
| - "match": "(?i)\\b(AND|OR|NOT|IN|BETWEEN|LIKE|IS|NULL|EXISTS|ANY|ALL)\\b" |
145 | 177 | }
|
146 | 178 | ]
|
147 | 179 | },
|
|
176 | 208 | "match": "\\b\\$[a-zA-Z0-9_]+\\b"
|
177 | 209 | }
|
178 | 210 | ]
|
179 |
| - }, |
180 |
| - "dataTypes": { |
181 |
| - "patterns": [ |
182 |
| - { |
183 |
| - "name": "storage.type.sql", |
184 |
| - "match": "(?i)\\b(INT|INTEGER|SMALLINT|TINYINT|MEDIUMINT|BIGINT|DECIMAL|NUMERIC|FLOAT|DOUBLE|REAL|BIT|BOOLEAN|CHAR|VARCHAR|TEXT|TINYTEXT|MEDIUMTEXT|LONGTEXT|BLOB|TINYBLOB|MEDIUMBLOB|LONGBLOB|DATE|TIME|DATETIME|TIMESTAMP|YEAR|JSON|ENUM|SET)\\b" |
185 |
| - } |
186 |
| - ] |
187 | 211 | }
|
188 | 212 | }
|
189 | 213 | }
|
0 commit comments