@difizen/libro-cofine-editor 0.2.40 → 0.2.41-next.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-cofine-editor",
3
- "version": "0.2.40",
3
+ "version": "0.2.41-next.0",
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.40",
37
- "@difizen/libro-cofine-textmate": "^0.2.40",
38
- "@difizen/libro-lsp": "^0.2.40",
39
- "@difizen/libro-code-editor": "^0.2.40",
40
- "@difizen/libro-common": "^0.2.40",
41
- "@difizen/libro-core": "^0.2.40",
36
+ "@difizen/libro-cofine-editor-core": "^0.2.41-next.0",
37
+ "@difizen/libro-cofine-textmate": "^0.2.41-next.0",
38
+ "@difizen/libro-lsp": "^0.2.41-next.0",
39
+ "@difizen/libro-code-editor": "^0.2.41-next.0",
40
+ "@difizen/libro-common": "^0.2.41-next.0",
41
+ "@difizen/libro-core": "^0.2.41-next.0",
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();