@lvce-editor/source-control-worker 2.11.0 → 2.13.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/README.md CHANGED
@@ -10,7 +10,3 @@ cd source-control-worker &&
10
10
  npm ci &&
11
11
  npm test
12
12
  ```
13
-
14
- ## Gitpod
15
-
16
- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/lvce-editor/source-control-worker)
@@ -521,7 +521,7 @@ const create$4 = (method, params) => {
521
521
  };
522
522
  };
523
523
  const callbacks = Object.create(null);
524
- const set$4 = (id, fn) => {
524
+ const set$5 = (id, fn) => {
525
525
  callbacks[id] = fn;
526
526
  };
527
527
  const get$3 = id => {
@@ -540,7 +540,7 @@ const registerPromise = () => {
540
540
  resolve,
541
541
  promise
542
542
  } = Promise.withResolvers();
543
- set$4(id, resolve);
543
+ set$5(id, resolve);
544
544
  return {
545
545
  id,
546
546
  promise
@@ -1045,8 +1045,12 @@ const DeltaY = 'event.deltaY';
1045
1045
  const TargetName = 'event.target.name';
1046
1046
  const TargetValue = 'event.target.value';
1047
1047
 
1048
+ const Enter = 3;
1049
+
1048
1050
  const User = 1;
1049
1051
 
1052
+ const CtrlCmd = 1 << 11 >>> 0;
1053
+
1050
1054
  const SourceControl$1 = 22;
1051
1055
 
1052
1056
  const None = 0;
@@ -1054,6 +1058,7 @@ const None = 0;
1054
1058
  const ExtensionHostWorker = 44;
1055
1059
  const RendererWorker = 1;
1056
1060
  const SourceControlWorker = 66;
1061
+ const IconThemeWorker = 7009;
1057
1062
 
1058
1063
  const SetCss = 'Viewlet.setCss';
1059
1064
  const SetDom2 = 'Viewlet.setDom2';
@@ -1062,8 +1067,10 @@ const SetValueByName = 'Viewlet.setValueByName';
1062
1067
  const List = 1;
1063
1068
  const Tree = 2;
1064
1069
 
1070
+ const FocusSourceControlInput = 24;
1071
+
1065
1072
  const rpcs = Object.create(null);
1066
- const set$3 = (id, rpc) => {
1073
+ const set$4 = (id, rpc) => {
1067
1074
  rpcs[id] = rpc;
1068
1075
  };
1069
1076
  const get$2 = id => {
@@ -1085,7 +1092,7 @@ const create$1 = rpcId => {
1085
1092
  return rpc.invokeAndTransfer(method, ...params);
1086
1093
  },
1087
1094
  set(rpc) {
1088
- set$3(rpcId, rpc);
1095
+ set$4(rpcId, rpc);
1089
1096
  },
1090
1097
  async dispose() {
1091
1098
  const rpc = get$2(rpcId);
@@ -1096,12 +1103,12 @@ const create$1 = rpcId => {
1096
1103
 
1097
1104
  const {
1098
1105
  invoke: invoke$1,
1099
- set: set$2} = create$1(ExtensionHostWorker);
1106
+ set: set$3} = create$1(ExtensionHostWorker);
1100
1107
 
1101
1108
  const {
1102
1109
  invoke,
1103
1110
  invokeAndTransfer,
1104
- set: set$1} = create$1(RendererWorker);
1111
+ set: set$2} = create$1(RendererWorker);
1105
1112
  const showContextMenu2 = async (uid, menuId, x, y, args) => {
1106
1113
  number(uid);
1107
1114
  number(menuId);
@@ -1120,6 +1127,11 @@ const sendMessagePortToExtensionHostWorker$1 = async (port, rpcId = 0) => {
1120
1127
  const activateByEvent$1 = event => {
1121
1128
  return invoke('ExtensionHostManagement.activateByEvent', event);
1122
1129
  };
1130
+ const sendMessagePortToTextMeasurementWorker$1 = async port => {
1131
+ const command = 'TextMeasurement.handleMessagePort';
1132
+ // @ts-ignore
1133
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToTextMeasurementWorker', port, command, 0);
1134
+ };
1123
1135
  const getPreference = async key => {
1124
1136
  return await invoke('Preferences.get', key);
1125
1137
  };
@@ -1127,6 +1139,9 @@ const openUri$1 = async (uri, focus, options) => {
1127
1139
  await invoke('Main.openUri', uri, focus, options);
1128
1140
  };
1129
1141
 
1142
+ const {
1143
+ set: set$1} = create$1(IconThemeWorker);
1144
+
1130
1145
  const toCommandId = key => {
1131
1146
  const dotIndex = key.indexOf('.');
1132
1147
  return key.slice(dotIndex + 1);
@@ -1320,6 +1335,26 @@ const getInfo = uid => {
1320
1335
  return newState.allGroups;
1321
1336
  };
1322
1337
 
1338
+ const mergeClassNames = (...classNames) => {
1339
+ return classNames.filter(Boolean).join(' ');
1340
+ };
1341
+
1342
+ const text = data => {
1343
+ return {
1344
+ type: Text,
1345
+ text: data,
1346
+ childCount: 0
1347
+ };
1348
+ };
1349
+
1350
+ const getKeyBindings = () => {
1351
+ return [{
1352
+ key: CtrlCmd | Enter,
1353
+ command: 'Source Control.acceptInput',
1354
+ when: FocusSourceControlInput
1355
+ }];
1356
+ };
1357
+
1323
1358
  const emptyObject = {};
1324
1359
  const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1325
1360
  const i18nString = (key, placeholders = emptyObject) => {
@@ -1684,7 +1719,10 @@ const getGroups = async enabledProviderIds => {
1684
1719
 
1685
1720
  const getTextHeight = async (input, width, fontFamily, fontSize, fontWeight, letterSpacing, lineHeight) => {
1686
1721
  try {
1687
- const actualInput = '\n' + input;
1722
+ if (!input) {
1723
+ return lineHeight;
1724
+ }
1725
+ const actualInput = input;
1688
1726
  // TODO line height could also be like 1.5
1689
1727
  const lineHeightPx = `${lineHeight}px`;
1690
1728
  // @ts-ignore
@@ -1931,20 +1969,22 @@ const refresh = async state => {
1931
1969
  const numberOfVisible = getNumberOfVisibleItems(listHeight, itemHeight);
1932
1970
  const minLineY = 0;
1933
1971
  const maxLineY = Math.min(numberOfVisible, total);
1934
- const visibleItems = getVisibleSourceControlItems(displayItems, minLineY, maxLineY, actionsCache, fileIconCache);
1972
+ const newFileIconCache = await getFileIcons(displayItems, fileIconCache);
1973
+ const visibleItems = getVisibleSourceControlItems(displayItems, minLineY, maxLineY, actionsCache, newFileIconCache);
1935
1974
  const finalDeltaY = getFinalDeltaY(listHeight, itemHeight, total);
1936
1975
  return {
1937
1976
  ...state,
1977
+ actionsCache,
1938
1978
  allGroups,
1979
+ enabledProviderIds,
1980
+ fileIconCache: newFileIconCache,
1981
+ finalDeltaY,
1939
1982
  gitRoot,
1940
1983
  items: displayItems,
1941
- visibleItems,
1942
- enabledProviderIds,
1943
- splitButtonEnabled,
1944
1984
  maxLineY,
1945
1985
  scrollBarHeight,
1946
- finalDeltaY,
1947
- actionsCache
1986
+ splitButtonEnabled,
1987
+ visibleItems
1948
1988
  };
1949
1989
  };
1950
1990
 
@@ -2188,6 +2228,10 @@ const handleWheel = async (state, deltaMode, deltaY) => {
2188
2228
  return setDeltaY(state, state.deltaY + deltaY);
2189
2229
  };
2190
2230
 
2231
+ const handleWorkspaceRefresh = async state => {
2232
+ return refresh(state);
2233
+ };
2234
+
2191
2235
  const sendMessagePortToExtensionHostWorker = async port => {
2192
2236
  await sendMessagePortToExtensionHostWorker$1(port, SourceControlWorker);
2193
2237
  };
@@ -2204,9 +2248,26 @@ const createExtensionHostRpc = async () => {
2204
2248
  }
2205
2249
  };
2206
2250
 
2251
+ const sendMessagePortToTextMeasurementWorker = async port => {
2252
+ await sendMessagePortToTextMeasurementWorker$1(port);
2253
+ };
2254
+
2255
+ const createTextMeasurementWorkerRpc = async () => {
2256
+ try {
2257
+ const rpc = await TransferMessagePortRpcParent.create({
2258
+ commandMap: {},
2259
+ send: sendMessagePortToTextMeasurementWorker
2260
+ });
2261
+ return rpc;
2262
+ } catch (error) {
2263
+ throw new VError(error, `Failed to create text measurement worker rpc`);
2264
+ }
2265
+ };
2266
+
2207
2267
  const initialize = async () => {
2208
- const extensionHostRpc = await createExtensionHostRpc();
2209
- set$2(extensionHostRpc);
2268
+ const [extensionHostRpc, textRpc] = await Promise.all([createExtensionHostRpc(), createTextMeasurementWorkerRpc()]);
2269
+ set$3(extensionHostRpc);
2270
+ set$1(textRpc);
2210
2271
  };
2211
2272
 
2212
2273
  const renderCss = (oldState, newState) => {
@@ -2221,18 +2282,6 @@ const renderCss = (oldState, newState) => {
2221
2282
  return [SetCss, id, css];
2222
2283
  };
2223
2284
 
2224
- const mergeClassNames = (...classNames) => {
2225
- return classNames.filter(Boolean).join(' ');
2226
- };
2227
-
2228
- const text = data => {
2229
- return {
2230
- type: Text,
2231
- text: data,
2232
- childCount: 0
2233
- };
2234
- };
2235
-
2236
2285
  const Actions = 'Actions';
2237
2286
  const SourceControlButtons = 'SourceControlButtons';
2238
2287
  const Grow = 'Grow';
@@ -2717,11 +2766,12 @@ const commandMap = {
2717
2766
  'SourceControl.create2': create2,
2718
2767
  'SourceControl.diff2': diff2,
2719
2768
  'SourceControl.getCommandIds': getCommandIds,
2720
- 'SourceControl.getMenuIds': getMenuIds,
2721
2769
  'SourceControl.getEnabledProviderIds': getEnabledProviderIds,
2722
2770
  'SourceControl.getFileDecorations': getFileDecorations,
2723
2771
  'SourceControl.getInfo': getInfo,
2772
+ 'SourceControl.getKeyBindings': getKeyBindings,
2724
2773
  'SourceControl.getMenuEntries2': wrapGetter(getMenuEntries2),
2774
+ 'SourceControl.getMenuIds': getMenuIds,
2725
2775
  'SourceControl.handleButtonClick': wrapCommand(handleButtonClick),
2726
2776
  'SourceControl.handleClickAt': wrapCommand(handleClickAt),
2727
2777
  'SourceControl.handleClickSourceControlButtons': wrapCommand(handleClickSourceControlButtons),
@@ -2734,6 +2784,7 @@ const commandMap = {
2734
2784
  'SourceControl.handleMouseOver': wrapCommand(handleMouseOver),
2735
2785
  'SourceControl.handleMouseOverAt': wrapCommand(handleMouseOverAt),
2736
2786
  'SourceControl.handleWheel': wrapCommand(handleWheel),
2787
+ 'SourceControl.handleWorkspaceRefresh': wrapCommand(handleWorkspaceRefresh),
2737
2788
  'SourceControl.loadContent': wrapCommand(loadContent),
2738
2789
  'SourceControl.refresh': wrapCommand(refresh),
2739
2790
  'SourceControl.render2': render2,
@@ -2754,7 +2805,7 @@ const listen = async () => {
2754
2805
  const rpc = await WebWorkerRpcClient.create({
2755
2806
  commandMap: commandMap
2756
2807
  });
2757
- set$1(rpc);
2808
+ set$2(rpc);
2758
2809
  };
2759
2810
 
2760
2811
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/source-control-worker",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "Source Control Worker",
5
5
  "keywords": [
6
6
  "Lvce Editor"