@lvce-editor/editor-worker 15.0.0 → 15.2.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.
@@ -474,7 +474,7 @@ const getFirstEvent = (eventEmitter, eventMap) => {
474
474
  return promise;
475
475
  };
476
476
  const Message$1 = 3;
477
- const create$5$2 = async ({
477
+ const create$5$1 = async ({
478
478
  isMessagePortOpen,
479
479
  messagePort
480
480
  }) => {
@@ -525,61 +525,19 @@ const wrap$5 = messagePort => {
525
525
  };
526
526
  const IpcParentWithMessagePort$1 = {
527
527
  __proto__: null,
528
- create: create$5$2,
528
+ create: create$5$1,
529
529
  signal: signal$1,
530
530
  wrap: wrap$5
531
531
  };
532
532
 
533
- const Two = '2.0';
534
- const create$4$2 = (method, params) => {
535
- return {
536
- jsonrpc: Two,
537
- method,
538
- params
539
- };
540
- };
533
+ const Two$1 = '2.0';
541
534
  const callbacks = Object.create(null);
542
- const set$d = (id, fn) => {
543
- callbacks[id] = fn;
544
- };
545
535
  const get$8 = id => {
546
536
  return callbacks[id];
547
537
  };
548
538
  const remove$9 = id => {
549
539
  delete callbacks[id];
550
540
  };
551
- let id = 0;
552
- const create$3$2 = () => {
553
- return ++id;
554
- };
555
- const registerPromise = () => {
556
- const id = create$3$2();
557
- const {
558
- resolve,
559
- promise
560
- } = Promise.withResolvers();
561
- set$d(id, resolve);
562
- return {
563
- id,
564
- promise
565
- };
566
- };
567
- const create$2$1 = (method, params) => {
568
- const {
569
- id,
570
- promise
571
- } = registerPromise();
572
- const message = {
573
- jsonrpc: Two,
574
- method,
575
- params,
576
- id
577
- };
578
- return {
579
- message,
580
- promise
581
- };
582
- };
583
541
  class JsonRpcError extends Error {
584
542
  constructor(message) {
585
543
  super(message);
@@ -773,9 +731,9 @@ const getErrorProperty = (error, prettyError) => {
773
731
  }
774
732
  };
775
733
  };
776
- const create$1$1 = (id, error) => {
734
+ const create$1$2 = (id, error) => {
777
735
  return {
778
- jsonrpc: Two,
736
+ jsonrpc: Two$1,
779
737
  id,
780
738
  error
781
739
  };
@@ -784,22 +742,22 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
784
742
  const prettyError = preparePrettyError(error);
785
743
  logError(error, prettyError);
786
744
  const errorProperty = getErrorProperty(error, prettyError);
787
- return create$1$1(id, errorProperty);
745
+ return create$1$2(id, errorProperty);
788
746
  };
789
- const create$b = (message, result) => {
747
+ const create$a = (message, result) => {
790
748
  return {
791
- jsonrpc: Two,
749
+ jsonrpc: Two$1,
792
750
  id: message.id,
793
751
  result: result ?? null
794
752
  };
795
753
  };
796
754
  const getSuccessResponse = (message, result) => {
797
755
  const resultProperty = result ?? null;
798
- return create$b(message, resultProperty);
756
+ return create$a(message, resultProperty);
799
757
  };
800
758
  const getErrorResponseSimple = (id, error) => {
801
759
  return {
802
- jsonrpc: Two,
760
+ jsonrpc: Two$1,
803
761
  id,
804
762
  error: {
805
763
  code: Custom,
@@ -886,29 +844,6 @@ const handleJsonRpcMessage = async (...args) => {
886
844
  }
887
845
  throw new JsonRpcError('unexpected message');
888
846
  };
889
- const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
890
- const {
891
- message,
892
- promise
893
- } = create$2$1(method, params);
894
- if (useSendAndTransfer && ipc.sendAndTransfer) {
895
- ipc.sendAndTransfer(message);
896
- } else {
897
- ipc.send(message);
898
- }
899
- const responseMessage = await promise;
900
- return unwrapJsonRpcResult(responseMessage);
901
- };
902
- const send$1 = (transport, method, ...params) => {
903
- const message = create$4$2(method, params);
904
- transport.send(message);
905
- };
906
- const invoke$e = (ipc, method, ...params) => {
907
- return invokeHelper(ipc, method, params, false);
908
- };
909
- const invokeAndTransfer$3 = (ipc, method, ...params) => {
910
- return invokeHelper(ipc, method, params, true);
911
- };
912
847
 
913
848
  class CommandNotFoundError extends Error {
914
849
  constructor(command) {
@@ -931,24 +866,87 @@ const execute$1 = (command, ...args) => {
931
866
  return fn(...args);
932
867
  };
933
868
 
869
+ const Two = '2.0';
870
+ const create$s = (method, params) => {
871
+ return {
872
+ jsonrpc: Two,
873
+ method,
874
+ params
875
+ };
876
+ };
877
+ const create$r = (id, method, params) => {
878
+ const message = {
879
+ id,
880
+ jsonrpc: Two,
881
+ method,
882
+ params
883
+ };
884
+ return message;
885
+ };
886
+ let id = 0;
887
+ const create$q = () => {
888
+ return ++id;
889
+ };
890
+
891
+ /* eslint-disable n/no-unsupported-features/es-syntax */
892
+
893
+ const registerPromise = map => {
894
+ const id = create$q();
895
+ const {
896
+ promise,
897
+ resolve
898
+ } = Promise.withResolvers();
899
+ map[id] = resolve;
900
+ return {
901
+ id,
902
+ promise
903
+ };
904
+ };
905
+
906
+ // @ts-ignore
907
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
908
+ const {
909
+ id,
910
+ promise
911
+ } = registerPromise(callbacks);
912
+ const message = create$r(id, method, params);
913
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
914
+ ipc.sendAndTransfer(message);
915
+ } else {
916
+ ipc.send(message);
917
+ }
918
+ const responseMessage = await promise;
919
+ return unwrapJsonRpcResult(responseMessage);
920
+ };
934
921
  const createRpc = ipc => {
922
+ const callbacks = Object.create(null);
923
+ ipc._resolve = (id, response) => {
924
+ const fn = callbacks[id];
925
+ if (!fn) {
926
+ console.warn(`callback ${id} may already be disposed`);
927
+ return;
928
+ }
929
+ fn(response);
930
+ delete callbacks[id];
931
+ };
935
932
  const rpc = {
933
+ async dispose() {
934
+ await ipc?.dispose();
935
+ },
936
+ invoke(method, ...params) {
937
+ return invokeHelper(callbacks, ipc, method, params, false);
938
+ },
939
+ invokeAndTransfer(method, ...params) {
940
+ return invokeHelper(callbacks, ipc, method, params, true);
941
+ },
936
942
  // @ts-ignore
937
943
  ipc,
938
944
  /**
939
945
  * @deprecated
940
946
  */
941
947
  send(method, ...params) {
942
- send$1(ipc, method, ...params);
943
- },
944
- invoke(method, ...params) {
945
- return invoke$e(ipc, method, ...params);
946
- },
947
- invokeAndTransfer(method, ...params) {
948
- return invokeAndTransfer$3(ipc, method, ...params);
949
- },
950
- async dispose() {
951
- await ipc?.dispose();
948
+ const message = create$s(method, params);
949
+ ipc.send(message);
952
950
  }
953
951
  };
954
952
  return rpc;
@@ -965,7 +963,7 @@ const logError$1 = () => {
965
963
  const handleMessage = event => {
966
964
  const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
967
965
  const actualExecute = event?.target?.execute || execute$1;
968
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError$1, actualRequiresSocket);
966
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError$1, actualRequiresSocket);
969
967
  };
970
968
  const handleIpc = ipc => {
971
969
  if ('addEventListener' in ipc) {
@@ -983,35 +981,63 @@ const listen$1 = async (module, options) => {
983
981
  const ipc = module.wrap(rawIpc);
984
982
  return ipc;
985
983
  };
986
- const create$e = async ({
984
+
985
+ /* eslint-disable @typescript-eslint/no-misused-promises */
986
+
987
+ const createSharedLazyRpc = factory => {
988
+ let rpcPromise;
989
+ const getOrCreate = () => {
990
+ if (!rpcPromise) {
991
+ rpcPromise = factory();
992
+ }
993
+ return rpcPromise;
994
+ };
995
+ return {
996
+ async dispose() {
997
+ const rpc = await getOrCreate();
998
+ await rpc.dispose();
999
+ },
1000
+ async invoke(method, ...params) {
1001
+ const rpc = await getOrCreate();
1002
+ return rpc.invoke(method, ...params);
1003
+ },
1004
+ async invokeAndTransfer(method, ...params) {
1005
+ const rpc = await getOrCreate();
1006
+ return rpc.invokeAndTransfer(method, ...params);
1007
+ },
1008
+ async send(method, ...params) {
1009
+ const rpc = await getOrCreate();
1010
+ rpc.send(method, ...params);
1011
+ }
1012
+ };
1013
+ };
1014
+ const create$i = async ({
987
1015
  commandMap,
988
- messagePort,
989
- isMessagePortOpen
1016
+ isMessagePortOpen,
1017
+ send
990
1018
  }) => {
991
- // TODO create a commandMap per rpc instance
992
- register(commandMap);
993
- const rawIpc = await IpcParentWithMessagePort$1.create({
994
- messagePort,
995
- isMessagePortOpen
1019
+ return createSharedLazyRpc(() => {
1020
+ return create$2$1({
1021
+ commandMap,
1022
+ isMessagePortOpen,
1023
+ send
1024
+ });
996
1025
  });
997
- const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
998
- handleIpc(ipc);
999
- const rpc = createRpc(ipc);
1000
- return rpc;
1001
1026
  };
1002
- const MessagePortRpcParent = {
1027
+ const LazyTransferMessagePortRpcParent = {
1003
1028
  __proto__: null,
1004
- create: create$e
1029
+ create: create$i
1005
1030
  };
1006
- const create$5$1 = async ({
1031
+ const create$4$1 = async ({
1007
1032
  commandMap,
1033
+ isMessagePortOpen = true,
1008
1034
  messagePort
1009
1035
  }) => {
1010
1036
  // TODO create a commandMap per rpc instance
1011
1037
  register(commandMap);
1012
1038
  const rawIpc = await IpcParentWithMessagePort$1.create({
1013
- messagePort,
1014
- isMessagePortOpen: true
1039
+ isMessagePortOpen,
1040
+ messagePort
1015
1041
  });
1016
1042
  const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
1017
1043
  handleIpc(ipc);
@@ -1019,21 +1045,22 @@ const create$5$1 = async ({
1019
1045
  messagePort.start();
1020
1046
  return rpc;
1021
1047
  };
1022
- const create$4$1 = async ({
1048
+ const create$3$1 = async ({
1023
1049
  commandMap,
1024
1050
  messagePort
1025
1051
  }) => {
1026
- return create$5$1({
1052
+ return create$4$1({
1027
1053
  commandMap,
1028
1054
  messagePort
1029
1055
  });
1030
1056
  };
1031
1057
  const PlainMessagePortRpcParent = {
1032
1058
  __proto__: null,
1033
- create: create$4$1
1059
+ create: create$3$1
1034
1060
  };
1035
- const create$3$1 = async ({
1061
+ const create$2$1 = async ({
1036
1062
  commandMap,
1063
+ isMessagePortOpen,
1037
1064
  send
1038
1065
  }) => {
1039
1066
  const {
@@ -1041,16 +1068,17 @@ const create$3$1 = async ({
1041
1068
  port2
1042
1069
  } = new MessageChannel();
1043
1070
  await send(port1);
1044
- return create$5$1({
1071
+ return create$4$1({
1045
1072
  commandMap,
1073
+ isMessagePortOpen,
1046
1074
  messagePort: port2
1047
1075
  });
1048
1076
  };
1049
1077
  const TransferMessagePortRpcParent = {
1050
1078
  __proto__: null,
1051
- create: create$3$1
1079
+ create: create$2$1
1052
1080
  };
1053
- const create$a = async ({
1081
+ const create$1$1 = async ({
1054
1082
  commandMap
1055
1083
  }) => {
1056
1084
  // TODO create a commandMap per rpc instance
@@ -1062,7 +1090,7 @@ const create$a = async ({
1062
1090
  };
1063
1091
  const WebWorkerRpcClient = {
1064
1092
  __proto__: null,
1065
- create: create$a
1093
+ create: create$1$1
1066
1094
  };
1067
1095
  const createMockRpc = ({
1068
1096
  commandMap
@@ -1077,9 +1105,9 @@ const createMockRpc = ({
1077
1105
  return command(...params);
1078
1106
  };
1079
1107
  const mockRpc = {
1108
+ invocations,
1080
1109
  invoke,
1081
- invokeAndTransfer: invoke,
1082
- invocations
1110
+ invokeAndTransfer: invoke
1083
1111
  };
1084
1112
  return mockRpc;
1085
1113
  };
@@ -1141,14 +1169,15 @@ const DebugWorker = 55;
1141
1169
  const EditorWorker = 99;
1142
1170
  const ExtensionHostWorker = 44;
1143
1171
  const ExtensionManagementWorker = 9006;
1172
+ const IconThemeWorker = 7009;
1144
1173
  const MarkdownWorker = 300;
1145
- const RendererWorker = 1;
1174
+ const RendererWorker$1 = 1;
1146
1175
  const TextMeasurementWorker = 7011;
1147
1176
 
1148
1177
  const FocusEditorText$1 = 12;
1149
1178
 
1150
1179
  const rpcs = Object.create(null);
1151
- const set$c = (id, rpc) => {
1180
+ const set$d = (id, rpc) => {
1152
1181
  rpcs[id] = rpc;
1153
1182
  };
1154
1183
  const get$7 = id => {
@@ -1158,6 +1187,7 @@ const remove$8 = id => {
1158
1187
  delete rpcs[id];
1159
1188
  };
1160
1189
 
1190
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
1161
1191
  const create$9 = rpcId => {
1162
1192
  return {
1163
1193
  async dispose() {
@@ -1176,8 +1206,20 @@ const create$9 = rpcId => {
1176
1206
  // @ts-ignore
1177
1207
  return rpc.invokeAndTransfer(method, ...params);
1178
1208
  },
1209
+ registerMockRpc(commandMap) {
1210
+ const mockRpc = createMockRpc({
1211
+ commandMap
1212
+ });
1213
+ set$d(rpcId, mockRpc);
1214
+ // @ts-ignore
1215
+ mockRpc[Symbol.dispose] = () => {
1216
+ remove$8(rpcId);
1217
+ };
1218
+ // @ts-ignore
1219
+ return mockRpc;
1220
+ },
1179
1221
  set(rpc) {
1180
- set$c(rpcId, rpc);
1222
+ set$d(rpcId, rpc);
1181
1223
  }
1182
1224
  };
1183
1225
  };
@@ -1186,7 +1228,8 @@ const {
1186
1228
  dispose: dispose$2,
1187
1229
  invoke: invoke$d,
1188
1230
  invokeAndTransfer: invokeAndTransfer$2,
1189
- set: set$b
1231
+ registerMockRpc,
1232
+ set: set$c
1190
1233
  } = create$9(ExtensionHostWorker);
1191
1234
  const executeReferenceProvider = async (id, offset) => {
1192
1235
  // @ts-ignore
@@ -1200,12 +1243,9 @@ const getRuntimeStatus = async extensionId => {
1200
1243
  // @ts-ignore
1201
1244
  return invoke$d('ExtensionHost.getRuntimeStatus', extensionId);
1202
1245
  };
1203
- const registerMockRpc = commandMap => {
1204
- const mockRpc = createMockRpc({
1205
- commandMap
1206
- });
1207
- set$b(mockRpc);
1208
- return mockRpc;
1246
+ const getEnabledOutputProviderIds = async () => {
1247
+ const channels = await invoke$d('Output.getEnabledProviders');
1248
+ return channels;
1209
1249
  };
1210
1250
 
1211
1251
  const ExtensionHost = {
@@ -1213,23 +1253,24 @@ const ExtensionHost = {
1213
1253
  dispose: dispose$2,
1214
1254
  executeFileReferenceProvider,
1215
1255
  executeReferenceProvider,
1256
+ getEnabledOutputProviderIds,
1216
1257
  getRuntimeStatus,
1217
1258
  invoke: invoke$d,
1218
1259
  invokeAndTransfer: invokeAndTransfer$2,
1219
1260
  registerMockRpc,
1220
- set: set$b
1261
+ set: set$c
1221
1262
  };
1222
1263
 
1223
1264
  const {
1224
1265
  invoke: invoke$c,
1225
- set: set$a
1266
+ set: set$b
1226
1267
  } = create$9(ExtensionManagementWorker);
1227
1268
 
1228
1269
  const {
1229
1270
  invoke: invoke$b,
1230
1271
  invokeAndTransfer: invokeAndTransfer$1,
1231
- set: set$9
1232
- } = create$9(RendererWorker);
1272
+ set: set$a
1273
+ } = create$9(RendererWorker$1);
1233
1274
  const showContextMenu2 = async (uid, menuId, x, y, args) => {
1234
1275
  number(uid);
1235
1276
  number(menuId);
@@ -1248,6 +1289,10 @@ const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
1248
1289
  await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
1249
1290
  };
1250
1291
 
1292
+ const {
1293
+ set: set$9
1294
+ } = create$9(IconThemeWorker);
1295
+
1251
1296
  const {
1252
1297
  dispose: dispose$1,
1253
1298
  invoke: invoke$a,
@@ -1268,7 +1313,7 @@ const createLazyRpc = rpcId => {
1268
1313
  let factory;
1269
1314
  const createRpc = async () => {
1270
1315
  const rpc = await factory();
1271
- set$c(rpcId, rpc);
1316
+ set$d(rpcId, rpc);
1272
1317
  };
1273
1318
  const ensureRpc = async () => {
1274
1319
  if (!rpcPromise) {
@@ -1294,8 +1339,11 @@ const createLazyRpc = rpcId => {
1294
1339
  };
1295
1340
 
1296
1341
  // TODO add tests for this
1297
- const activateByEvent = async event => {
1298
- await invoke$b('ExtensionHostManagement.activateByEvent', event);
1342
+ const activateByEvent = async (event, assetDir, platform) => {
1343
+ string(event);
1344
+ // Assert.string(assetDir)
1345
+ // Assert.number(platform)
1346
+ await invoke$b('ExtensionHostManagement.activateByEvent', event, assetDir, platform);
1299
1347
  };
1300
1348
 
1301
1349
  const codeGeneratorAccept = state => {
@@ -1303,39 +1351,22 @@ const codeGeneratorAccept = state => {
1303
1351
  return state;
1304
1352
  };
1305
1353
 
1306
- const getPortTuple = () => {
1307
- const {
1308
- port1,
1309
- port2
1310
- } = new MessageChannel();
1311
- return {
1312
- port1,
1313
- port2
1314
- };
1315
- };
1316
-
1317
1354
  const ModuleWorkerAndWorkaroundForChromeDevtoolsBug = 6;
1318
1355
 
1319
1356
  const launchWorker = async (name, url, intializeCommand) => {
1320
- // TODO use transferMessagePortRpc
1321
- const {
1322
- port1,
1323
- port2
1324
- } = getPortTuple();
1325
- // @ts-ignore
1326
- await invokeAndTransfer$1('IpcParent.create', {
1327
- method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
1328
- name: name,
1329
- port: port1,
1330
- raw: true,
1331
- url
1332
- });
1333
- const rpc = await MessagePortRpcParent.create({
1357
+ const rpc = await TransferMessagePortRpcParent.create({
1334
1358
  commandMap: {},
1335
1359
  isMessagePortOpen: true,
1336
- messagePort: port2
1360
+ async send(port) {
1361
+ await invokeAndTransfer$1('IpcParent.create', {
1362
+ method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
1363
+ name,
1364
+ port,
1365
+ raw: true,
1366
+ url
1367
+ });
1368
+ }
1337
1369
  });
1338
- port2.start();
1339
1370
  if (intializeCommand) {
1340
1371
  await rpc.invoke(intializeCommand);
1341
1372
  }
@@ -3128,7 +3159,9 @@ const getLanguageId$1 = (uri, languages) => {
3128
3159
  };
3129
3160
 
3130
3161
  const getLanguages = async (platform, assetDir) => {
3131
- const languages = await invoke$c('Languages.getLanguages', platform, assetDir);
3162
+ number(platform);
3163
+ string(assetDir);
3164
+ const languages = await invoke$c('Extensions.getLanguages', platform, assetDir);
3132
3165
  return languages;
3133
3166
  };
3134
3167
 
@@ -3147,25 +3180,34 @@ const OnTabCompletion = 'onTabCompletion';
3147
3180
 
3148
3181
  const execute = async ({
3149
3182
  args,
3183
+ assetDir,
3150
3184
  editor,
3151
3185
  event,
3152
3186
  method,
3153
3187
  noProviderFoundMessage,
3154
- noProviderFoundResult = undefined
3188
+ noProviderFoundResult = undefined,
3189
+ platform
3155
3190
  }) => {
3156
3191
  const fullEvent = `${event}:${editor.languageId}`;
3157
- await activateByEvent(fullEvent);
3192
+ await activateByEvent(fullEvent, assetDir, platform);
3158
3193
  const result = await invoke$6(method, editor.uid, ...args);
3159
3194
  return result;
3160
3195
  };
3161
3196
 
3162
3197
  const executeDiagnosticProvider = editor => {
3198
+ const {
3199
+ assetDir,
3200
+ platform
3201
+ } = editor;
3163
3202
  return execute({
3164
3203
  args: [],
3204
+ assetDir,
3165
3205
  editor,
3166
3206
  event: OnDiagnostic,
3167
3207
  method: 'ExtensionHost.executeDiagnosticProvider',
3168
- noProviderFoundMessage: 'no diagnostic provider found'});
3208
+ noProviderFoundMessage: 'no diagnostic provider found',
3209
+ platform
3210
+ });
3169
3211
  };
3170
3212
 
3171
3213
  const getDiagnosticType = diagnostic => {
@@ -3289,6 +3331,7 @@ const createEditor = async ({
3289
3331
  const languages = await getLanguages(platform, assetDir);
3290
3332
  const computedlanguageId = getLanguageId$1(uri, languages);
3291
3333
  const editor = {
3334
+ assetDir,
3292
3335
  charWidth,
3293
3336
  columnWidth: 0,
3294
3337
  completionState: '',
@@ -3330,6 +3373,7 @@ const createEditor = async ({
3330
3373
  minLineY: 0,
3331
3374
  numberOfVisiblelines: 0,
3332
3375
  numberOfVisibleLines: 0,
3376
+ platform,
3333
3377
  primarySelectionIndex: 0,
3334
3378
  rowHeight,
3335
3379
  savedSelections,
@@ -5264,7 +5308,7 @@ const handleContextMenu = async (editor, button, x, y) => {
5264
5308
  const {
5265
5309
  uid
5266
5310
  } = editor;
5267
- await showContextMenu2(uid, Editor, /* x */x, /* y */y, {
5311
+ await showContextMenu2(uid, Editor, x, y, {
5268
5312
  menuId: Editor
5269
5313
  });
5270
5314
  return editor;
@@ -6285,7 +6329,7 @@ const launch = async () => {
6285
6329
  return;
6286
6330
  }
6287
6331
  const rpc = await launchFindWidgetWorker();
6288
- set$c(rpcId, rpc);
6332
+ set$d(rpcId, rpc);
6289
6333
  };
6290
6334
  const invoke$3 = async (method, ...params) => {
6291
6335
  const rpc = get$7(rpcId);
@@ -7601,12 +7645,16 @@ const tabCompletion = async editor => {
7601
7645
  };
7602
7646
 
7603
7647
  const getBlockComment = async (editor, offset) => {
7648
+ const {
7649
+ assetDir,
7650
+ platform
7651
+ } = editor;
7604
7652
  // TODO ask extension host worker,
7605
7653
  // execute block comment provider with
7606
7654
  // uri, language id, offset
7607
7655
  // and the extension returns a matching block comment or undefined
7608
7656
  try {
7609
- await activateByEvent(`onLanguage:${editor.languageId}`);
7657
+ await activateByEvent(`onLanguage:${editor.languageId}`, assetDir, platform);
7610
7658
  // @ts-ignore
7611
7659
  const blockComment = await invoke$6(`ExtensionHostCommment.execute`, editor.uid, offset);
7612
7660
  if (blockComment) {
@@ -9776,7 +9824,7 @@ const handleMessagePort = async (port, rpcId) => {
9776
9824
  messagePort: port
9777
9825
  });
9778
9826
  if (rpcId) {
9779
- set$c(rpcId, rpc);
9827
+ set$d(rpcId, rpc);
9780
9828
  }
9781
9829
  };
9782
9830
 
@@ -9925,7 +9973,7 @@ const createExtensionManagementWorkerRpc = async () => {
9925
9973
  const initializeExtensionManagementWorker = async () => {
9926
9974
  try {
9927
9975
  const rpc = await createExtensionManagementWorkerRpc();
9928
- set$a(rpc);
9976
+ set$b(rpc);
9929
9977
  } catch {
9930
9978
  // ignore
9931
9979
  }
@@ -9966,6 +10014,22 @@ const initializeSyntaxHighlighting = async (syntaxHighlightingEnabled, syncIncre
9966
10014
  }
9967
10015
  };
9968
10016
 
10017
+ const send$1 = port => {
10018
+ // @ts-ignore
10019
+ return RendererWorker.sendMessagePortToTextMeasurementWorker(port);
10020
+ };
10021
+ const initializeTextMeasurementWorker = async () => {
10022
+ try {
10023
+ const rpc = await LazyTransferMessagePortRpcParent.create({
10024
+ commandMap: {},
10025
+ send: send$1
10026
+ });
10027
+ set$9(rpc);
10028
+ } catch {
10029
+ // ignore
10030
+ }
10031
+ };
10032
+
9969
10033
  const launchCompletionWorker = async () => {
9970
10034
  const name = 'Completion Worker';
9971
10035
  const url = 'completionWorkerMain.js';
@@ -9976,7 +10040,7 @@ const launchCompletionWorker = async () => {
9976
10040
 
9977
10041
  const intialize = async (syntaxHighlightingEnabled, syncIncremental) => {
9978
10042
  setFactory(launchCompletionWorker);
9979
- await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost(), initializeExtensionManagementWorker()]);
10043
+ await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost(), initializeExtensionManagementWorker(), initializeTextMeasurementWorker()]);
9980
10044
  };
9981
10045
 
9982
10046
  // TODO move cursor
@@ -10445,7 +10509,7 @@ const updateDebugInfo = async debugId => {
10445
10509
  await invoke$b('Editor.rerender', key);
10446
10510
  };
10447
10511
 
10448
- const keep = ['ActivateByEvent.activateByEvent', 'ExtensionHostManagement.activateByEvent', 'Editor.applyEdit2', 'Editor.applyEdits2', 'Editor.closeFind2', 'Editor.closeWidget2', 'Editor.create', 'Editor.getKeyBindings', 'Editor.getSourceActions', 'Editor.getLines2', 'Editor.getPositionAtCursor', 'Editor.getOffsetAtCursor', 'Editor.getQuickPickMenuEntries', 'Editor.getSelections', 'Editor.hotReload', 'Editor.getSelections2', 'Editor.getDiagnostics', 'Editor.getText', 'Editor.getWordAt', 'Editor.getWordAt2', 'Editor.getWordAtOffset2', 'Editor.getUri', 'Editor.getWordBefore', 'Editor.getWordBefore2', 'Editor.offsetAt', 'Editor.render', 'Editor.setSelections2', 'Editor.updateDebugInfo', 'Editor.getLanguageId', 'Editor.getProblems', 'Editor.getKeys', 'Editor.getMenuIds', 'Font.ensure', 'HandleMessagePort.handleMessagePort', 'Hover.getHoverInfo', 'Hover.handleSashPointerDown', 'Hover.handleSashPointerMove', 'Hover.handleSashPointerUp', 'Hover.loadContent', 'Hover.render', 'Initialize.initialize', 'SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker'
10512
+ const keep = ['ActivateByEvent.activateByEvent', 'ExtensionHostManagement.activateByEvent', 'Editor.applyEdit2', 'Editor.applyEdits2', 'Editor.closeFind2', 'Editor.closeWidget2', 'Editor.create', 'Editor.getKeyBindings', 'Editor.getSourceActions', 'Editor.getLines2', 'Editor.getPositionAtCursor', 'Editor.getOffsetAtCursor', 'Editor.getQuickPickMenuEntries', 'Editor.getSelections', 'Editor.hotReload', 'Editor.getSelections2', 'Editor.getDiagnostics', 'Editor.getText', 'Editor.getWordAt', 'Editor.getWordAt2', 'Editor.getWordAtOffset2', 'Editor.getUri', 'Editor.getWordBefore', 'Editor.getWordBefore2', 'Editor.offsetAt', 'Editor.render', 'Editor.setSelections2', 'Editor.updateDebugInfo', 'Editor.getLanguageId', 'Editor.getProblems', 'Editor.getKeys', 'Editor.getMenuIds', 'Editor.getMenuEntries', 'Editor.getMenuEntries2', 'Font.ensure', 'HandleMessagePort.handleMessagePort', 'Hover.getHoverInfo', 'Hover.handleSashPointerDown', 'Hover.handleSashPointerMove', 'Hover.handleSashPointerUp', 'Hover.loadContent', 'Hover.render', 'Initialize.initialize', 'SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker'
10449
10513
  // 'ColorPicker.handleSliderPointerDown',
10450
10514
  // 'ColorPicker.handleSliderPointerMove',
10451
10515
  // 'ColorPicker.loadContent',
@@ -10767,7 +10831,7 @@ const listen = async () => {
10767
10831
  const rpc = await WebWorkerRpcClient.create({
10768
10832
  commandMap: commandMap
10769
10833
  });
10770
- set$9(rpc);
10834
+ set$a(rpc);
10771
10835
  };
10772
10836
 
10773
10837
  const CodeGeneratorInput = 'CodeGeneratorInput';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/editor-worker",
3
- "version": "15.0.0",
3
+ "version": "15.2.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git@github.com:lvce-editor/editor-worker.git"