@lvce-editor/editor-worker 1.6.0 → 1.7.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.
@@ -71,7 +71,7 @@ const getNewColor = (x, max) => {
71
71
  const newColor = `hsl(${hue}, 100%, 50%)`;
72
72
  return newColor;
73
73
  };
74
- const loadContent$1 = state => {
74
+ const loadContent$2 = state => {
75
75
  const max = 300;
76
76
  const x = 20;
77
77
  const color = getNewColor(x, max);
@@ -464,9 +464,13 @@ const measureTextWidth = (text, fontWeight, fontSize, fontFamily, letterSpacing,
464
464
  return width;
465
465
  };
466
466
 
467
+ const Dash = '-';
468
+ const Dot = '.';
467
469
  const EmptyString = '';
468
470
  const Space = ' ';
469
471
  const Tab = '\t';
472
+ const Underline = '_';
473
+ const T = 't';
470
474
 
471
475
  const normalizeText = (text, normalize, tabSize) => {
472
476
  if (normalize) {
@@ -1695,6 +1699,8 @@ const {
1695
1699
  invoke: invoke$2
1696
1700
  } = createRpc(ExtensionHostWorker);
1697
1701
 
1702
+ const CompletionExecute = 'ExtensionHostCompletion.execute';
1703
+ const CompletionResolveExecute = 'ExtensionHostCompletion.executeResolve';
1698
1704
  const HoverExecute = 'ExtensionHostHover.execute';
1699
1705
  const TextDocumentSyncFull = 'ExtensionHostTextDocument.syncFull';
1700
1706
 
@@ -6180,6 +6186,493 @@ const editorUnindent = editor => {
6180
6186
 
6181
6187
  // editor.lines //?
6182
6188
 
6189
+ const OnCompletion = 'onCompletion';
6190
+ const OnHover = 'onHover';
6191
+
6192
+ // TODO add tests for this
6193
+ const activateByEvent = async event => {
6194
+ await invoke$3('ExtensionHostManagement.activateByEvent', event);
6195
+ };
6196
+
6197
+ const execute = async ({
6198
+ editor,
6199
+ args,
6200
+ event,
6201
+ method,
6202
+ noProviderFoundMessage,
6203
+ noProviderFoundResult = undefined
6204
+ }) => {
6205
+ const fullEvent = `${event}:${editor.languageId}`;
6206
+ await activateByEvent(fullEvent);
6207
+ const result = await invoke$2(method, editor.uid, ...args);
6208
+ return result;
6209
+ };
6210
+
6211
+ const combineResults = results => {
6212
+ return results[0] ?? [];
6213
+ };
6214
+ const executeCompletionProvider = (editor, offset) => {
6215
+ return execute({
6216
+ editor,
6217
+ event: OnCompletion,
6218
+ method: CompletionExecute,
6219
+ args: [offset],
6220
+ noProviderFoundMessage: 'no completion provider found',
6221
+ noProviderFoundResult: [],
6222
+ combineResults
6223
+ });
6224
+ };
6225
+ const combineResultsResolve = items => {
6226
+ return items[0] ?? undefined;
6227
+ };
6228
+ const executeResolveCompletionItem = (editor, offset, name, completionItem) => {
6229
+ return execute({
6230
+ editor,
6231
+ event: OnCompletion,
6232
+ method: CompletionResolveExecute,
6233
+ args: [offset, name, completionItem],
6234
+ noProviderFoundMessage: 'no completion provider found',
6235
+ noProviderFoundResult: [],
6236
+ combineResults: combineResultsResolve
6237
+ });
6238
+ };
6239
+
6240
+ // TODO possible to do this with events/state machine instead of promises -> enables canceling operations / concurrent calls
6241
+ const getCompletions = async editor => {
6242
+ const {
6243
+ selections
6244
+ } = editor;
6245
+ const rowIndex = selections[0];
6246
+ const columnIndex = selections[1];
6247
+ // Editor.sync(editor)
6248
+ const offset = await offsetAt(editor, rowIndex, columnIndex);
6249
+ const completions = await executeCompletionProvider(editor, offset);
6250
+ return completions;
6251
+ };
6252
+
6253
+ // TODO don't send unnecessary parts of completion item like matches
6254
+ const resolveCompletion = async (editor, name, completionItem) => {
6255
+ try {
6256
+ object(editor);
6257
+ string(name);
6258
+ object(completionItem);
6259
+ const rowIndex = editor.selections[0];
6260
+ const columnIndex = editor.selections[1];
6261
+ const offset = await offsetAt(editor, rowIndex, columnIndex);
6262
+ // @ts-ignore
6263
+ const resolvedCompletionItem = await executeResolveCompletionItem(editor, offset, name, completionItem);
6264
+ return resolvedCompletionItem;
6265
+ } catch {
6266
+ return undefined;
6267
+ }
6268
+ };
6269
+
6270
+ const None = 1;
6271
+
6272
+ const EmptyMatches = [];
6273
+
6274
+ const Diagonal = 1;
6275
+ const Left = 2;
6276
+
6277
+ // based on https://github.com/microsoft/vscode/blob/3059063b805ed0ac10a6d9539e213386bfcfb852/src/vs/base/common/filters.ts by Microsoft (License MIT)
6278
+
6279
+ const createTable = size => {
6280
+ const table = [];
6281
+ for (let i = 0; i < size; i++) {
6282
+ const row = new Uint8Array(size);
6283
+ table.push(row);
6284
+ }
6285
+ return table;
6286
+ };
6287
+
6288
+ const isLowerCase = char => {
6289
+ return char === char.toLowerCase();
6290
+ };
6291
+
6292
+ const isUpperCase = char => {
6293
+ return char === char.toUpperCase();
6294
+ };
6295
+
6296
+ // based on https://github.com/microsoft/vscode/blob/3059063b805ed0ac10a6d9539e213386bfcfb852/src/vs/base/common/filters.ts by Microsoft (License MIT)
6297
+ const isGap = (columnCharBefore, columnChar) => {
6298
+ switch (columnCharBefore) {
6299
+ case Dash:
6300
+ case Underline:
6301
+ case EmptyString:
6302
+ case T:
6303
+ case Space:
6304
+ case Dot:
6305
+ return true;
6306
+ }
6307
+ if (isLowerCase(columnCharBefore) && isUpperCase(columnChar)) {
6308
+ return true;
6309
+ }
6310
+ return false;
6311
+ };
6312
+
6313
+ // based on https://github.com/microsoft/vscode/blob/3059063b805ed0ac10a6d9539e213386bfcfb852/src/vs/base/common/filters.ts by Microsoft (License MIT)
6314
+ const getScore = (rowCharLow, rowChar, columnCharBefore, columnCharLow, columnChar, column, wordLength, isDiagonalMatch) => {
6315
+ if (rowCharLow !== columnCharLow) {
6316
+ return -1;
6317
+ }
6318
+ const isMatch = rowChar === columnChar;
6319
+ if (isMatch) {
6320
+ if (isDiagonalMatch) {
6321
+ return 8;
6322
+ }
6323
+ if (isGap(columnCharBefore, columnChar)) {
6324
+ return 8;
6325
+ }
6326
+ return 5;
6327
+ }
6328
+ if (isGap(columnCharBefore, columnChar)) {
6329
+ return 8;
6330
+ }
6331
+ return 5;
6332
+ };
6333
+
6334
+ // based on https://github.com/microsoft/vscode/blob/3059063b805ed0ac10a6d9539e213386bfcfb852/src/vs/base/common/filters.ts by Microsoft (License MIT)
6335
+
6336
+ const isPatternInWord = (patternLow, patternPos, patternLen, wordLow, wordPos, wordLen) => {
6337
+ while (patternPos < patternLen && wordPos < wordLen) {
6338
+ if (patternLow[patternPos] === wordLow[wordPos]) {
6339
+ patternPos += 1;
6340
+ }
6341
+ wordPos += 1;
6342
+ }
6343
+ return patternPos === patternLen; // pattern must be exhausted
6344
+ };
6345
+
6346
+ // based on https://github.com/microsoft/vscode/blob/3059063b805ed0ac10a6d9539e213386bfcfb852/src/vs/base/common/filters.ts by Microsoft (License MIT)
6347
+ const traceHighlights = (table, arrows, patternLength, wordLength) => {
6348
+ let row = patternLength;
6349
+ let column = wordLength;
6350
+ const matches = [];
6351
+ while (row >= 1 && column >= 1) {
6352
+ const arrow = arrows[row][column];
6353
+ if (arrow === Left) {
6354
+ column--;
6355
+ } else if (arrow === Diagonal) {
6356
+ row--;
6357
+ column--;
6358
+ const start = column + 1;
6359
+ while (row >= 1 && column >= 1) {
6360
+ const arrow = arrows[row][column];
6361
+ if (arrow === Left) {
6362
+ break;
6363
+ }
6364
+ if (arrow === Diagonal) {
6365
+ row--;
6366
+ column--;
6367
+ }
6368
+ }
6369
+ const end = column;
6370
+ matches.unshift(end, start);
6371
+ }
6372
+ }
6373
+ matches.unshift(table[patternLength][wordLength - 1]);
6374
+ return matches;
6375
+ };
6376
+
6377
+ // based on https://github.com/microsoft/vscode/blob/3059063b805ed0ac10a6d9539e213386bfcfb852/src/vs/base/common/filters.ts by Microsoft (License MIT)
6378
+ const gridSize = 128;
6379
+ const table = createTable(gridSize);
6380
+ const arrows = createTable(gridSize);
6381
+ // @ts-ignore
6382
+ createTable(gridSize);
6383
+ const filterCompletionItem = (pattern, word) => {
6384
+ const patternLength = Math.min(pattern.length, gridSize - 1);
6385
+ const wordLength = Math.min(word.length, gridSize - 1);
6386
+ const patternLower = pattern.toLowerCase();
6387
+ const wordLower = word.toLowerCase();
6388
+ if (!isPatternInWord(patternLower, 0, patternLength, wordLower, 0, wordLength)) {
6389
+ return EmptyMatches;
6390
+ }
6391
+ let strongMatch = false;
6392
+ for (let row = 1; row < patternLength + 1; row++) {
6393
+ const rowChar = pattern[row - 1];
6394
+ const rowCharLow = patternLower[row - 1];
6395
+ for (let column = 1; column < wordLength + 1; column++) {
6396
+ const columnChar = word[column - 1];
6397
+ const columnCharLow = wordLower[column - 1];
6398
+ const columnCharBefore = word[column - 2] || '';
6399
+ const isDiagonalMatch = arrows[row - 1][column - 1] === Diagonal;
6400
+ const score = getScore(rowCharLow, rowChar, columnCharBefore, columnCharLow, columnChar, column, wordLength, isDiagonalMatch);
6401
+ if (row === 1 && score > 5) {
6402
+ strongMatch = true;
6403
+ }
6404
+ let diagonalScore = score + table[row - 1][column - 1];
6405
+ if (isDiagonalMatch && score !== -1) {
6406
+ diagonalScore += 2;
6407
+ }
6408
+ const leftScore = table[row][column - 1];
6409
+ if (leftScore > diagonalScore) {
6410
+ table[row][column] = leftScore;
6411
+ arrows[row][column] = Left;
6412
+ } else {
6413
+ table[row][column] = diagonalScore;
6414
+ arrows[row][column] = Diagonal;
6415
+ }
6416
+ }
6417
+ }
6418
+ if (!strongMatch) {
6419
+ return EmptyMatches;
6420
+ }
6421
+ // printTables(pattern, 0, word, 0)
6422
+ const highlights = traceHighlights(table, arrows, patternLength, wordLength);
6423
+ return highlights;
6424
+ };
6425
+
6426
+ const Deprecated = 1 << 0;
6427
+
6428
+ const addEmptyMatch = item => {
6429
+ return {
6430
+ ...item,
6431
+ matches: EmptyMatches
6432
+ };
6433
+ };
6434
+ const filterCompletionItems = (completionItems, word) => {
6435
+ if (word === EmptyString) {
6436
+ return completionItems.map(addEmptyMatch);
6437
+ }
6438
+ const filteredCompletions = [];
6439
+ const deprecated = [];
6440
+ for (const completionItem of completionItems) {
6441
+ const {
6442
+ label,
6443
+ flags
6444
+ } = completionItem;
6445
+ const result = filterCompletionItem(word, label);
6446
+ if (result !== EmptyMatches) {
6447
+ if (flags & Deprecated) {
6448
+ // TODO avoid mutation
6449
+ completionItem.matches = EmptyMatches;
6450
+ deprecated.push(completionItem);
6451
+ } else {
6452
+ // TODO avoid mutation
6453
+ completionItem.matches = result;
6454
+ filteredCompletions.push(completionItem);
6455
+ }
6456
+ }
6457
+ }
6458
+ if (deprecated.length > 0) {
6459
+ filteredCompletions.push(...deprecated);
6460
+ }
6461
+ return filteredCompletions;
6462
+ };
6463
+
6464
+ const getFinalDeltaY = (height, itemHeight, itemsLength) => {
6465
+ const contentHeight = itemsLength * itemHeight;
6466
+ const finalDeltaY = Math.max(contentHeight - height, 0);
6467
+ return finalDeltaY;
6468
+ };
6469
+
6470
+ const getListHeight = (itemsLength, itemHeight, maxHeight) => {
6471
+ number$1(itemsLength);
6472
+ number$1(itemHeight);
6473
+ number$1(maxHeight);
6474
+ if (itemsLength === 0) {
6475
+ return itemHeight;
6476
+ }
6477
+ const totalHeight = itemsLength * itemHeight;
6478
+ return Math.min(totalHeight, maxHeight);
6479
+ };
6480
+
6481
+ const RE_WORD = /[\w\-]+$/;
6482
+ const getWordAtOffset = editor => {
6483
+ const {
6484
+ lines,
6485
+ selections
6486
+ } = editor;
6487
+ const rowIndex = selections[0];
6488
+ const columnIndex = selections[1];
6489
+ const line = lines[rowIndex];
6490
+ const part = line.slice(0, columnIndex);
6491
+ const wordMatch = part.match(RE_WORD);
6492
+ if (wordMatch) {
6493
+ return wordMatch[0];
6494
+ }
6495
+ return '';
6496
+ };
6497
+ const handleEditorType = (editorUid, state, text) => {
6498
+ const editor = getEditor(editorUid);
6499
+ const {
6500
+ unfilteredItems,
6501
+ itemHeight,
6502
+ maxHeight
6503
+ } = state;
6504
+ const rowIndex = editor.selections[0];
6505
+ const columnIndex = editor.selections[1];
6506
+ const x$1 = x(editor, rowIndex, columnIndex);
6507
+ // @ts-ignore
6508
+ const y$1 = y(editor, rowIndex);
6509
+ const wordAtOffset = getWordAtOffset(editor);
6510
+ const items = filterCompletionItems(unfilteredItems, wordAtOffset);
6511
+ const newMinLineY = 0;
6512
+ const newMaxLineY = Math.min(items.length, 8);
6513
+ const height = getListHeight(items.length, itemHeight, maxHeight);
6514
+ const finalDeltaY = items.length * itemHeight - height;
6515
+ return {
6516
+ ...state,
6517
+ items,
6518
+ x: x$1,
6519
+ y: y$1,
6520
+ minLineY: newMinLineY,
6521
+ maxLineY: newMaxLineY,
6522
+ leadingWord: wordAtOffset,
6523
+ height,
6524
+ finalDeltaY
6525
+ };
6526
+ };
6527
+ const handleEditorDeleteLeft = (editorUid, state) => {
6528
+ const editor = getEditor(editorUid);
6529
+ const {
6530
+ unfilteredItems,
6531
+ itemHeight,
6532
+ maxHeight
6533
+ } = state;
6534
+ const rowIndex = editor.selections[0];
6535
+ const columnIndex = editor.selections[1];
6536
+ const x$1 = x(editor, rowIndex, columnIndex);
6537
+ // @ts-ignore
6538
+ const y$1 = y(editor, rowIndex);
6539
+ const wordAtOffset = getWordAtOffset(editor);
6540
+ if (!wordAtOffset) {
6541
+ editor.completionState = None;
6542
+ return {
6543
+ ...state,
6544
+ disposed: true
6545
+ };
6546
+ }
6547
+ const items = filterCompletionItems(unfilteredItems, wordAtOffset);
6548
+ const newMaxLineY = Math.min(items.length, 8);
6549
+ const height = getListHeight(items.length, itemHeight, maxHeight);
6550
+ return {
6551
+ ...state,
6552
+ items,
6553
+ x: x$1,
6554
+ y: y$1,
6555
+ maxLineY: newMaxLineY,
6556
+ leadingWord: wordAtOffset,
6557
+ height
6558
+ };
6559
+ };
6560
+ const dispose = state => {
6561
+ return {
6562
+ ...state,
6563
+ disposed: true
6564
+ };
6565
+ };
6566
+ const disposeWithEditor = (state, editor) => {
6567
+ editor.completionState = None;
6568
+ editor.completionUid = 0;
6569
+ // Focus.removeAdditionalFocus(FocusKey.EditorCompletion)
6570
+ return dispose(state);
6571
+ };
6572
+ const handleEditorClick = disposeWithEditor;
6573
+ const handleEditorBlur = disposeWithEditor;
6574
+ const loadContent$1 = async (editorUid, state) => {
6575
+ const editor = getEditor(editorUid);
6576
+ const {
6577
+ itemHeight,
6578
+ maxHeight
6579
+ } = state;
6580
+ const unfilteredItems = await getCompletions(editor);
6581
+ const wordAtOffset = getWordAtOffset(editor);
6582
+ const items = filterCompletionItems(unfilteredItems, wordAtOffset);
6583
+ const rowIndex = editor.selections[0];
6584
+ const columnIndex = editor.selections[1];
6585
+ const x$1 = x(editor, rowIndex, columnIndex);
6586
+ // @ts-ignore
6587
+ const y$1 = y(editor, rowIndex);
6588
+ const newMaxLineY = Math.min(items.length, 8);
6589
+ editor.widgets = editor.widgets || [];
6590
+ // editor.widgets.push(ViewletModuleId.EditorCompletion)
6591
+ const itemsLength = items.length;
6592
+ const newFocusedIndex = itemsLength === 0 ? -1 : 0;
6593
+ const total = items.length;
6594
+ const height = getListHeight(items.length, itemHeight, maxHeight);
6595
+ const finalDeltaY = getFinalDeltaY(height, itemHeight, total);
6596
+ return {
6597
+ ...state,
6598
+ unfilteredItems,
6599
+ items,
6600
+ x: x$1,
6601
+ y: y$1,
6602
+ maxLineY: newMaxLineY,
6603
+ focusedIndex: newFocusedIndex,
6604
+ finalDeltaY,
6605
+ leadingWord: wordAtOffset,
6606
+ height,
6607
+ rowIndex,
6608
+ columnIndex,
6609
+ editorUid
6610
+ };
6611
+ };
6612
+ const advance = (state, word) => {
6613
+ const filteredItems = filterCompletionItems(state.items, word);
6614
+ return {
6615
+ ...state,
6616
+ filteredItems
6617
+ };
6618
+ };
6619
+
6620
+ const getEdits = async (state, editor, completionItem) => {
6621
+ // @ts-ignore
6622
+ const {
6623
+ leadingWord,
6624
+ uid
6625
+ } = state;
6626
+ const word = completionItem.label;
6627
+ const resolvedItem = await resolveCompletion(editor, word, completionItem);
6628
+ const inserted = resolvedItem ? resolvedItem.snippet : word;
6629
+ // TODO type and dispose commands should be sent to renderer process at the same time
6630
+ const {
6631
+ selections
6632
+ } = editor;
6633
+ const [startRowIndex, startColumnIndex] = selections;
6634
+ const leadingWordLength = leadingWord.length;
6635
+ const replaceRange$1 = new Uint32Array([startRowIndex, startColumnIndex - leadingWordLength, startRowIndex, startColumnIndex]);
6636
+ const changes = replaceRange(editor, replaceRange$1, [inserted], '');
6637
+ return changes;
6638
+ };
6639
+ const select = async (state, editor, completionItem) => {
6640
+ const changes = await getEdits(state, editor, completionItem);
6641
+ const index = editor.widgets.indexOf
6642
+ // ViewletModuleId.EditorCompletion
6643
+ ();
6644
+ if (index !== -1) {
6645
+ editor.widgets.splice(index, 1);
6646
+ editor.completionState = None;
6647
+ editor.completionUid = 0;
6648
+ }
6649
+ await execute$1('Editor.applyEdit', changes);
6650
+ // await Viewlet.dispose(uid)
6651
+ return state;
6652
+ };
6653
+ const selectIndex = (editorUid, state, index) => {
6654
+ const editor = getEditor(editorUid);
6655
+ const {
6656
+ items
6657
+ } = state;
6658
+ if (index === -1) {
6659
+ return state;
6660
+ }
6661
+ if (index > items.length) {
6662
+ throw new Error('index too large');
6663
+ }
6664
+ const actualIndex = index;
6665
+ const completionItem = items[actualIndex];
6666
+ return select(state, editor, completionItem);
6667
+ };
6668
+
6669
+ const selectCurrent = (editorUid, state) => {
6670
+ const {
6671
+ focusedIndex
6672
+ } = state;
6673
+ return selectIndex(editorUid, state, focusedIndex);
6674
+ };
6675
+
6183
6676
  // copied from https://github.com/microsoft/vscode/tree/main/src/vs/base/common/strings.ts by Microsoft (License MIT)
6184
6677
 
6185
6678
  const RE_ESCAPE = /[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g;
@@ -6381,27 +6874,6 @@ const ensure = async (fontName, fontUrl) => {
6381
6874
  setLoaded(fontName);
6382
6875
  };
6383
6876
 
6384
- const OnHover = 'onHover';
6385
-
6386
- // TODO add tests for this
6387
- const activateByEvent = async event => {
6388
- await invoke$3('ExtensionHostManagement.activateByEvent', event);
6389
- };
6390
-
6391
- const execute = async ({
6392
- editor,
6393
- args,
6394
- event,
6395
- method,
6396
- noProviderFoundMessage,
6397
- noProviderFoundResult = undefined
6398
- }) => {
6399
- const fullEvent = `${event}:${editor.languageId}`;
6400
- await activateByEvent(fullEvent);
6401
- const result = await invoke$2(method, editor.uid, ...args);
6402
- return result;
6403
- };
6404
-
6405
6877
  const executeHoverProvider = (editor, offset) => {
6406
6878
  object(editor);
6407
6879
  number$1(offset);
@@ -7464,7 +7936,7 @@ const renderEditor = async id => {
7464
7936
  return commands;
7465
7937
  };
7466
7938
 
7467
- const keep = ['ColorPicker.handleSliderPointerDown', 'ColorPicker.handleSliderPointerMove', 'ColorPicker.loadContent', 'Editor.create', 'Editor.getWordAt', 'Editor.getWordBefore', 'Editor.offsetAt', 'Editor.render', 'FindWidget.focusFirst', 'FindWidget.focusIndex', 'FindWidget.focusLast', 'FindWidget.focusNext', 'FindWidget.focusPrevious', 'FindWidget.handleInput', 'FindWidget.loadContent', 'Font.ensure', 'Hover.getHoverInfo', 'Initialize.initialize'];
7939
+ const keep = ['ColorPicker.handleSliderPointerDown', 'ColorPicker.handleSliderPointerMove', 'ColorPicker.loadContent', 'Editor.create', 'Editor.getWordAt', 'Editor.getWordBefore', 'Editor.offsetAt', 'Editor.render', 'FindWidget.focusFirst', 'FindWidget.focusIndex', 'FindWidget.focusLast', 'FindWidget.focusNext', 'FindWidget.focusPrevious', 'FindWidget.handleInput', 'FindWidget.loadContent', 'Font.ensure', 'Hover.getHoverInfo', 'Initialize.initialize', 'EditorCompletion.advance', 'EditorCompletion.handleEditorBlur', 'EditorCompletion.handleEditorClick', 'EditorCompletion.handleEditorDeleteLeft', 'EditorCompletion.handleEditorType', 'EditorCompletion.loadContent', 'EditorCompletion.selectCurrent', 'EditorCompletion.selectIndex'];
7468
7940
 
7469
7941
  // TODO wrap commands globally, not per editor
7470
7942
  // TODO only store editor state in editor worker, not in renderer worker also
@@ -7489,7 +7961,7 @@ const wrapCommands = commands => {
7489
7961
  const commandMap = {
7490
7962
  'ColorPicker.handleSliderPointerDown': handleSliderPointerDown,
7491
7963
  'ColorPicker.handleSliderPointerMove': handleSliderPointerMove,
7492
- 'ColorPicker.loadContent': loadContent$1,
7964
+ 'ColorPicker.loadContent': loadContent$2,
7493
7965
  'Editor.addCursorAbove': addCursorAbove,
7494
7966
  'Editor.addCursorBelow': addCursorBelow,
7495
7967
  'Editor.applyEdit': applyEdit,
@@ -7608,6 +8080,14 @@ const commandMap = {
7608
8080
  'Editor.typeWithAutoClosing': typeWithAutoClosing,
7609
8081
  'Editor.undo': undo,
7610
8082
  'Editor.unIndent': editorUnindent,
8083
+ 'EditorCompletion.advance': advance,
8084
+ 'EditorCompletion.handleEditorBlur': handleEditorBlur,
8085
+ 'EditorCompletion.handleEditorClick': handleEditorClick,
8086
+ 'EditorCompletion.handleEditorDeleteLeft': handleEditorDeleteLeft,
8087
+ 'EditorCompletion.handleEditorType': handleEditorType,
8088
+ 'EditorCompletion.loadContent': loadContent$1,
8089
+ 'EditorCompletion.selectCurrent': selectCurrent,
8090
+ 'EditorCompletion.selectIndex': selectIndex,
7611
8091
  'FindWidget.focusFirst': focusFirst,
7612
8092
  'FindWidget.focusIndex': focusIndex,
7613
8093
  'FindWidget.focusLast': focusLast,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/editor-worker",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "",
5
5
  "main": "dist/testWorkerMain.js",
6
6
  "type": "module",