@difizen/libro-cofine-editor 0.2.41 → 0.2.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ export declare const id = "sql-odps";
2
+ export declare const keywords: string[];
3
+ export declare const snippets: never[];
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/language/sql/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE,aAAa,CAAC;AAE7B,eAAO,MAAM,QAAQ,UA2wBpB,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAK,CAAC"}
@@ -0,0 +1,43 @@
1
+ export var id = 'sql-odps';
2
+ // 使用字面量作为关键词
3
+ export var keywords = ['ADD', 'ALL', 'ALTER', 'ALWAYS', 'ANALYZE', 'AND', 'ARRAY', 'AS', 'ASC', 'ATTRIBUTE', 'BEFORE', 'BETWEEN', 'BOTH', 'BUCKETS', 'BY', 'CALL', 'CASCADE', 'CASE',
4
+ // 'CAST',
5
+ 'CHANGE', 'CHARACTER', 'CHECK', 'COLLATE', 'COLUMN', 'CONDITION', 'CONSTRAINT', 'CONTINUE', 'CONVERT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_ROLE', 'CURRENT_USER', 'CURSOR', 'DATABASE', 'DATABASES', 'DECLARE', 'DEFAULT', 'DELAYED', 'DELETE', 'DESC', 'DESCRIBE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DISTINCT', 'DISTINCTROW', 'DROP', 'EACH', 'ELSE', 'ELSEIF', 'EMPTY', 'ENCLOSED', 'ENFORCED', 'ESCAPED', 'EXCEPT', 'EXISTS', 'EXIT', 'EXPLAIN', 'FALSE', 'FETCH', 'FOR', 'FORCE', 'FOREIGN', 'FROM', 'FULLTEXT', 'GENERATED', 'GET', 'GRANT', 'GROUP', 'HAVING', 'HIGH_PRIORITY', 'HISTOGRAM', 'IF', 'IGNORE', 'IGNORED', 'IN', 'INDEX', 'INFILE', 'INNER', 'INOUT', 'INSERT', 'INTERVAL', 'INTO', 'IS', 'ITERATE', 'JOIN', 'KEY', 'KEYS', 'KILL', 'LATERAL', 'LEADING', 'LEAVE', 'LEFT', 'LIKE', 'LIMIT', 'LINEAR', 'LINES', 'LOAD', 'LOCK', 'LOCKED', 'LOOP', 'LOW_PRIORITY', 'MASTER_BIND', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MATCH', 'MAXVALUE', 'MINVALUE', 'MODIFIES', 'NATURAL', 'NOT', 'NO_WRITE_TO_BINLOG', 'NULL', 'NUMBER', 'ON', 'OPTIMIZE', 'OPTION', 'OPTIONAL', 'OPTIONALLY', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'PARTITION', 'PRIMARY', 'PROCEDURE', 'PURGE', 'RANGE', 'READ', 'READS', 'REFERENCES', 'REGEXP', 'RELEASE', 'RENAME', 'REPEAT', 'REPLACE', 'REQUIRE', 'RESIGNAL', 'RESTRICT', 'RETAIN', 'RETURN', 'REVOKE', 'RIGHT', 'RLIKE', 'SCHEMA', 'SCHEMAS', 'SELECT', 'SET', 'SEPARATOR', 'SHOW', 'SIGNAL', 'SKIP', 'SKIP_QUERY_REWRITE', 'SPATIAL', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_BIG_RESULT', 'SQL_CALC_FOUND_ROWS', 'SQL_SMALL_RESULT', 'SSL', 'STACKED', 'STARTING', 'STATEMENT', 'STRAIGHT_JOIN', 'TABLE', 'TERMINATED', 'THEN', 'TO', 'TRAILING', 'TRIGGER', 'TRUE', 'UNDO', 'UNION', 'UNIQUE', 'UNLOCK', 'UNSIGNED', 'UPDATE', 'USAGE', 'USE', 'USING', 'VALUES', 'WHEN', 'WHERE', 'WHILE', 'WITH', 'WRITE', 'XOR', 'ZEROFILL', 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'MIDDLEINT', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'BIGINT', 'REAL', 'DOUBLE', 'PRECISION', 'FLOAT', 'FLOAT4', 'FLOAT8', 'DECIMAL', 'DEC', 'NUMERIC', 'DATE', 'TIME', 'TIMESTAMP', 'DATETIME', 'YEAR', 'CHAR', 'VARCHAR', 'NVARCHAR', 'NATIONAL', 'BINARY', 'VARBINARY', 'TINYBLOB', 'BLOB', 'MEDIUMBLOB', 'LONG', 'LONGBLOB', 'TINYTEXT', 'TEXT', 'MEDIUMTEXT', 'LONGTEXT', 'ENUM', 'VARYING', 'SERIAL', 'YEAR_MONTH', 'DAY_HOUR', 'DAY_MINUTE', 'DAY_SECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'MINUTE_SECOND', 'SECOND_MICROSECOND', 'MINUTE_MICROSECOND', 'HOUR_MICROSECOND', 'DAY_MICROSECOND', 'NESTED', 'ORDINALITY', 'PATH',
6
+ // 'AVG',
7
+ // 'BIT_AND',
8
+ // 'BIT_OR',
9
+ // 'BIT_XOR',
10
+ 'GROUP_CONCAT', 'LEAD',
11
+ // 'MAX',
12
+ // 'MIN',
13
+ 'NTILE', 'NTH_VALUE', 'PERCENT_RANK', 'RANK', 'ROW_NUMBER',
14
+ // 'STD',
15
+ // 'STDDEV',
16
+ // 'STDDEV_POP',
17
+ // 'STDDEV_SAMP',
18
+ // 'SUM',
19
+ // 'VAR_POP',
20
+ // 'VAR_SAMP',
21
+ // 'VARIANCE',
22
+ // 'CURRENT_DATE',
23
+ // 'CURRENT_TIME',
24
+ // 'CURRENT_TIMESTAMP',
25
+ // 'LOCALTIME',
26
+ // 'CURDATE',
27
+ // 'CURTIME',
28
+ // 'DATE_ADD',
29
+ // 'DATE_SUB',
30
+ 'EXTRACT',
31
+ // 'LOCALTIMESTAMP',
32
+ // 'NOW',
33
+ // 'POSITION',
34
+ // 'SUBSTR',
35
+ // 'SUBSTRING',
36
+ 'SYSDATE', 'TRIM',
37
+ // 'UTC_DATE',
38
+ // 'UTC_TIME',
39
+ // 'UTC_TIMESTAMP',
40
+ 'ACCOUNT', 'ACTION', 'AFTER', 'AGGREGATE', 'ALGORITHM', 'ANY', 'AT', 'AUTHORS', 'AUTOCOMMIT', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG_ROW_LENGTH', 'BEGIN', 'BINLOG', 'BIT', 'BLOCK', 'BOOL', 'BOOLEAN', 'BTREE', 'CACHE', 'CASCADED', 'CHAIN', 'CHANGED', 'CHANNEL', 'CHECKSUM', 'PAGE_CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOSE', 'CLUSTERING', 'COALESCE', 'CODE', 'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPLETION', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONNECT', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_SCHEMA', 'CONSTRAINT_NAME', 'CONTAINS', 'CONTEXT', 'CONTRIBUTORS', 'COPY', 'CPU', 'CYCLE', 'CURSOR_NAME', 'DATA', 'DATAFILE', 'DEALLOCATE', 'DEFAULT_AUTH', 'DEFINER', 'DELAY_KEY_WRITE', 'DES_KEY_FILE', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DO', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'ENABLE', 'ENCRYPTED', 'ENCRYPTION', 'ENCRYPTION_KEY_ID', 'END', 'ENDS', 'ENGINE', 'ENGINES', 'ERROR', 'ERRORS', 'ESCAPE', 'EVEN', 'EVENT', 'EVENTS', 'EVERY', 'EXCHANGE', 'EXCLUSIVE', 'EXPIRE', 'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FAILED_LOGIN_ATTEMPTS', 'FAST', 'FAULTS', 'FIELDS', 'FILE_BLOCK_SIZE', 'FILTER', 'FIRST', 'FIXED', 'FLUSH', 'FOLLOWING', 'FOLLOWS', 'FOUND', 'FULL', 'FUNCTION', 'GENERAL', 'GLOBAL', 'GRANTS', 'GROUP_REPLICATION', 'HANDLER', 'HASH', 'HELP', 'HISTORY', 'HOST', 'HOSTS', 'IDENTIFIED', 'IGNORE_SERVER_IDS', 'IMPORT', 'INCREMENT', 'INDEXES', 'INITIAL_SIZE', 'INPLACE', 'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'INSTANT', 'INVISIBLE', 'INVOKER', 'IO', 'IO_THREAD', 'IPC', 'ISOLATION', 'ISSUER', 'JSON', 'KEY_BLOCK_SIZE', 'LANGUAGE', 'LAST', 'LEAVES', 'LESS', 'LEVEL', 'LIST', 'LOCAL', 'LOGFILE', 'LOGS', 'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_RETRY_COUNT', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEMBER', 'MERGE', 'MESSAGE_TEXT', 'MID', 'MIGRATE', 'MIN_ROWS', 'MODE', 'MODIFY', 'MUTEX', 'MYSQL', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NCHAR', 'NEVER', 'NEXT', 'NO', 'NOCACHE', 'NOCOPY', 'NOCYCLE', 'NOMAXVALUE', 'NOMINVALUE', 'NOWAIT', 'NODEGROUP', 'NONE', 'ODBC', 'OFFLINE', 'OFFSET', 'OF', 'OJ', 'OLD_PASSWORD', 'ONE', 'ONLINE', 'ONLY', 'OPEN', 'OPTIMIZER_COSTS', 'OPTIONS', 'OWNER', 'PACK_KEYS', 'PAGE', 'PAGE_COMPRESSED', 'PAGE_COMPRESSION_LEVEL', 'PARSER', 'PARTIAL', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PHASE', 'PLUGIN', 'PLUGIN_DIR', 'PLUGINS', 'PORT', 'PRECEDES', 'PRECEDING', 'PREPARE', 'PRESERVE', 'PREV', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'QUERY', 'QUICK', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDO_BUFFER_SIZE', 'REDUNDANT', 'RELAY', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAYLOG', 'REMOVE', 'REORGANIZE', 'REPAIR', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'RESET', 'RESTART', 'RESUME', 'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROTATE', 'ROW', 'ROWS', 'ROW_FORMAT', 'RTREE', 'SAVEPOINT', 'SCHEDULE', 'SECURITY', 'SEQUENCE', 'SERVER', 'SESSION', 'SHARE', 'SHARED', 'SIGNED', 'SIMPLE', 'SLAVE', 'SLOW', 'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_NO_CACHE', 'SQL_THREAD', 'START', 'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUSPEND', 'SWAPS', 'SWITCHES', 'TABLE_NAME', 'TABLESPACE', 'TABLE_TYPE', 'TEMPORARY', 'TEMPTABLE', 'THAN', 'TRADITIONAL', 'TRANSACTION', 'TRANSACTIONAL', 'TRIGGERS', 'TRUNCATE', 'UNBOUNDED', 'UNDEFINED', 'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNINSTALL', 'UNKNOWN', 'UNTIL', 'UPGRADE', 'USER', 'USE_FRM', 'USER_RESOURCES', 'VALIDATION', 'VALUE', 'VARIABLES', 'VIEW', 'VIRTUAL', 'VISIBLE', 'WAIT', 'WARNINGS', 'WINDOW', 'WITHOUT', 'WORK', 'WRAPPER', 'X509', 'XA', 'XML', 'YES', 'EUR', 'USA', 'JIS', 'ISO', 'INTERNAL', 'QUARTER', 'MONTH', 'DAY', 'HOUR', 'MINUTE', 'WEEK', 'SECOND', 'MICROSECOND', 'ADMIN', 'APPLICATION_PASSWORD_ADMIN', 'AUDIT_ABORT_EXEMPT', 'AUDIT_ADMIN', 'AUTHENTICATION_POLICY_ADMIN', 'BACKUP_ADMIN', 'BINLOG_ADMIN', 'BINLOG_ENCRYPTION_ADMIN', 'CLONE_ADMIN', 'CONNECTION_ADMIN', 'ENCRYPTION_KEY_ADMIN', 'EXECUTE', 'FILE', 'FIREWALL_ADMIN', 'FIREWALL_EXEMPT', 'FIREWALL_USER', 'FLUSH_OPTIMIZER_COSTS', 'FLUSH_STATUS', 'FLUSH_TABLES', 'FLUSH_USER_RESOURCES', 'GROUP_REPLICATION_ADMIN', 'INNODB_REDO_LOG_ARCHIVE', 'INNODB_REDO_LOG_ENABLE', 'INVOKE', 'LAMBDA', 'NDB_STORED_USER', 'PASSWORDLESS_USER_ADMIN', 'PERSIST_RO_VARIABLES_ADMIN', 'PRIVILEGES', 'PROCESS', 'RELOAD', 'REPLICATION_APPLIER', 'REPLICATION_SLAVE_ADMIN', 'RESOURCE_GROUP_ADMIN', 'RESOURCE_GROUP_USER', 'ROLE_ADMIN', 'ROUTINE', 'S3', 'SERVICE_CONNECTION_ADMIN', 'SESSION_VARIABLES_ADMIN', 'SET_USER_ID', 'SHOW_ROUTINE', 'SHUTDOWN', 'SUPER', 'SYSTEM_VARIABLES_ADMIN', 'TABLES', 'TABLE_ENCRYPTION_ADMIN', 'VERSION_TOKEN_ADMIN', 'XA_RECOVER_ADMIN', 'ARMSCII8',
41
+ // 'ASCII',
42
+ 'BIG5', 'CP1250', 'CP1251', 'CP1256', 'CP1257', 'CP850', 'CP852', 'CP866', 'CP932', 'DEC8', 'EUCJPMS', 'EUCKR', 'GB18030', 'GB2312', 'GBK', 'GEOSTD8', 'GREEK', 'HEBREW', 'HP8', 'KEYBCS2', 'KOI8R', 'KOI8U', 'LATIN1', 'LATIN2', 'LATIN5', 'LATIN7', 'MACCE', 'MACROMAN', 'SJIS', 'SWE7', 'TIS620', 'UCS2', 'UJIS', 'UTF16', 'UTF16LE', 'UTF32', 'UTF8', 'UTF8MB3', 'UTF8MB4', 'ARCHIVE', 'BLACKHOLE', 'CSV', 'FEDERATED', 'INNODB', 'MEMORY', 'MRG_MYISAM', 'MYISAM', 'NDB', 'NDBCLUSTER', 'PERFORMANCE_SCHEMA', 'TOKUDB', 'REPEATABLE', 'COMMITTED', 'UNCOMMITTED', 'SERIALIZABLE', 'GEOMCOLLECTION', 'GEOMETRY', 'LINESTRING', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'POINT', 'POLYGON', 'CATALOG_NAME', 'CHARSET', 'COLLATION', 'ENGINE_ATTRIBUTE', 'FORMAT', 'SECONDARY_ENGINE_ATTRIBUTE', 'SCHEMA_NAME'];
43
+ export var snippets = [];
@@ -0,0 +1,2 @@
1
+ export declare const SQLLanguageFeature: import("@difizen/mana-app").SyringeModule<import("@difizen/mana-app").Syringe.Module>;
2
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/language/sql/module.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,uFAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Module } from '@difizen/mana-app';
2
+ import { SqlContribution } from "./sql-contribution.js";
3
+ export var SQLLanguageFeature = Module().register(SqlContribution);
@@ -0,0 +1,5 @@
1
+ import { InitializeContribution } from '@difizen/libro-cofine-editor-core';
2
+ export declare class SqlContribution implements InitializeContribution {
3
+ onInitialize(): void;
4
+ }
5
+ //# sourceMappingURL=sql-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-contribution.d.ts","sourceRoot":"","sources":["../../../src/language/sql/sql-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAO3E,qBACa,eAAgB,YAAW,sBAAsB;IAC5D,YAAY;CAWb"}
@@ -0,0 +1,34 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _dec, _class;
3
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import { InitializeContribution } from '@difizen/libro-cofine-editor-core';
9
+ import { singleton } from '@difizen/mana-app';
10
+ import * as monaco from '@difizen/monaco-editor-core';
11
+ import { id } from "./config.js";
12
+ import { setTokensLanguage } from "./theme-provider.js";
13
+ export var SqlContribution = (_dec = singleton({
14
+ contrib: [InitializeContribution]
15
+ }), _dec(_class = /*#__PURE__*/function () {
16
+ function SqlContribution() {
17
+ _classCallCheck(this, SqlContribution);
18
+ }
19
+ _createClass(SqlContribution, [{
20
+ key: "onInitialize",
21
+ value: function onInitialize() {
22
+ monaco.languages.register({
23
+ id: id,
24
+ extensions: ['.sql'],
25
+ aliases: ['sql', 'odps'],
26
+ mimetypes: ['text/sql']
27
+ });
28
+ monaco.languages.onLanguage(id, function () {
29
+ setTokensLanguage();
30
+ });
31
+ }
32
+ }]);
33
+ return SqlContribution;
34
+ }()) || _class);
@@ -0,0 +1,2 @@
1
+ export declare const setTokensLanguage: () => void;
2
+ //# sourceMappingURL=theme-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../../src/language/sql/theme-provider.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,YAuF7B,CAAC"}
@@ -0,0 +1,112 @@
1
+ import * as monaco from '@difizen/monaco-editor-core';
2
+ import { id, keywords } from "./config.js";
3
+ export var setTokensLanguage = function setTokensLanguage() {
4
+ var conf = {
5
+ comments: {
6
+ lineComment: '--'
7
+ },
8
+ brackets: [['{', '}'], ['[', ']'], ['(', ')']],
9
+ autoClosingPairs: [{
10
+ open: '{',
11
+ close: '}'
12
+ }, {
13
+ open: '[',
14
+ close: ']'
15
+ }, {
16
+ open: '(',
17
+ close: ')'
18
+ }, {
19
+ open: '"',
20
+ close: '"'
21
+ }, {
22
+ open: "'",
23
+ close: "'"
24
+ }, {
25
+ open: '`',
26
+ close: '`'
27
+ }],
28
+ surroundingPairs: [{
29
+ open: '{',
30
+ close: '}'
31
+ }, {
32
+ open: '[',
33
+ close: ']'
34
+ }, {
35
+ open: '(',
36
+ close: ')'
37
+ }, {
38
+ open: '"',
39
+ close: '"'
40
+ }, {
41
+ open: "'",
42
+ close: "'"
43
+ }, {
44
+ open: '`',
45
+ close: '`'
46
+ }]
47
+ };
48
+
49
+ // tslint:disable-next-line
50
+ var language = {
51
+ defaultToken: '',
52
+ ignoreCase: true,
53
+ keywords: keywords,
54
+ tokenizer: {
55
+ root: [{
56
+ include: '@comments'
57
+ }, {
58
+ include: '@numbers'
59
+ }, {
60
+ include: '@strings'
61
+ }, {
62
+ include: '@operator'
63
+ }, {
64
+ include: '@escapeId'
65
+ }, [/[\w@#$]+/, {
66
+ cases: {
67
+ '@keywords': 'keywords'
68
+ }
69
+ }]],
70
+ // 屏蔽字段名被识别成关键词时的高亮
71
+ escapeId: [[/[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+/, '']],
72
+ comments: [[/--+.*/, 'comment']],
73
+ numbers: [[/0[xX][0-9a-fA-F]*/, 'number'], [/[$][+-]*\d*(\.\d*)?/, 'number'],
74
+ // eslint-disable-next-line no-useless-escape
75
+ [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']],
76
+ strings: [[/N'/, {
77
+ token: 'string',
78
+ next: '@string'
79
+ }], [/'/, {
80
+ token: 'string',
81
+ next: '@string'
82
+ }], [/N"/, {
83
+ token: 'string',
84
+ next: '@quotedIdentifier'
85
+ }], [/"/, {
86
+ token: 'string',
87
+ next: '@quotedIdentifier'
88
+ }], [/N`/, {
89
+ token: 'string',
90
+ next: '@escchart'
91
+ }], [/`/, {
92
+ token: 'string',
93
+ next: '@escchart'
94
+ }]],
95
+ string: [[/(\\.|[^'\\])+/, 'string'], [/''/, 'string'], [/'/, {
96
+ token: 'string',
97
+ next: '@pop'
98
+ }]],
99
+ quotedIdentifier: [[/(\\.|[^"\\])+/, 'string'], [/""/, 'string'], [/"/, {
100
+ token: 'string',
101
+ next: '@pop'
102
+ }]],
103
+ escchart: [[/(\\.|[^`\\])+/, 'string'], [/``/, 'string'], [/`/, {
104
+ token: 'string',
105
+ next: '@pop'
106
+ }]],
107
+ operator: [[/[>|<|=|>=|<=|%|+|-|/|<>]/, 'operator']]
108
+ }
109
+ };
110
+ monaco.languages.setMonarchTokensProvider(id, language);
111
+ monaco.languages.setLanguageConfiguration(id, conf);
112
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"libro-e2-preload.d.ts","sourceRoot":"","sources":["../src/libro-e2-preload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,eAAO,MAAM,gBAAgB,gBAAuB,CAAC;AAErD,eAAO,MAAM,MAAM,mBAA0B,QAAQ,SAAS,kBAW7D,CAAC"}
1
+ {"version":3,"file":"libro-e2-preload.d.ts","sourceRoot":"","sources":["../src/libro-e2-preload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,eAAO,MAAM,gBAAgB,gBAAuB,CAAC;AAErD,eAAO,MAAM,MAAM,mBAA0B,QAAQ,SAAS,kBAY7D,CAAC"}
@@ -5,6 +5,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
5
5
  import { MonacoEnvironment } from '@difizen/libro-cofine-editor-core';
6
6
  import { Deferred } from '@difizen/mana-app';
7
7
  import { PythonLanguageFeature } from "./language/python/module.js";
8
+ import { SQLLanguageFeature } from "./language/sql/module.js";
8
9
  import { LibroE2ThemeModule } from "./theme/module.js";
9
10
  export var E2LoadedDeferred = new Deferred();
10
11
  export var loadE2 = /*#__PURE__*/function () {
@@ -27,8 +28,9 @@ export var loadE2 = /*#__PURE__*/function () {
27
28
  textmate = _context.sent;
28
29
  container.load(textmate.TextmateModule);
29
30
  container.load(PythonLanguageFeature);
31
+ container.load(SQLLanguageFeature);
30
32
  container.load(LibroE2ThemeModule);
31
- case 6:
33
+ case 7:
32
34
  case "end":
33
35
  return _context.stop();
34
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-cofine-editor",
3
- "version": "0.2.41",
3
+ "version": "0.2.43",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "libro",
@@ -33,12 +33,12 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "@difizen/monaco-editor-core": "0.39.4",
36
- "@difizen/libro-cofine-editor-core": "^0.2.41",
37
- "@difizen/libro-cofine-textmate": "^0.2.41",
38
- "@difizen/libro-lsp": "^0.2.41",
39
- "@difizen/libro-code-editor": "^0.2.41",
40
- "@difizen/libro-common": "^0.2.41",
41
- "@difizen/libro-core": "^0.2.41",
36
+ "@difizen/libro-cofine-editor-core": "^0.2.43",
37
+ "@difizen/libro-cofine-textmate": "^0.2.43",
38
+ "@difizen/libro-lsp": "^0.2.43",
39
+ "@difizen/libro-code-editor": "^0.2.43",
40
+ "@difizen/libro-common": "^0.2.43",
41
+ "@difizen/libro-core": "^0.2.43",
42
42
  "@difizen/mana-app": "latest",
43
43
  "resize-observer-polyfill": "^1.5.1",
44
44
  "vscode-languageserver-protocol": "^3.17.4",
@@ -0,0 +1,784 @@
1
+ export const id = 'sql-odps';
2
+ // 使用字面量作为关键词
3
+ export const keywords = [
4
+ 'ADD',
5
+ 'ALL',
6
+ 'ALTER',
7
+ 'ALWAYS',
8
+ 'ANALYZE',
9
+ 'AND',
10
+ 'ARRAY',
11
+ 'AS',
12
+ 'ASC',
13
+ 'ATTRIBUTE',
14
+ 'BEFORE',
15
+ 'BETWEEN',
16
+ 'BOTH',
17
+ 'BUCKETS',
18
+ 'BY',
19
+ 'CALL',
20
+ 'CASCADE',
21
+ 'CASE',
22
+ // 'CAST',
23
+ 'CHANGE',
24
+ 'CHARACTER',
25
+ 'CHECK',
26
+ 'COLLATE',
27
+ 'COLUMN',
28
+ 'CONDITION',
29
+ 'CONSTRAINT',
30
+ 'CONTINUE',
31
+ 'CONVERT',
32
+ 'CREATE',
33
+ 'CROSS',
34
+ 'CURRENT',
35
+ 'CURRENT_ROLE',
36
+ 'CURRENT_USER',
37
+ 'CURSOR',
38
+ 'DATABASE',
39
+ 'DATABASES',
40
+ 'DECLARE',
41
+ 'DEFAULT',
42
+ 'DELAYED',
43
+ 'DELETE',
44
+ 'DESC',
45
+ 'DESCRIBE',
46
+ 'DETERMINISTIC',
47
+ 'DIAGNOSTICS',
48
+ 'DISTINCT',
49
+ 'DISTINCTROW',
50
+ 'DROP',
51
+ 'EACH',
52
+ 'ELSE',
53
+ 'ELSEIF',
54
+ 'EMPTY',
55
+ 'ENCLOSED',
56
+ 'ENFORCED',
57
+ 'ESCAPED',
58
+ 'EXCEPT',
59
+ 'EXISTS',
60
+ 'EXIT',
61
+ 'EXPLAIN',
62
+ 'FALSE',
63
+ 'FETCH',
64
+ 'FOR',
65
+ 'FORCE',
66
+ 'FOREIGN',
67
+ 'FROM',
68
+ 'FULLTEXT',
69
+ 'GENERATED',
70
+ 'GET',
71
+ 'GRANT',
72
+ 'GROUP',
73
+ 'HAVING',
74
+ 'HIGH_PRIORITY',
75
+ 'HISTOGRAM',
76
+ 'IF',
77
+ 'IGNORE',
78
+ 'IGNORED',
79
+ 'IN',
80
+ 'INDEX',
81
+ 'INFILE',
82
+ 'INNER',
83
+ 'INOUT',
84
+ 'INSERT',
85
+ 'INTERVAL',
86
+ 'INTO',
87
+ 'IS',
88
+ 'ITERATE',
89
+ 'JOIN',
90
+ 'KEY',
91
+ 'KEYS',
92
+ 'KILL',
93
+ 'LATERAL',
94
+ 'LEADING',
95
+ 'LEAVE',
96
+ 'LEFT',
97
+ 'LIKE',
98
+ 'LIMIT',
99
+ 'LINEAR',
100
+ 'LINES',
101
+ 'LOAD',
102
+ 'LOCK',
103
+ 'LOCKED',
104
+ 'LOOP',
105
+ 'LOW_PRIORITY',
106
+ 'MASTER_BIND',
107
+ 'MASTER_SSL_VERIFY_SERVER_CERT',
108
+ 'MATCH',
109
+ 'MAXVALUE',
110
+ 'MINVALUE',
111
+ 'MODIFIES',
112
+ 'NATURAL',
113
+ 'NOT',
114
+ 'NO_WRITE_TO_BINLOG',
115
+ 'NULL',
116
+ 'NUMBER',
117
+ 'ON',
118
+ 'OPTIMIZE',
119
+ 'OPTION',
120
+ 'OPTIONAL',
121
+ 'OPTIONALLY',
122
+ 'OR',
123
+ 'ORDER',
124
+ 'OUT',
125
+ 'OUTER',
126
+ 'OUTFILE',
127
+ 'OVER',
128
+ 'PARTITION',
129
+ 'PRIMARY',
130
+ 'PROCEDURE',
131
+ 'PURGE',
132
+ 'RANGE',
133
+ 'READ',
134
+ 'READS',
135
+ 'REFERENCES',
136
+ 'REGEXP',
137
+ 'RELEASE',
138
+ 'RENAME',
139
+ 'REPEAT',
140
+ 'REPLACE',
141
+ 'REQUIRE',
142
+ 'RESIGNAL',
143
+ 'RESTRICT',
144
+ 'RETAIN',
145
+ 'RETURN',
146
+ 'REVOKE',
147
+ 'RIGHT',
148
+ 'RLIKE',
149
+ 'SCHEMA',
150
+ 'SCHEMAS',
151
+ 'SELECT',
152
+ 'SET',
153
+ 'SEPARATOR',
154
+ 'SHOW',
155
+ 'SIGNAL',
156
+ 'SKIP',
157
+ 'SKIP_QUERY_REWRITE',
158
+ 'SPATIAL',
159
+ 'SQL',
160
+ 'SQLEXCEPTION',
161
+ 'SQLSTATE',
162
+ 'SQLWARNING',
163
+ 'SQL_BIG_RESULT',
164
+ 'SQL_CALC_FOUND_ROWS',
165
+ 'SQL_SMALL_RESULT',
166
+ 'SSL',
167
+ 'STACKED',
168
+ 'STARTING',
169
+ 'STATEMENT',
170
+ 'STRAIGHT_JOIN',
171
+ 'TABLE',
172
+ 'TERMINATED',
173
+ 'THEN',
174
+ 'TO',
175
+ 'TRAILING',
176
+ 'TRIGGER',
177
+ 'TRUE',
178
+ 'UNDO',
179
+ 'UNION',
180
+ 'UNIQUE',
181
+ 'UNLOCK',
182
+ 'UNSIGNED',
183
+ 'UPDATE',
184
+ 'USAGE',
185
+ 'USE',
186
+ 'USING',
187
+ 'VALUES',
188
+ 'WHEN',
189
+ 'WHERE',
190
+ 'WHILE',
191
+ 'WITH',
192
+ 'WRITE',
193
+ 'XOR',
194
+ 'ZEROFILL',
195
+ 'TINYINT',
196
+ 'SMALLINT',
197
+ 'MEDIUMINT',
198
+ 'MIDDLEINT',
199
+ 'INT',
200
+ 'INT1',
201
+ 'INT2',
202
+ 'INT3',
203
+ 'INT4',
204
+ 'INT8',
205
+ 'INTEGER',
206
+ 'BIGINT',
207
+ 'REAL',
208
+ 'DOUBLE',
209
+ 'PRECISION',
210
+ 'FLOAT',
211
+ 'FLOAT4',
212
+ 'FLOAT8',
213
+ 'DECIMAL',
214
+ 'DEC',
215
+ 'NUMERIC',
216
+ 'DATE',
217
+ 'TIME',
218
+ 'TIMESTAMP',
219
+ 'DATETIME',
220
+ 'YEAR',
221
+ 'CHAR',
222
+ 'VARCHAR',
223
+ 'NVARCHAR',
224
+ 'NATIONAL',
225
+ 'BINARY',
226
+ 'VARBINARY',
227
+ 'TINYBLOB',
228
+ 'BLOB',
229
+ 'MEDIUMBLOB',
230
+ 'LONG',
231
+ 'LONGBLOB',
232
+ 'TINYTEXT',
233
+ 'TEXT',
234
+ 'MEDIUMTEXT',
235
+ 'LONGTEXT',
236
+ 'ENUM',
237
+ 'VARYING',
238
+ 'SERIAL',
239
+ 'YEAR_MONTH',
240
+ 'DAY_HOUR',
241
+ 'DAY_MINUTE',
242
+ 'DAY_SECOND',
243
+ 'HOUR_MINUTE',
244
+ 'HOUR_SECOND',
245
+ 'MINUTE_SECOND',
246
+ 'SECOND_MICROSECOND',
247
+ 'MINUTE_MICROSECOND',
248
+ 'HOUR_MICROSECOND',
249
+ 'DAY_MICROSECOND',
250
+ 'NESTED',
251
+ 'ORDINALITY',
252
+ 'PATH',
253
+
254
+ // 'AVG',
255
+ // 'BIT_AND',
256
+ // 'BIT_OR',
257
+ // 'BIT_XOR',
258
+ 'GROUP_CONCAT',
259
+ 'LEAD',
260
+ // 'MAX',
261
+ // 'MIN',
262
+ 'NTILE',
263
+ 'NTH_VALUE',
264
+ 'PERCENT_RANK',
265
+ 'RANK',
266
+ 'ROW_NUMBER',
267
+ // 'STD',
268
+ // 'STDDEV',
269
+ // 'STDDEV_POP',
270
+ // 'STDDEV_SAMP',
271
+ // 'SUM',
272
+ // 'VAR_POP',
273
+ // 'VAR_SAMP',
274
+ // 'VARIANCE',
275
+ // 'CURRENT_DATE',
276
+ // 'CURRENT_TIME',
277
+ // 'CURRENT_TIMESTAMP',
278
+ // 'LOCALTIME',
279
+ // 'CURDATE',
280
+ // 'CURTIME',
281
+ // 'DATE_ADD',
282
+ // 'DATE_SUB',
283
+ 'EXTRACT',
284
+ // 'LOCALTIMESTAMP',
285
+ // 'NOW',
286
+ // 'POSITION',
287
+ // 'SUBSTR',
288
+ // 'SUBSTRING',
289
+ 'SYSDATE',
290
+ 'TRIM',
291
+ // 'UTC_DATE',
292
+ // 'UTC_TIME',
293
+ // 'UTC_TIMESTAMP',
294
+ 'ACCOUNT',
295
+ 'ACTION',
296
+ 'AFTER',
297
+ 'AGGREGATE',
298
+ 'ALGORITHM',
299
+ 'ANY',
300
+ 'AT',
301
+ 'AUTHORS',
302
+ 'AUTOCOMMIT',
303
+ 'AUTOEXTEND_SIZE',
304
+ 'AUTO_INCREMENT',
305
+ 'AVG_ROW_LENGTH',
306
+ 'BEGIN',
307
+ 'BINLOG',
308
+ 'BIT',
309
+ 'BLOCK',
310
+ 'BOOL',
311
+ 'BOOLEAN',
312
+ 'BTREE',
313
+ 'CACHE',
314
+ 'CASCADED',
315
+ 'CHAIN',
316
+ 'CHANGED',
317
+ 'CHANNEL',
318
+ 'CHECKSUM',
319
+ 'PAGE_CHECKSUM',
320
+ 'CIPHER',
321
+ 'CLASS_ORIGIN',
322
+ 'CLIENT',
323
+ 'CLOSE',
324
+ 'CLUSTERING',
325
+ 'COALESCE',
326
+ 'CODE',
327
+ 'COLUMNS',
328
+ 'COLUMN_FORMAT',
329
+ 'COLUMN_NAME',
330
+ 'COMMENT',
331
+ 'COMMIT',
332
+ 'COMPACT',
333
+ 'COMPLETION',
334
+ 'COMPRESSED',
335
+ 'COMPRESSION',
336
+ 'CONCURRENT',
337
+ 'CONNECT',
338
+ 'CONNECTION',
339
+ 'CONSISTENT',
340
+ 'CONSTRAINT_CATALOG',
341
+ 'CONSTRAINT_SCHEMA',
342
+ 'CONSTRAINT_NAME',
343
+ 'CONTAINS',
344
+ 'CONTEXT',
345
+ 'CONTRIBUTORS',
346
+ 'COPY',
347
+ 'CPU',
348
+ 'CYCLE',
349
+ 'CURSOR_NAME',
350
+ 'DATA',
351
+ 'DATAFILE',
352
+ 'DEALLOCATE',
353
+ 'DEFAULT_AUTH',
354
+ 'DEFINER',
355
+ 'DELAY_KEY_WRITE',
356
+ 'DES_KEY_FILE',
357
+ 'DIRECTORY',
358
+ 'DISABLE',
359
+ 'DISCARD',
360
+ 'DISK',
361
+ 'DO',
362
+ 'DUMPFILE',
363
+ 'DUPLICATE',
364
+ 'DYNAMIC',
365
+ 'ENABLE',
366
+ 'ENCRYPTED',
367
+ 'ENCRYPTION',
368
+ 'ENCRYPTION_KEY_ID',
369
+ 'END',
370
+ 'ENDS',
371
+ 'ENGINE',
372
+ 'ENGINES',
373
+ 'ERROR',
374
+ 'ERRORS',
375
+ 'ESCAPE',
376
+ 'EVEN',
377
+ 'EVENT',
378
+ 'EVENTS',
379
+ 'EVERY',
380
+ 'EXCHANGE',
381
+ 'EXCLUSIVE',
382
+ 'EXPIRE',
383
+ 'EXPORT',
384
+ 'EXTENDED',
385
+ 'EXTENT_SIZE',
386
+ 'FAILED_LOGIN_ATTEMPTS',
387
+ 'FAST',
388
+ 'FAULTS',
389
+ 'FIELDS',
390
+ 'FILE_BLOCK_SIZE',
391
+ 'FILTER',
392
+ 'FIRST',
393
+ 'FIXED',
394
+ 'FLUSH',
395
+ 'FOLLOWING',
396
+ 'FOLLOWS',
397
+ 'FOUND',
398
+ 'FULL',
399
+ 'FUNCTION',
400
+ 'GENERAL',
401
+ 'GLOBAL',
402
+ 'GRANTS',
403
+ 'GROUP_REPLICATION',
404
+ 'HANDLER',
405
+ 'HASH',
406
+ 'HELP',
407
+ 'HISTORY',
408
+ 'HOST',
409
+ 'HOSTS',
410
+ 'IDENTIFIED',
411
+ 'IGNORE_SERVER_IDS',
412
+ 'IMPORT',
413
+ 'INCREMENT',
414
+ 'INDEXES',
415
+ 'INITIAL_SIZE',
416
+ 'INPLACE',
417
+ 'INSERT_METHOD',
418
+ 'INSTALL',
419
+ 'INSTANCE',
420
+ 'INSTANT',
421
+ 'INVISIBLE',
422
+ 'INVOKER',
423
+ 'IO',
424
+ 'IO_THREAD',
425
+ 'IPC',
426
+ 'ISOLATION',
427
+ 'ISSUER',
428
+ 'JSON',
429
+ 'KEY_BLOCK_SIZE',
430
+ 'LANGUAGE',
431
+ 'LAST',
432
+ 'LEAVES',
433
+ 'LESS',
434
+ 'LEVEL',
435
+ 'LIST',
436
+ 'LOCAL',
437
+ 'LOGFILE',
438
+ 'LOGS',
439
+ 'MASTER',
440
+ 'MASTER_AUTO_POSITION',
441
+ 'MASTER_CONNECT_RETRY',
442
+ 'MASTER_DELAY',
443
+ 'MASTER_HEARTBEAT_PERIOD',
444
+ 'MASTER_HOST',
445
+ 'MASTER_LOG_FILE',
446
+ 'MASTER_LOG_POS',
447
+ 'MASTER_PASSWORD',
448
+ 'MASTER_PORT',
449
+ 'MASTER_RETRY_COUNT',
450
+ 'MASTER_SSL',
451
+ 'MASTER_SSL_CA',
452
+ 'MASTER_SSL_CAPATH',
453
+ 'MASTER_SSL_CERT',
454
+ 'MASTER_SSL_CIPHER',
455
+ 'MASTER_SSL_CRL',
456
+ 'MASTER_SSL_CRLPATH',
457
+ 'MASTER_SSL_KEY',
458
+ 'MASTER_TLS_VERSION',
459
+ 'MASTER_USER',
460
+ 'MAX_CONNECTIONS_PER_HOUR',
461
+ 'MAX_QUERIES_PER_HOUR',
462
+ 'MAX_ROWS',
463
+ 'MAX_SIZE',
464
+ 'MAX_UPDATES_PER_HOUR',
465
+ 'MAX_USER_CONNECTIONS',
466
+ 'MEDIUM',
467
+ 'MEMBER',
468
+ 'MERGE',
469
+ 'MESSAGE_TEXT',
470
+ 'MID',
471
+ 'MIGRATE',
472
+ 'MIN_ROWS',
473
+ 'MODE',
474
+ 'MODIFY',
475
+ 'MUTEX',
476
+ 'MYSQL',
477
+ 'MYSQL_ERRNO',
478
+ 'NAME',
479
+ 'NAMES',
480
+ 'NCHAR',
481
+ 'NEVER',
482
+ 'NEXT',
483
+ 'NO',
484
+ 'NOCACHE',
485
+ 'NOCOPY',
486
+ 'NOCYCLE',
487
+ 'NOMAXVALUE',
488
+ 'NOMINVALUE',
489
+ 'NOWAIT',
490
+ 'NODEGROUP',
491
+ 'NONE',
492
+ 'ODBC',
493
+ 'OFFLINE',
494
+ 'OFFSET',
495
+ 'OF',
496
+ 'OJ',
497
+ 'OLD_PASSWORD',
498
+ 'ONE',
499
+ 'ONLINE',
500
+ 'ONLY',
501
+ 'OPEN',
502
+ 'OPTIMIZER_COSTS',
503
+ 'OPTIONS',
504
+ 'OWNER',
505
+ 'PACK_KEYS',
506
+ 'PAGE',
507
+ 'PAGE_COMPRESSED',
508
+ 'PAGE_COMPRESSION_LEVEL',
509
+ 'PARSER',
510
+ 'PARTIAL',
511
+ 'PARTITIONING',
512
+ 'PARTITIONS',
513
+ 'PASSWORD',
514
+ 'PASSWORD_LOCK_TIME',
515
+ 'PHASE',
516
+ 'PLUGIN',
517
+ 'PLUGIN_DIR',
518
+ 'PLUGINS',
519
+ 'PORT',
520
+ 'PRECEDES',
521
+ 'PRECEDING',
522
+ 'PREPARE',
523
+ 'PRESERVE',
524
+ 'PREV',
525
+ 'PROCESSLIST',
526
+ 'PROFILE',
527
+ 'PROFILES',
528
+ 'PROXY',
529
+ 'QUERY',
530
+ 'QUICK',
531
+ 'REBUILD',
532
+ 'RECOVER',
533
+ 'RECURSIVE',
534
+ 'REDO_BUFFER_SIZE',
535
+ 'REDUNDANT',
536
+ 'RELAY',
537
+ 'RELAY_LOG_FILE',
538
+ 'RELAY_LOG_POS',
539
+ 'RELAYLOG',
540
+ 'REMOVE',
541
+ 'REORGANIZE',
542
+ 'REPAIR',
543
+ 'REPLICATE_DO_DB',
544
+ 'REPLICATE_DO_TABLE',
545
+ 'REPLICATE_IGNORE_DB',
546
+ 'REPLICATE_IGNORE_TABLE',
547
+ 'REPLICATE_REWRITE_DB',
548
+ 'REPLICATE_WILD_DO_TABLE',
549
+ 'REPLICATE_WILD_IGNORE_TABLE',
550
+ 'REPLICATION',
551
+ 'RESET',
552
+ 'RESTART',
553
+ 'RESUME',
554
+ 'RETURNED_SQLSTATE',
555
+ 'RETURNING',
556
+ 'RETURNS',
557
+ 'REUSE',
558
+ 'ROLE',
559
+ 'ROLLBACK',
560
+ 'ROLLUP',
561
+ 'ROTATE',
562
+ 'ROW',
563
+ 'ROWS',
564
+ 'ROW_FORMAT',
565
+ 'RTREE',
566
+ 'SAVEPOINT',
567
+ 'SCHEDULE',
568
+ 'SECURITY',
569
+ 'SEQUENCE',
570
+ 'SERVER',
571
+ 'SESSION',
572
+ 'SHARE',
573
+ 'SHARED',
574
+ 'SIGNED',
575
+ 'SIMPLE',
576
+ 'SLAVE',
577
+ 'SLOW',
578
+ 'SNAPSHOT',
579
+ 'SOCKET',
580
+ 'SOME',
581
+ 'SONAME',
582
+ 'SOUNDS',
583
+ 'SOURCE',
584
+ 'SQL_AFTER_GTIDS',
585
+ 'SQL_AFTER_MTS_GAPS',
586
+ 'SQL_BEFORE_GTIDS',
587
+ 'SQL_BUFFER_RESULT',
588
+ 'SQL_CACHE',
589
+ 'SQL_NO_CACHE',
590
+ 'SQL_THREAD',
591
+ 'START',
592
+ 'STARTS',
593
+ 'STATS_AUTO_RECALC',
594
+ 'STATS_PERSISTENT',
595
+ 'STATS_SAMPLE_PAGES',
596
+ 'STATUS',
597
+ 'STOP',
598
+ 'STORAGE',
599
+ 'STORED',
600
+ 'STRING',
601
+ 'SUBCLASS_ORIGIN',
602
+ 'SUBJECT',
603
+ 'SUBPARTITION',
604
+ 'SUBPARTITIONS',
605
+ 'SUSPEND',
606
+ 'SWAPS',
607
+ 'SWITCHES',
608
+ 'TABLE_NAME',
609
+ 'TABLESPACE',
610
+ 'TABLE_TYPE',
611
+ 'TEMPORARY',
612
+ 'TEMPTABLE',
613
+ 'THAN',
614
+ 'TRADITIONAL',
615
+ 'TRANSACTION',
616
+ 'TRANSACTIONAL',
617
+ 'TRIGGERS',
618
+ 'TRUNCATE',
619
+ 'UNBOUNDED',
620
+ 'UNDEFINED',
621
+ 'UNDOFILE',
622
+ 'UNDO_BUFFER_SIZE',
623
+ 'UNINSTALL',
624
+ 'UNKNOWN',
625
+ 'UNTIL',
626
+ 'UPGRADE',
627
+ 'USER',
628
+ 'USE_FRM',
629
+ 'USER_RESOURCES',
630
+ 'VALIDATION',
631
+ 'VALUE',
632
+ 'VARIABLES',
633
+ 'VIEW',
634
+ 'VIRTUAL',
635
+ 'VISIBLE',
636
+ 'WAIT',
637
+ 'WARNINGS',
638
+ 'WINDOW',
639
+ 'WITHOUT',
640
+ 'WORK',
641
+ 'WRAPPER',
642
+ 'X509',
643
+ 'XA',
644
+ 'XML',
645
+ 'YES',
646
+
647
+ 'EUR',
648
+ 'USA',
649
+ 'JIS',
650
+ 'ISO',
651
+ 'INTERNAL',
652
+ 'QUARTER',
653
+ 'MONTH',
654
+ 'DAY',
655
+ 'HOUR',
656
+ 'MINUTE',
657
+ 'WEEK',
658
+ 'SECOND',
659
+ 'MICROSECOND',
660
+ 'ADMIN',
661
+ 'APPLICATION_PASSWORD_ADMIN',
662
+ 'AUDIT_ABORT_EXEMPT',
663
+ 'AUDIT_ADMIN',
664
+ 'AUTHENTICATION_POLICY_ADMIN',
665
+ 'BACKUP_ADMIN',
666
+ 'BINLOG_ADMIN',
667
+ 'BINLOG_ENCRYPTION_ADMIN',
668
+ 'CLONE_ADMIN',
669
+ 'CONNECTION_ADMIN',
670
+ 'ENCRYPTION_KEY_ADMIN',
671
+ 'EXECUTE',
672
+ 'FILE',
673
+ 'FIREWALL_ADMIN',
674
+ 'FIREWALL_EXEMPT',
675
+ 'FIREWALL_USER',
676
+ 'FLUSH_OPTIMIZER_COSTS',
677
+ 'FLUSH_STATUS',
678
+ 'FLUSH_TABLES',
679
+ 'FLUSH_USER_RESOURCES',
680
+ 'GROUP_REPLICATION_ADMIN',
681
+ 'INNODB_REDO_LOG_ARCHIVE',
682
+ 'INNODB_REDO_LOG_ENABLE',
683
+ 'INVOKE',
684
+ 'LAMBDA',
685
+ 'NDB_STORED_USER',
686
+ 'PASSWORDLESS_USER_ADMIN',
687
+ 'PERSIST_RO_VARIABLES_ADMIN',
688
+ 'PRIVILEGES',
689
+ 'PROCESS',
690
+ 'RELOAD',
691
+ 'REPLICATION_APPLIER',
692
+ 'REPLICATION_SLAVE_ADMIN',
693
+ 'RESOURCE_GROUP_ADMIN',
694
+ 'RESOURCE_GROUP_USER',
695
+ 'ROLE_ADMIN',
696
+ 'ROUTINE',
697
+ 'S3',
698
+ 'SERVICE_CONNECTION_ADMIN',
699
+ 'SESSION_VARIABLES_ADMIN',
700
+ 'SET_USER_ID',
701
+ 'SHOW_ROUTINE',
702
+ 'SHUTDOWN',
703
+ 'SUPER',
704
+ 'SYSTEM_VARIABLES_ADMIN',
705
+ 'TABLES',
706
+ 'TABLE_ENCRYPTION_ADMIN',
707
+ 'VERSION_TOKEN_ADMIN',
708
+ 'XA_RECOVER_ADMIN',
709
+ 'ARMSCII8',
710
+ // 'ASCII',
711
+ 'BIG5',
712
+ 'CP1250',
713
+ 'CP1251',
714
+ 'CP1256',
715
+ 'CP1257',
716
+ 'CP850',
717
+ 'CP852',
718
+ 'CP866',
719
+ 'CP932',
720
+ 'DEC8',
721
+ 'EUCJPMS',
722
+ 'EUCKR',
723
+ 'GB18030',
724
+ 'GB2312',
725
+ 'GBK',
726
+ 'GEOSTD8',
727
+ 'GREEK',
728
+ 'HEBREW',
729
+ 'HP8',
730
+ 'KEYBCS2',
731
+ 'KOI8R',
732
+ 'KOI8U',
733
+ 'LATIN1',
734
+ 'LATIN2',
735
+ 'LATIN5',
736
+ 'LATIN7',
737
+ 'MACCE',
738
+ 'MACROMAN',
739
+ 'SJIS',
740
+ 'SWE7',
741
+ 'TIS620',
742
+ 'UCS2',
743
+ 'UJIS',
744
+ 'UTF16',
745
+ 'UTF16LE',
746
+ 'UTF32',
747
+ 'UTF8',
748
+ 'UTF8MB3',
749
+ 'UTF8MB4',
750
+ 'ARCHIVE',
751
+ 'BLACKHOLE',
752
+ 'CSV',
753
+ 'FEDERATED',
754
+ 'INNODB',
755
+ 'MEMORY',
756
+ 'MRG_MYISAM',
757
+ 'MYISAM',
758
+ 'NDB',
759
+ 'NDBCLUSTER',
760
+ 'PERFORMANCE_SCHEMA',
761
+ 'TOKUDB',
762
+ 'REPEATABLE',
763
+ 'COMMITTED',
764
+ 'UNCOMMITTED',
765
+ 'SERIALIZABLE',
766
+ 'GEOMCOLLECTION',
767
+ 'GEOMETRY',
768
+ 'LINESTRING',
769
+ 'MULTILINESTRING',
770
+ 'MULTIPOINT',
771
+ 'MULTIPOLYGON',
772
+ 'POINT',
773
+ 'POLYGON',
774
+
775
+ 'CATALOG_NAME',
776
+ 'CHARSET',
777
+ 'COLLATION',
778
+ 'ENGINE_ATTRIBUTE',
779
+ 'FORMAT',
780
+ 'SECONDARY_ENGINE_ATTRIBUTE',
781
+ 'SCHEMA_NAME',
782
+ ];
783
+
784
+ export const snippets = [];
@@ -0,0 +1,5 @@
1
+ import { Module } from '@difizen/mana-app';
2
+
3
+ import { SqlContribution } from './sql-contribution.js';
4
+
5
+ export const SQLLanguageFeature = Module().register(SqlContribution);
@@ -0,0 +1,21 @@
1
+ import { InitializeContribution } from '@difizen/libro-cofine-editor-core';
2
+ import { singleton } from '@difizen/mana-app';
3
+ import * as monaco from '@difizen/monaco-editor-core';
4
+
5
+ import { id } from './config.js';
6
+ import { setTokensLanguage } from './theme-provider.js';
7
+
8
+ @singleton({ contrib: [InitializeContribution] })
9
+ export class SqlContribution implements InitializeContribution {
10
+ onInitialize() {
11
+ monaco.languages.register({
12
+ id,
13
+ extensions: ['.sql'],
14
+ aliases: ['sql', 'odps'],
15
+ mimetypes: ['text/sql'],
16
+ });
17
+ monaco.languages.onLanguage(id, () => {
18
+ setTokensLanguage();
19
+ });
20
+ }
21
+ }
@@ -0,0 +1,92 @@
1
+ import * as monaco from '@difizen/monaco-editor-core';
2
+
3
+ import { id, keywords } from './config.js';
4
+
5
+ export const setTokensLanguage = () => {
6
+ const conf: monaco.languages.LanguageConfiguration = {
7
+ comments: {
8
+ lineComment: '--',
9
+ },
10
+ brackets: [
11
+ ['{', '}'],
12
+ ['[', ']'],
13
+ ['(', ')'],
14
+ ],
15
+ autoClosingPairs: [
16
+ { open: '{', close: '}' },
17
+ { open: '[', close: ']' },
18
+ { open: '(', close: ')' },
19
+ { open: '"', close: '"' },
20
+ { open: "'", close: "'" },
21
+ { open: '`', close: '`' },
22
+ ],
23
+ surroundingPairs: [
24
+ { open: '{', close: '}' },
25
+ { open: '[', close: ']' },
26
+ { open: '(', close: ')' },
27
+ { open: '"', close: '"' },
28
+ { open: "'", close: "'" },
29
+ { open: '`', close: '`' },
30
+ ],
31
+ };
32
+
33
+ // tslint:disable-next-line
34
+ const language = <monaco.languages.IMonarchLanguage>{
35
+ defaultToken: '',
36
+ ignoreCase: true,
37
+ keywords,
38
+ tokenizer: {
39
+ root: [
40
+ { include: '@comments' },
41
+ { include: '@numbers' },
42
+ { include: '@strings' },
43
+ { include: '@operator' },
44
+ { include: '@escapeId' },
45
+ [
46
+ /[\w@#$]+/,
47
+ {
48
+ cases: {
49
+ '@keywords': 'keywords',
50
+ },
51
+ },
52
+ ],
53
+ ],
54
+ // 屏蔽字段名被识别成关键词时的高亮
55
+ escapeId: [[/[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+/, '']],
56
+ comments: [[/--+.*/, 'comment']],
57
+ numbers: [
58
+ [/0[xX][0-9a-fA-F]*/, 'number'],
59
+ [/[$][+-]*\d*(\.\d*)?/, 'number'],
60
+ // eslint-disable-next-line no-useless-escape
61
+ [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'],
62
+ ],
63
+ strings: [
64
+ [/N'/, { token: 'string', next: '@string' }],
65
+ [/'/, { token: 'string', next: '@string' }],
66
+ [/N"/, { token: 'string', next: '@quotedIdentifier' }],
67
+ [/"/, { token: 'string', next: '@quotedIdentifier' }],
68
+ [/N`/, { token: 'string', next: '@escchart' }],
69
+ [/`/, { token: 'string', next: '@escchart' }],
70
+ ],
71
+ string: [
72
+ [/(\\.|[^'\\])+/, 'string'],
73
+ [/''/, 'string'],
74
+ [/'/, { token: 'string', next: '@pop' }],
75
+ ],
76
+ quotedIdentifier: [
77
+ [/(\\.|[^"\\])+/, 'string'],
78
+ [/""/, 'string'],
79
+ [/"/, { token: 'string', next: '@pop' }],
80
+ ],
81
+ escchart: [
82
+ [/(\\.|[^`\\])+/, 'string'],
83
+ [/``/, 'string'],
84
+ [/`/, { token: 'string', next: '@pop' }],
85
+ ],
86
+ operator: [[/[>|<|=|>=|<=|%|+|-|/|<>]/, 'operator']],
87
+ },
88
+ };
89
+
90
+ monaco.languages.setMonarchTokensProvider(id, language);
91
+ monaco.languages.setLanguageConfiguration(id, conf);
92
+ };
@@ -3,6 +3,7 @@ import type { Syringe } from '@difizen/mana-app';
3
3
  import { Deferred } from '@difizen/mana-app';
4
4
 
5
5
  import { PythonLanguageFeature } from './language/python/module.js';
6
+ import { SQLLanguageFeature } from './language/sql/module.js';
6
7
  import { LibroE2ThemeModule } from './theme/module.js';
7
8
 
8
9
  export const E2LoadedDeferred = new Deferred<void>();
@@ -14,6 +15,7 @@ export const loadE2 = async (libroContainer: Syringe.Container) => {
14
15
  const textmate = await import('@difizen/libro-cofine-textmate');
15
16
  container.load(textmate.TextmateModule);
16
17
  container.load(PythonLanguageFeature);
18
+ container.load(SQLLanguageFeature);
17
19
  container.load(LibroE2ThemeModule);
18
20
  });
19
21
  await MonacoEnvironment.init();