@lvce-editor/source-control-worker 3.6.3 → 3.6.5
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/dist/sourceControlWorkerMain.js +261 -179
- package/package.json +1 -1
|
@@ -586,7 +586,10 @@ const constructError = (message, type, name) => {
|
|
|
586
586
|
if (ErrorConstructor === Error) {
|
|
587
587
|
const error = new Error(message);
|
|
588
588
|
if (name && name !== 'VError') {
|
|
589
|
-
error
|
|
589
|
+
Object.defineProperty(error, 'name', {
|
|
590
|
+
configurable: true,
|
|
591
|
+
value: name
|
|
592
|
+
});
|
|
590
593
|
}
|
|
591
594
|
return error;
|
|
592
595
|
}
|
|
@@ -603,8 +606,10 @@ const getCurrentStack = () => {
|
|
|
603
606
|
const currentStack = joinLines(splitLines(new Error().stack || '').slice(stackLinesToSkip));
|
|
604
607
|
return currentStack;
|
|
605
608
|
};
|
|
606
|
-
const getNewLineIndex = (string, startIndex
|
|
607
|
-
|
|
609
|
+
const getNewLineIndex = (string, startIndex) => {
|
|
610
|
+
{
|
|
611
|
+
return string.indexOf(NewLine);
|
|
612
|
+
}
|
|
608
613
|
};
|
|
609
614
|
const getParentStack = error => {
|
|
610
615
|
let parentStack = error.stack || error.data || error.message || '';
|
|
@@ -615,55 +620,91 @@ const getParentStack = error => {
|
|
|
615
620
|
};
|
|
616
621
|
const MethodNotFound = -32601;
|
|
617
622
|
const Custom = -32001;
|
|
623
|
+
const setStack = (error, stack) => {
|
|
624
|
+
const descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
|
|
625
|
+
if (descriptor) {
|
|
626
|
+
if (!descriptor.configurable && !descriptor.writable) {
|
|
627
|
+
return;
|
|
628
|
+
}
|
|
629
|
+
if (!descriptor.configurable && descriptor.writable) {
|
|
630
|
+
error.stack = stack;
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
Object.defineProperty(error, 'stack', {
|
|
635
|
+
configurable: true,
|
|
636
|
+
value: stack,
|
|
637
|
+
writable: true
|
|
638
|
+
});
|
|
639
|
+
};
|
|
640
|
+
const restoreExistingError = (error, currentStack) => {
|
|
641
|
+
if (typeof error.stack === 'string') {
|
|
642
|
+
setStack(error, `${error.stack}${NewLine}${currentStack}`);
|
|
643
|
+
}
|
|
644
|
+
return error;
|
|
645
|
+
};
|
|
646
|
+
const restoreMethodNotFoundError = (error, currentStack) => {
|
|
647
|
+
const restoredError = new JsonRpcError(error.message);
|
|
648
|
+
const parentStack = getParentStack(error);
|
|
649
|
+
setStack(restoredError, `${parentStack}${NewLine}${currentStack}`);
|
|
650
|
+
return restoredError;
|
|
651
|
+
};
|
|
652
|
+
const restoreStackFromData = (restoredError, error, currentStack) => {
|
|
653
|
+
if (error.data.stack && error.data.type && error.message) {
|
|
654
|
+
setStack(restoredError, `${error.data.type}: ${error.message}${NewLine}${error.data.stack}${NewLine}${currentStack}`);
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
if (error.data.stack) {
|
|
658
|
+
setStack(restoredError, error.data.stack);
|
|
659
|
+
}
|
|
660
|
+
};
|
|
661
|
+
const applyDataProperties = (restoredError, error) => {
|
|
662
|
+
restoreStackFromData(restoredError, error, getCurrentStack());
|
|
663
|
+
if (error.data.codeFrame) {
|
|
664
|
+
// @ts-ignore
|
|
665
|
+
restoredError.codeFrame = error.data.codeFrame;
|
|
666
|
+
}
|
|
667
|
+
if (error.data.code) {
|
|
668
|
+
// @ts-ignore
|
|
669
|
+
restoredError.code = error.data.code;
|
|
670
|
+
}
|
|
671
|
+
if (error.data.type) {
|
|
672
|
+
// @ts-ignore
|
|
673
|
+
restoredError.name = error.data.type;
|
|
674
|
+
}
|
|
675
|
+
};
|
|
676
|
+
const applyDirectProperties = (restoredError, error) => {
|
|
677
|
+
if (error.stack) {
|
|
678
|
+
const lowerStack = restoredError.stack || '';
|
|
679
|
+
const indexNewLine = getNewLineIndex(lowerStack);
|
|
680
|
+
const parentStack = getParentStack(error);
|
|
681
|
+
// @ts-ignore
|
|
682
|
+
setStack(restoredError, `${parentStack}${lowerStack.slice(indexNewLine)}`);
|
|
683
|
+
}
|
|
684
|
+
if (error.codeFrame) {
|
|
685
|
+
// @ts-ignore
|
|
686
|
+
restoredError.codeFrame = error.codeFrame;
|
|
687
|
+
}
|
|
688
|
+
};
|
|
689
|
+
const restoreMessageError = (error, _currentStack) => {
|
|
690
|
+
const restoredError = constructError(error.message, error.type, error.name);
|
|
691
|
+
if (error.data) {
|
|
692
|
+
applyDataProperties(restoredError, error);
|
|
693
|
+
} else {
|
|
694
|
+
applyDirectProperties(restoredError, error);
|
|
695
|
+
}
|
|
696
|
+
return restoredError;
|
|
697
|
+
};
|
|
618
698
|
const restoreJsonRpcError = error => {
|
|
619
699
|
const currentStack = getCurrentStack();
|
|
620
700
|
if (error && error instanceof Error) {
|
|
621
|
-
|
|
622
|
-
error.stack = error.stack + NewLine + currentStack;
|
|
623
|
-
}
|
|
624
|
-
return error;
|
|
701
|
+
return restoreExistingError(error, currentStack);
|
|
625
702
|
}
|
|
626
703
|
if (error && error.code && error.code === MethodNotFound) {
|
|
627
|
-
|
|
628
|
-
const parentStack = getParentStack(error);
|
|
629
|
-
restoredError.stack = parentStack + NewLine + currentStack;
|
|
630
|
-
return restoredError;
|
|
704
|
+
return restoreMethodNotFoundError(error, currentStack);
|
|
631
705
|
}
|
|
632
706
|
if (error && error.message) {
|
|
633
|
-
|
|
634
|
-
if (error.data) {
|
|
635
|
-
if (error.data.stack && error.data.type && error.message) {
|
|
636
|
-
restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
|
|
637
|
-
} else if (error.data.stack) {
|
|
638
|
-
restoredError.stack = error.data.stack;
|
|
639
|
-
}
|
|
640
|
-
if (error.data.codeFrame) {
|
|
641
|
-
// @ts-ignore
|
|
642
|
-
restoredError.codeFrame = error.data.codeFrame;
|
|
643
|
-
}
|
|
644
|
-
if (error.data.code) {
|
|
645
|
-
// @ts-ignore
|
|
646
|
-
restoredError.code = error.data.code;
|
|
647
|
-
}
|
|
648
|
-
if (error.data.type) {
|
|
649
|
-
// @ts-ignore
|
|
650
|
-
restoredError.name = error.data.type;
|
|
651
|
-
}
|
|
652
|
-
} else {
|
|
653
|
-
if (error.stack) {
|
|
654
|
-
const lowerStack = restoredError.stack || '';
|
|
655
|
-
// @ts-ignore
|
|
656
|
-
const indexNewLine = getNewLineIndex(lowerStack);
|
|
657
|
-
const parentStack = getParentStack(error);
|
|
658
|
-
// @ts-ignore
|
|
659
|
-
restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
|
|
660
|
-
}
|
|
661
|
-
if (error.codeFrame) {
|
|
662
|
-
// @ts-ignore
|
|
663
|
-
restoredError.codeFrame = error.codeFrame;
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
return restoredError;
|
|
707
|
+
return restoreMessageError(error);
|
|
667
708
|
}
|
|
668
709
|
if (typeof error === 'string') {
|
|
669
710
|
return new Error(`JsonRpc Error: ${error}`);
|
|
@@ -1081,70 +1122,19 @@ const create$1 = rpcId => {
|
|
|
1081
1122
|
};
|
|
1082
1123
|
};
|
|
1083
1124
|
|
|
1084
|
-
const None$1 = 'none';
|
|
1085
|
-
const ToolBar = 'toolbar';
|
|
1086
|
-
const Tree$1 = 'tree';
|
|
1087
|
-
const TreeItem$1 = 'treeitem';
|
|
1088
|
-
|
|
1089
|
-
const Badge = 'Badge';
|
|
1090
|
-
const MaskIcon = 'MaskIcon';
|
|
1091
|
-
const SourceControlBadge = 'SourceControlBadge';
|
|
1092
|
-
|
|
1093
|
-
const Directory = 3;
|
|
1094
|
-
const DirectoryExpanded = 4;
|
|
1095
|
-
const File = 7;
|
|
1096
|
-
|
|
1097
|
-
const Button$2 = 1;
|
|
1098
|
-
const Div = 4;
|
|
1099
|
-
const Span = 8;
|
|
1100
|
-
const Text = 12;
|
|
1101
|
-
const Img = 17;
|
|
1102
|
-
const TextArea = 62;
|
|
1103
|
-
const Reference = 100;
|
|
1104
|
-
|
|
1105
|
-
const Button$1 = 'event.button';
|
|
1106
|
-
const ClientX = 'event.clientX';
|
|
1107
|
-
const ClientY = 'event.clientY';
|
|
1108
|
-
const DeltaMode = 'event.deltaMode';
|
|
1109
|
-
const DeltaY = 'event.deltaY';
|
|
1110
|
-
const TargetName = 'event.target.name';
|
|
1111
|
-
const TargetValue = 'event.target.value';
|
|
1112
|
-
|
|
1113
|
-
const Enter = 3;
|
|
1114
|
-
|
|
1115
|
-
const User = 1;
|
|
1116
|
-
const Script = 2;
|
|
1117
|
-
|
|
1118
|
-
const CtrlCmd = 1 << 11 >>> 0;
|
|
1119
|
-
|
|
1120
|
-
const SourceControl$1 = 22;
|
|
1121
|
-
|
|
1122
|
-
const None = 0;
|
|
1123
|
-
|
|
1124
|
-
const Web = 1;
|
|
1125
|
-
|
|
1126
1125
|
const ExtensionHostWorker = 44;
|
|
1127
1126
|
const ExtensionManagementWorker = 9006;
|
|
1128
1127
|
const IconThemeWorker = 7009;
|
|
1129
1128
|
const RendererWorker = 1;
|
|
1130
1129
|
const SourceControlWorker = 66;
|
|
1131
1130
|
|
|
1132
|
-
const SetCss = 'Viewlet.setCss';
|
|
1133
|
-
const SetDom2 = 'Viewlet.setDom2';
|
|
1134
|
-
const SetFocusContext = 'Viewlet.setFocusContext';
|
|
1135
|
-
const SetValueByName = 'Viewlet.setValueByName';
|
|
1136
|
-
|
|
1137
|
-
const List$1 = 1;
|
|
1138
|
-
const Tree = 2;
|
|
1139
|
-
|
|
1140
|
-
const FocusSourceControlInput = 24;
|
|
1141
|
-
|
|
1142
1131
|
const {
|
|
1143
|
-
invoke: invoke$
|
|
1132
|
+
invoke: invoke$2,
|
|
1144
1133
|
set: set$4
|
|
1145
1134
|
} = create$1(ExtensionHostWorker);
|
|
1146
1135
|
|
|
1147
1136
|
const {
|
|
1137
|
+
invoke: invoke$1,
|
|
1148
1138
|
set: set$3
|
|
1149
1139
|
} = create$1(ExtensionManagementWorker);
|
|
1150
1140
|
|
|
@@ -1309,6 +1299,58 @@ const terminate = () => {
|
|
|
1309
1299
|
globalThis.close();
|
|
1310
1300
|
};
|
|
1311
1301
|
|
|
1302
|
+
const None$1 = 'none';
|
|
1303
|
+
const ToolBar = 'toolbar';
|
|
1304
|
+
const Tree$1 = 'tree';
|
|
1305
|
+
const TreeItem$1 = 'treeitem';
|
|
1306
|
+
|
|
1307
|
+
const Badge = 'Badge';
|
|
1308
|
+
const MaskIcon = 'MaskIcon';
|
|
1309
|
+
const SourceControlBadge = 'SourceControlBadge';
|
|
1310
|
+
|
|
1311
|
+
const Directory = 3;
|
|
1312
|
+
const DirectoryExpanded = 4;
|
|
1313
|
+
const File = 7;
|
|
1314
|
+
|
|
1315
|
+
const Button$2 = 1;
|
|
1316
|
+
const Div = 4;
|
|
1317
|
+
const Span = 8;
|
|
1318
|
+
const Text = 12;
|
|
1319
|
+
const Img = 17;
|
|
1320
|
+
const TextArea = 62;
|
|
1321
|
+
const Reference = 100;
|
|
1322
|
+
|
|
1323
|
+
const Button$1 = 'event.button';
|
|
1324
|
+
const ClientX = 'event.clientX';
|
|
1325
|
+
const ClientY = 'event.clientY';
|
|
1326
|
+
const DeltaMode = 'event.deltaMode';
|
|
1327
|
+
const DeltaY = 'event.deltaY';
|
|
1328
|
+
const TargetName = 'event.target.name';
|
|
1329
|
+
const TargetValue = 'event.target.value';
|
|
1330
|
+
|
|
1331
|
+
const Enter = 3;
|
|
1332
|
+
|
|
1333
|
+
const User = 1;
|
|
1334
|
+
const Script = 2;
|
|
1335
|
+
|
|
1336
|
+
const CtrlCmd = 1 << 11 >>> 0;
|
|
1337
|
+
|
|
1338
|
+
const SourceControl$1 = 22;
|
|
1339
|
+
|
|
1340
|
+
const None = 0;
|
|
1341
|
+
|
|
1342
|
+
const Web = 1;
|
|
1343
|
+
|
|
1344
|
+
const SetCss = 'Viewlet.setCss';
|
|
1345
|
+
const SetDom2 = 'Viewlet.setDom2';
|
|
1346
|
+
const SetFocusContext = 'Viewlet.setFocusContext';
|
|
1347
|
+
const SetValueByName = 'Viewlet.setValueByName';
|
|
1348
|
+
|
|
1349
|
+
const List$1 = 1;
|
|
1350
|
+
const Tree = 2;
|
|
1351
|
+
|
|
1352
|
+
const FocusSourceControlInput = 24;
|
|
1353
|
+
|
|
1312
1354
|
const getActualDecorationIcon = (iconDefinitions, icon) => {
|
|
1313
1355
|
if (typeof icon === 'number') {
|
|
1314
1356
|
const value = iconDefinitions[icon];
|
|
@@ -1477,7 +1519,7 @@ const executeProvider = async ({
|
|
|
1477
1519
|
}) => {
|
|
1478
1520
|
await activateByEvent(event, assetDir, platform);
|
|
1479
1521
|
// @ts-ignore
|
|
1480
|
-
const result = await invoke$
|
|
1522
|
+
const result = await invoke$2(method, ...params);
|
|
1481
1523
|
return result;
|
|
1482
1524
|
};
|
|
1483
1525
|
|
|
@@ -1582,7 +1624,7 @@ const getEnabledProviderIds$1 = (scheme, root, assetDir, platform) => {
|
|
|
1582
1624
|
};
|
|
1583
1625
|
const getIconDefinitions$1 = async providerId => {
|
|
1584
1626
|
// @ts-ignore
|
|
1585
|
-
const result = await invoke$
|
|
1627
|
+
const result = await invoke$2('ExtensionHostSourceControl.getIconDefinitions', providerId);
|
|
1586
1628
|
return result;
|
|
1587
1629
|
};
|
|
1588
1630
|
|
|
@@ -1734,6 +1776,114 @@ const getNumberOfVisibleItems = (listHeight, itemHeight) => {
|
|
|
1734
1776
|
return Math.ceil(listHeight / itemHeight) + 1;
|
|
1735
1777
|
};
|
|
1736
1778
|
|
|
1779
|
+
const emptyObject = {};
|
|
1780
|
+
const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
|
|
1781
|
+
const i18nString = (key, placeholders = emptyObject) => {
|
|
1782
|
+
if (placeholders === emptyObject) {
|
|
1783
|
+
return key;
|
|
1784
|
+
}
|
|
1785
|
+
const replacer = (match, rest) => {
|
|
1786
|
+
return placeholders[rest];
|
|
1787
|
+
};
|
|
1788
|
+
return key.replaceAll(RE_PLACEHOLDER, replacer);
|
|
1789
|
+
};
|
|
1790
|
+
|
|
1791
|
+
const OpenChanges = 'Open Changes';
|
|
1792
|
+
const OpenFile = 'Open File';
|
|
1793
|
+
const OpenFileHead = 'Open File (HEAD)';
|
|
1794
|
+
const DiscardChanges = 'Discard Changes';
|
|
1795
|
+
const StageChanges = 'Stage Changes';
|
|
1796
|
+
const AddToGitignore = 'Add to gitignore';
|
|
1797
|
+
const RevealInExplorerView = 'Reveal in Explorer View';
|
|
1798
|
+
const OpenContainingFolder = 'Open Containing Folder';
|
|
1799
|
+
const ViewAsTree$1 = 'View As Tree';
|
|
1800
|
+
const CommitAndPush$1 = 'Commit and Push';
|
|
1801
|
+
const GenerateCommitMessage$1 = 'Generate Commit Message';
|
|
1802
|
+
const Refresh$2 = 'Refresh';
|
|
1803
|
+
const MessageEnterToCommitOnMaster = `Message (Enter) to commit on 'master'`;
|
|
1804
|
+
const SourceControlInput$1 = 'Source Control Input';
|
|
1805
|
+
const NoSourceControlProvider = 'No source control provider is enabled or installed.';
|
|
1806
|
+
const NoSourceControlExtensionsInstalled = 'No source control extensions are installed.';
|
|
1807
|
+
const SourceControlExtensionsDisabled = 'All installed source control extensions are disabled.';
|
|
1808
|
+
const NoSourceControlProviderForWorkspace = 'No source control provider is available for this workspace.';
|
|
1809
|
+
|
|
1810
|
+
const openChanges = () => {
|
|
1811
|
+
return i18nString(OpenChanges);
|
|
1812
|
+
};
|
|
1813
|
+
const openFile = () => {
|
|
1814
|
+
return i18nString(OpenFile);
|
|
1815
|
+
};
|
|
1816
|
+
const openFileHead = () => {
|
|
1817
|
+
return i18nString(OpenFileHead);
|
|
1818
|
+
};
|
|
1819
|
+
const discardChanges = () => {
|
|
1820
|
+
return i18nString(DiscardChanges);
|
|
1821
|
+
};
|
|
1822
|
+
const stageChanges = () => {
|
|
1823
|
+
return i18nString(StageChanges);
|
|
1824
|
+
};
|
|
1825
|
+
const addToGitignore = () => {
|
|
1826
|
+
return i18nString(AddToGitignore);
|
|
1827
|
+
};
|
|
1828
|
+
const revealInExplorerView = () => {
|
|
1829
|
+
return i18nString(RevealInExplorerView);
|
|
1830
|
+
};
|
|
1831
|
+
const openContainingFolder = () => {
|
|
1832
|
+
return i18nString(OpenContainingFolder);
|
|
1833
|
+
};
|
|
1834
|
+
const viewAsTree$1 = () => {
|
|
1835
|
+
return i18nString(ViewAsTree$1);
|
|
1836
|
+
};
|
|
1837
|
+
const commitAndPush = () => {
|
|
1838
|
+
return i18nString(CommitAndPush$1);
|
|
1839
|
+
};
|
|
1840
|
+
const generateCommitMessage = () => {
|
|
1841
|
+
return i18nString(GenerateCommitMessage$1);
|
|
1842
|
+
};
|
|
1843
|
+
const refresh$1 = () => {
|
|
1844
|
+
return i18nString(Refresh$2);
|
|
1845
|
+
};
|
|
1846
|
+
const messageEnterToCommitOnMaster = () => {
|
|
1847
|
+
return i18nString(MessageEnterToCommitOnMaster);
|
|
1848
|
+
};
|
|
1849
|
+
const sourceControlInput = () => {
|
|
1850
|
+
return i18nString(SourceControlInput$1);
|
|
1851
|
+
};
|
|
1852
|
+
const noSourceControlProvider = () => {
|
|
1853
|
+
return i18nString(NoSourceControlProvider);
|
|
1854
|
+
};
|
|
1855
|
+
const noSourceControlExtensionsInstalled = () => {
|
|
1856
|
+
return i18nString(NoSourceControlExtensionsInstalled);
|
|
1857
|
+
};
|
|
1858
|
+
const sourceControlExtensionsDisabled = () => {
|
|
1859
|
+
return i18nString(SourceControlExtensionsDisabled);
|
|
1860
|
+
};
|
|
1861
|
+
const noSourceControlProviderForWorkspace = () => {
|
|
1862
|
+
return i18nString(NoSourceControlProviderForWorkspace);
|
|
1863
|
+
};
|
|
1864
|
+
|
|
1865
|
+
const hasSourceControlActivation = extension => {
|
|
1866
|
+
return Array.isArray(extension?.activation) && extension.activation.some(activationEvent => typeof activationEvent === 'string' && (activationEvent === 'onSourceControl' || activationEvent.startsWith('onSourceControl:')));
|
|
1867
|
+
};
|
|
1868
|
+
const isSourceControlExtension = extension => {
|
|
1869
|
+
return Boolean(extension?.sourceControl) || hasSourceControlActivation(extension);
|
|
1870
|
+
};
|
|
1871
|
+
const getSourceControlUnavailableMessage = async (assetDir, platform) => {
|
|
1872
|
+
try {
|
|
1873
|
+
const extensions = await invoke$1('Extensions.getAllExtensions', assetDir, platform);
|
|
1874
|
+
const sourceControlExtensions = extensions.filter(isSourceControlExtension);
|
|
1875
|
+
if (sourceControlExtensions.length === 0) {
|
|
1876
|
+
return noSourceControlExtensionsInstalled();
|
|
1877
|
+
}
|
|
1878
|
+
if (sourceControlExtensions.every(extension => extension.disabled === true)) {
|
|
1879
|
+
return sourceControlExtensionsDisabled();
|
|
1880
|
+
}
|
|
1881
|
+
return noSourceControlProviderForWorkspace();
|
|
1882
|
+
} catch {
|
|
1883
|
+
return noSourceControlProvider();
|
|
1884
|
+
}
|
|
1885
|
+
};
|
|
1886
|
+
|
|
1737
1887
|
const emptySourceControlButtons = [];
|
|
1738
1888
|
|
|
1739
1889
|
const getContextId = (groupId, type) => {
|
|
@@ -1778,7 +1928,7 @@ const isCompatible = (extension, platform) => {
|
|
|
1778
1928
|
return platform !== Web || extension?.compatibility?.web !== false;
|
|
1779
1929
|
};
|
|
1780
1930
|
const getExtensions = async platform => {
|
|
1781
|
-
const extensions = await invoke$
|
|
1931
|
+
const extensions = await invoke$2('Extensions.getExtensions');
|
|
1782
1932
|
return extensions.filter(extension => isCompatible(extension, platform));
|
|
1783
1933
|
};
|
|
1784
1934
|
|
|
@@ -1866,80 +2016,6 @@ const getNewDeltaPercent = (height, scrollBarHeight, relativeY) => {
|
|
|
1866
2016
|
};
|
|
1867
2017
|
};
|
|
1868
2018
|
|
|
1869
|
-
const emptyObject = {};
|
|
1870
|
-
const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
|
|
1871
|
-
const i18nString = (key, placeholders = emptyObject) => {
|
|
1872
|
-
if (placeholders === emptyObject) {
|
|
1873
|
-
return key;
|
|
1874
|
-
}
|
|
1875
|
-
const replacer = (match, rest) => {
|
|
1876
|
-
return placeholders[rest];
|
|
1877
|
-
};
|
|
1878
|
-
return key.replaceAll(RE_PLACEHOLDER, replacer);
|
|
1879
|
-
};
|
|
1880
|
-
|
|
1881
|
-
const OpenChanges = 'Open Changes';
|
|
1882
|
-
const OpenFile = 'Open File';
|
|
1883
|
-
const OpenFileHead = 'Open File (HEAD)';
|
|
1884
|
-
const DiscardChanges = 'Discard Changes';
|
|
1885
|
-
const StageChanges = 'Stage Changes';
|
|
1886
|
-
const AddToGitignore = 'Add to gitignore';
|
|
1887
|
-
const RevealInExplorerView = 'Reveal in Explorer View';
|
|
1888
|
-
const OpenContainingFolder = 'Open Containing Folder';
|
|
1889
|
-
const ViewAsTree$1 = 'View As Tree';
|
|
1890
|
-
const CommitAndPush$1 = 'Commit and Push';
|
|
1891
|
-
const GenerateCommitMessage$1 = 'Generate Commit Message';
|
|
1892
|
-
const Refresh$2 = 'Refresh';
|
|
1893
|
-
const MessageEnterToCommitOnMaster = `Message (Enter) to commit on 'master'`;
|
|
1894
|
-
const SourceControlInput$1 = 'Source Control Input';
|
|
1895
|
-
const NoSourceControlProvider = 'No source control provider is enabled or installed.';
|
|
1896
|
-
|
|
1897
|
-
const openChanges = () => {
|
|
1898
|
-
return i18nString(OpenChanges);
|
|
1899
|
-
};
|
|
1900
|
-
const openFile = () => {
|
|
1901
|
-
return i18nString(OpenFile);
|
|
1902
|
-
};
|
|
1903
|
-
const openFileHead = () => {
|
|
1904
|
-
return i18nString(OpenFileHead);
|
|
1905
|
-
};
|
|
1906
|
-
const discardChanges = () => {
|
|
1907
|
-
return i18nString(DiscardChanges);
|
|
1908
|
-
};
|
|
1909
|
-
const stageChanges = () => {
|
|
1910
|
-
return i18nString(StageChanges);
|
|
1911
|
-
};
|
|
1912
|
-
const addToGitignore = () => {
|
|
1913
|
-
return i18nString(AddToGitignore);
|
|
1914
|
-
};
|
|
1915
|
-
const revealInExplorerView = () => {
|
|
1916
|
-
return i18nString(RevealInExplorerView);
|
|
1917
|
-
};
|
|
1918
|
-
const openContainingFolder = () => {
|
|
1919
|
-
return i18nString(OpenContainingFolder);
|
|
1920
|
-
};
|
|
1921
|
-
const viewAsTree$1 = () => {
|
|
1922
|
-
return i18nString(ViewAsTree$1);
|
|
1923
|
-
};
|
|
1924
|
-
const commitAndPush = () => {
|
|
1925
|
-
return i18nString(CommitAndPush$1);
|
|
1926
|
-
};
|
|
1927
|
-
const generateCommitMessage = () => {
|
|
1928
|
-
return i18nString(GenerateCommitMessage$1);
|
|
1929
|
-
};
|
|
1930
|
-
const refresh$1 = () => {
|
|
1931
|
-
return i18nString(Refresh$2);
|
|
1932
|
-
};
|
|
1933
|
-
const messageEnterToCommitOnMaster = () => {
|
|
1934
|
-
return i18nString(MessageEnterToCommitOnMaster);
|
|
1935
|
-
};
|
|
1936
|
-
const sourceControlInput = () => {
|
|
1937
|
-
return i18nString(SourceControlInput$1);
|
|
1938
|
-
};
|
|
1939
|
-
const noSourceControlProvider = () => {
|
|
1940
|
-
return i18nString(NoSourceControlProvider);
|
|
1941
|
-
};
|
|
1942
|
-
|
|
1943
2019
|
const loadContent = async (state, savedState) => {
|
|
1944
2020
|
const {
|
|
1945
2021
|
fileIconCache,
|
|
@@ -1965,6 +2041,7 @@ const loadContent = async (state, savedState) => {
|
|
|
1965
2041
|
platform
|
|
1966
2042
|
} = state;
|
|
1967
2043
|
const enabledProviderIds = await getEnabledProviderIds(scheme, root, assetDir, platform);
|
|
2044
|
+
const providerUnavailableMessage = enabledProviderIds.length === 0 ? await getSourceControlUnavailableMessage(assetDir, platform) : '';
|
|
1968
2045
|
const showGenerateCommitMessageButton = enabledProviderIds.length === 0 ? false : await getShowGenerateCommitMessageButton(enabledProviderIds[0], assetDir, platform);
|
|
1969
2046
|
const iconDefinitions = await getIconDefinitions(enabledProviderIds);
|
|
1970
2047
|
const {
|
|
@@ -2012,6 +2089,7 @@ const loadContent = async (state, savedState) => {
|
|
|
2012
2089
|
items: displayItems,
|
|
2013
2090
|
loading: false,
|
|
2014
2091
|
maxLineY,
|
|
2092
|
+
providerUnavailableMessage,
|
|
2015
2093
|
root,
|
|
2016
2094
|
scrollBarHeight,
|
|
2017
2095
|
showGenerateCommitMessageButton,
|
|
@@ -2097,6 +2175,7 @@ const createDefaultState = () => ({
|
|
|
2097
2175
|
minLineY: 0,
|
|
2098
2176
|
platform: 0,
|
|
2099
2177
|
providerId: '',
|
|
2178
|
+
providerUnavailableMessage: '',
|
|
2100
2179
|
root: '/',
|
|
2101
2180
|
scrollBarActive: false,
|
|
2102
2181
|
scrollBarHeight: 0,
|
|
@@ -2158,7 +2237,7 @@ const isEqual$3 = (oldState, newState) => {
|
|
|
2158
2237
|
};
|
|
2159
2238
|
|
|
2160
2239
|
const isEqual$2 = (oldState, newState) => {
|
|
2161
|
-
return oldState.allGroups === newState.allGroups && oldState.deltaY === newState.deltaY && oldState.items === newState.items && oldState.loading === newState.loading && oldState.maxLineY === newState.maxLineY && oldState.minLineY === newState.minLineY && oldState.scrollBarActive === newState.scrollBarActive && oldState.scrollBarHeight === newState.scrollBarHeight && oldState.sourceControlButtons === newState.sourceControlButtons && oldState.visibleItems === newState.visibleItems;
|
|
2240
|
+
return oldState.allGroups === newState.allGroups && oldState.deltaY === newState.deltaY && oldState.items === newState.items && oldState.loading === newState.loading && oldState.maxLineY === newState.maxLineY && oldState.minLineY === newState.minLineY && oldState.providerUnavailableMessage === newState.providerUnavailableMessage && oldState.scrollBarActive === newState.scrollBarActive && oldState.scrollBarHeight === newState.scrollBarHeight && oldState.sourceControlButtons === newState.sourceControlButtons && oldState.visibleItems === newState.visibleItems;
|
|
2162
2241
|
};
|
|
2163
2242
|
|
|
2164
2243
|
const RenderItems = 4;
|
|
@@ -3291,7 +3370,10 @@ const getSourceControlButtonVirtualDom = (button, disabled) => {
|
|
|
3291
3370
|
...(!disabled && {
|
|
3292
3371
|
onClick: HandleClickSourceControlButton
|
|
3293
3372
|
})
|
|
3294
|
-
},
|
|
3373
|
+
}, {
|
|
3374
|
+
...getIconVirtualDom(icon, Span),
|
|
3375
|
+
name: label
|
|
3376
|
+
}, text(label)];
|
|
3295
3377
|
};
|
|
3296
3378
|
|
|
3297
3379
|
const getSourceControlInputDom = (inputPlaceholder, inputMessage) => {
|
|
@@ -3564,13 +3646,13 @@ const getSourceControlVirtualDom = (items, buttons, disabled, placeholder, input
|
|
|
3564
3646
|
|
|
3565
3647
|
const renderItems = (oldState, newState) => {
|
|
3566
3648
|
const {
|
|
3567
|
-
enabledProviderIds,
|
|
3568
3649
|
id,
|
|
3569
3650
|
initial,
|
|
3570
3651
|
inputMessage,
|
|
3571
3652
|
inputPlaceholder,
|
|
3572
3653
|
items,
|
|
3573
3654
|
loading,
|
|
3655
|
+
providerUnavailableMessage,
|
|
3574
3656
|
scrollBarActive,
|
|
3575
3657
|
scrollBarHeight,
|
|
3576
3658
|
sourceControlButtons,
|
|
@@ -3579,7 +3661,7 @@ const renderItems = (oldState, newState) => {
|
|
|
3579
3661
|
if (initial) {
|
|
3580
3662
|
return [SetDom2, id, []];
|
|
3581
3663
|
}
|
|
3582
|
-
const unavailableMessage =
|
|
3664
|
+
const unavailableMessage = loading ? '' : providerUnavailableMessage;
|
|
3583
3665
|
const dom = getSourceControlVirtualDom(visibleItems, sourceControlButtons, items.length === 0, inputPlaceholder, inputMessage, unavailableMessage, loading, scrollBarHeight, scrollBarActive);
|
|
3584
3666
|
return [SetDom2, id, dom];
|
|
3585
3667
|
};
|