@theia/plugin-ext-vscode 1.77.0-next.49 → 1.77.0-next.56
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/lib/browser/plugin-vscode-commands-contribution.d.ts +2 -0
- package/lib/browser/plugin-vscode-commands-contribution.d.ts.map +1 -1
- package/lib/browser/plugin-vscode-commands-contribution.js +55 -26
- package/lib/browser/plugin-vscode-commands-contribution.js.map +1 -1
- package/lib/browser/plugin-vscode-commands-contribution.spec.js +100 -0
- package/lib/browser/plugin-vscode-commands-contribution.spec.js.map +1 -1
- package/lib/common/plugin-vscode-environment.js +1 -1
- package/lib/common/plugin-vscode-environment.js.map +1 -1
- package/lib/common/plugin-vscode-uri.js +2 -1
- package/lib/common/plugin-vscode-uri.js.map +1 -1
- package/lib/node/context/plugin-vscode-init-fe.js +1 -0
- package/lib/node/context/plugin-vscode-init-fe.js.map +1 -1
- package/lib/node/local-vsix-file-plugin-deployer-resolver.js +1 -1
- package/lib/node/local-vsix-file-plugin-deployer-resolver.js.map +1 -1
- package/lib/node/package.spec.js +1 -0
- package/lib/node/package.spec.js.map +1 -1
- package/lib/node/plugin-vscode-deployer-participant.js +1 -1
- package/lib/node/plugin-vscode-deployer-participant.js.map +1 -1
- package/lib/node/plugin-vscode-directory-handler.js +2 -2
- package/lib/node/plugin-vscode-directory-handler.js.map +1 -1
- package/lib/node/plugin-vscode-file-handler.js +3 -3
- package/lib/node/plugin-vscode-file-handler.js.map +1 -1
- package/lib/node/plugin-vscode-init.spec.js +2 -1
- package/lib/node/plugin-vscode-init.spec.js.map +1 -1
- package/lib/node/plugin-vscode-utils.js +9 -8
- package/lib/node/plugin-vscode-utils.js.map +1 -1
- package/lib/node/scanner-vscode.js +1 -1
- package/lib/node/scanner-vscode.js.map +1 -1
- package/lib/node/scanner-vscode.spec.js +5 -4
- package/lib/node/scanner-vscode.spec.js.map +1 -1
- package/package.json +17 -17
- package/src/browser/plugin-vscode-commands-contribution.spec.ts +106 -0
- package/src/browser/plugin-vscode-commands-contribution.ts +61 -25
- package/src/node/plugin-vscode-file-handler.ts +1 -1
- package/src/node/plugin-vscode-utils.ts +2 -2
|
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.PluginVSCodeDeployerParticipant = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const fs = require("@theia/core/shared/fs-extra");
|
|
21
|
+
const fs = tslib_1.__importStar(require("@theia/core/shared/fs-extra"));
|
|
22
22
|
const node_1 = require("@theia/core/lib/node");
|
|
23
23
|
const plugin_vscode_environment_1 = require("../common/plugin-vscode-environment");
|
|
24
24
|
const local_vsix_file_plugin_deployer_resolver_1 = require("./local-vsix-file-plugin-deployer-resolver");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-deployer-participant.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-deployer-participant.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"plugin-vscode-deployer-participant.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-deployer-participant.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAyE;AACzE,wEAAkD;AAClD,+CAA+C;AAC/C,mFAA8E;AAE9E,yGAAiG;AACjG,sCAAsC;AAG/B,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAQxC,KAAK,CAAC,WAAW,CAAC,OAAmC;QACjD,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAChF,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;QAC9E,MAAM,oBAAoB,GAAG,cAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEjE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,8EAAmC,CAAC,cAAc,CAAC,EAAE,CAAC;oBACpE,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,GAAG,CAAC,CAAC;oBAC9D,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AA1BY,0EAA+B;AAGrB;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACC,mDAAuB;qEAAC;AAGtC;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,mDAAmD,CAAC;;+DACzC;0CAN1B,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CA0B3C"}
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.PluginVsCodeDirectoryHandler = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
|
-
const path = require("path");
|
|
21
|
-
const fs = require("@theia/core/shared/fs-extra");
|
|
20
|
+
const path = tslib_1.__importStar(require("path"));
|
|
21
|
+
const fs = tslib_1.__importStar(require("@theia/core/shared/fs-extra"));
|
|
22
22
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
23
|
const core_1 = require("@theia/core");
|
|
24
24
|
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-directory-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"plugin-vscode-directory-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-directory-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.PluginVsCodeFileHandler = exports.isVSCodePluginFile = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
|
-
const
|
|
20
|
+
const filenamify_1 = tslib_1.__importDefault(require("filenamify"));
|
|
21
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
-
const fs = require("@theia/core/shared/fs-extra");
|
|
22
|
+
const fs = tslib_1.__importStar(require("@theia/core/shared/fs-extra"));
|
|
23
23
|
const plugin_vscode_environment_1 = require("../common/plugin-vscode-environment");
|
|
24
24
|
const file_uri_1 = require("@theia/core/lib/common/file-uri");
|
|
25
25
|
const plugin_vscode_utils_1 = require("./plugin-vscode-utils");
|
|
@@ -54,7 +54,7 @@ let PluginVsCodeFileHandler = class PluginVsCodeFileHandler {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
getNormalizedExtensionId(pluginId) {
|
|
57
|
-
return
|
|
57
|
+
return (0, filenamify_1.default)(pluginId, { replacement: '_' }).replace(/\.vsix$/, '');
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
60
|
exports.PluginVsCodeFileHandler = PluginVsCodeFileHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-file-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,
|
|
1
|
+
{"version":3,"file":"plugin-vscode-file-handler.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-file-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,oEAAoC;AACpC,4DAAyE;AACzE,wEAAkD;AAClD,mFAA8E;AAC9E,8DAA0D;AAC1D,+DAA8D;AAC9D,sCAAsC;AAE/B,MAAM,kBAAkB,GAAG,CAAC,UAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAAnI,QAAA,kBAAkB,sBAAiH;AAGzI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAOhC,KAAK,CAAC,MAAM,CAAC,cAAmC;QAC5C,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,IAAA,0BAAkB,EAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAyC;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,sBAAsB,GAAG,MAAM,IAAA,2CAAqB,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/G,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,YAAY,IAAI,YAAY,KAAK,sBAAsB,EAAE,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC1D,IAAI,YAAY,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC;oBACD,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,yCAAyC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzF,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAES,wBAAwB,CAAC,QAAgB;QAC/C,OAAO,IAAA,oBAAU,EAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;CACJ,CAAA;AArCY,0DAAuB;AAEb;IADlB,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACA,mDAAuB;4DAAC;AAGrC;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,2CAA2C,CAAC;;uDACjC;kCAL1B,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAqCnC"}
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const tslib_1 = require("tslib");
|
|
18
19
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
20
|
const chai_1 = require("chai");
|
|
20
|
-
const path = require("path");
|
|
21
|
+
const path = tslib_1.__importStar(require("path"));
|
|
21
22
|
const plugin_vscode_init_1 = require("./plugin-vscode-init");
|
|
22
23
|
const PLUGIN_A_FOLDER = path.join(path.sep, 'p', 'sample-namespace.plugin-esm');
|
|
23
24
|
const PLUGIN_B_FOLDER = path.join(path.sep, 'p', 'sample-namespace.plugin-esm-mjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-init.spec.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-init.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF
|
|
1
|
+
{"version":3,"file":"plugin-vscode-init.spec.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-init.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,uDAAuD;AAEvD,+BAA8B;AAC9B,mDAA6B;AAE7B,6DAAkD;AAElD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,CAAC,CAAC;AAChF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,iCAAiC,CAAC,CAAC;AAEpF,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,eAAe,EAAY,CAAC;AAC5D,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,eAAe,EAAY,CAAC;AAC5D,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEnC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAExB,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACxD,IAAA,aAAM,EAAC,IAAA,+BAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAA,aAAM,EAAC,IAAA,+BAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACzD,IAAA,aAAM,EAAC,IAAA,+BAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,IAAA,aAAM,EAAC,IAAA,+BAAU,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,IAAA,aAAM,EAAC,IAAA,+BAAU,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACvF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -22,11 +22,12 @@ exports.existsInDeploymentDir = existsInDeploymentDir;
|
|
|
22
22
|
exports.unpackToDeploymentDir = unpackToDeploymentDir;
|
|
23
23
|
exports.getExtensionDeploymentDir = getExtensionDeploymentDir;
|
|
24
24
|
exports.getTempDir = getTempDir;
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
25
|
+
const tslib_1 = require("tslib");
|
|
26
|
+
const decompress_1 = tslib_1.__importDefault(require("decompress"));
|
|
27
|
+
const path = tslib_1.__importStar(require("path"));
|
|
28
|
+
const filenamify_1 = tslib_1.__importDefault(require("filenamify"));
|
|
28
29
|
const node_1 = require("@theia/core/lib/node");
|
|
29
|
-
const fs = require("@theia/core/shared/fs-extra");
|
|
30
|
+
const fs = tslib_1.__importStar(require("@theia/core/shared/fs-extra"));
|
|
30
31
|
/**
|
|
31
32
|
* Extracts extension identity from a VSIX file by reading its package.json.
|
|
32
33
|
*
|
|
@@ -39,7 +40,7 @@ const fs = require("@theia/core/shared/fs-extra");
|
|
|
39
40
|
async function extractExtensionIdentityFromVsix(vsixPath) {
|
|
40
41
|
try {
|
|
41
42
|
// Extract only the package.json file from the VSIX
|
|
42
|
-
const files = await
|
|
43
|
+
const files = await (0, decompress_1.default)(vsixPath, {
|
|
43
44
|
filter: file => file.path === 'extension/package.json'
|
|
44
45
|
});
|
|
45
46
|
if (files.length === 0) {
|
|
@@ -67,13 +68,13 @@ async function extractExtensionIdentityFromVsix(vsixPath) {
|
|
|
67
68
|
}
|
|
68
69
|
async function decompressExtension(sourcePath, destPath) {
|
|
69
70
|
try {
|
|
70
|
-
await
|
|
71
|
+
await (0, decompress_1.default)(sourcePath, destPath);
|
|
71
72
|
if (sourcePath.endsWith('.tgz')) {
|
|
72
73
|
// unzip node_modules from built-in extensions, see https://github.com/eclipse-theia/theia/issues/5756
|
|
73
74
|
const extensionPath = path.join(destPath, 'package');
|
|
74
75
|
const vscodeNodeModulesPath = path.join(extensionPath, 'vscode_node_modules.zip');
|
|
75
76
|
if (await fs.pathExists(vscodeNodeModulesPath)) {
|
|
76
|
-
await
|
|
77
|
+
await (0, decompress_1.default)(vscodeNodeModulesPath, path.join(extensionPath, 'node_modules'));
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
return true;
|
|
@@ -123,7 +124,7 @@ async function unpackToDeploymentDir(env, sourcePath, extensionId) {
|
|
|
123
124
|
}
|
|
124
125
|
async function getExtensionDeploymentDir(env, extensionId) {
|
|
125
126
|
const deployedPluginsDirUri = await env.getDeploymentDirUri();
|
|
126
|
-
const normalizedExtensionId =
|
|
127
|
+
const normalizedExtensionId = (0, filenamify_1.default)(extensionId, { replacement: '_' });
|
|
127
128
|
const extensionDeploymentDirPath = node_1.FileUri.fsPath(deployedPluginsDirUri.resolve(normalizedExtensionId));
|
|
128
129
|
return extensionDeploymentDirPath;
|
|
129
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-utils.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-utils.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAmBhF,4EAgCC;AAED,kDAgBC;AAED,sDAEC;AAGD,sDAiCC;AAED,8DAKC;AAED,gCAYC
|
|
1
|
+
{"version":3,"file":"plugin-vscode-utils.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.VsCodePluginScanner = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
|
-
const path = require("path");
|
|
20
|
+
const path = tslib_1.__importStar(require("path"));
|
|
21
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
22
|
const plugin_ext_1 = require("@theia/plugin-ext");
|
|
23
23
|
const scanner_theia_1 = require("@theia/plugin-ext/lib/hosted/node/scanners/scanner-theia");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,mDAA6B;AAC7B,4DAA0D;AAC1D,kDAAwI;AACxI,4FAA8F;AAC9F,+FAA4F;AAC5F,mEAAiE;AACjE,8EAAkG;AAElG,MAAM,MAAM,GAAG,yBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAM,CAAC,GAAG,CAAC;AAGhE,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,kCAAkB;IAApD;;QAEc,gBAAW,GAAiB,QAAQ,CAAC;IAyC1D,CAAC;IAvCG,IAAa,OAAO;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEQ,QAAQ,CAAC,MAAqB;QACnC,MAAM,MAAM,GAAG,IAAA,kCAAmB,EAAC;YAC/B,GAAG,MAAM;YACT,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,8BAAiB,CAAC,WAAW;YAC5D,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;SACjE,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,mBAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACM,eAAe,CAAC,MAAqB;QAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,UAAU,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;oBAC/B,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;oBACvC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,sCAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAEQ,YAAY,CAAC,MAAqB;QACvC,OAAO;YACH,GAAG,IAAA,6BAAc,EAAC,MAAM,EAAE,QAAQ,CAAC;YACnC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC;SAC9D,CAAC;IACN,CAAC;CAEJ,CAAA;AA3CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,sBAAU,GAAE;GACA,mBAAmB,CA2C/B"}
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const tslib_1 = require("tslib");
|
|
18
19
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
20
|
const chai_1 = require("chai");
|
|
20
|
-
const os = require("os");
|
|
21
|
-
const path = require("path");
|
|
22
|
-
const fs = require("fs");
|
|
21
|
+
const os = tslib_1.__importStar(require("os"));
|
|
22
|
+
const path = tslib_1.__importStar(require("path"));
|
|
23
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
23
24
|
const scanner_vscode_1 = require("./scanner-vscode");
|
|
24
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
25
|
+
const uri_1 = tslib_1.__importDefault(require("@theia/core/lib/common/uri"));
|
|
25
26
|
function createVsCodePluginPackage(capabilities, packagePath) {
|
|
26
27
|
return {
|
|
27
28
|
name: 'test-vscode-plugin',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-vscode.spec.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF
|
|
1
|
+
{"version":3,"file":"scanner-vscode.spec.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext-vscode",
|
|
3
|
-
"version": "1.77.0-next.
|
|
3
|
+
"version": "1.77.0-next.56+320e807e1",
|
|
4
4
|
"description": "Theia - Plugin Extension for VsCode",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/callhierarchy": "1.77.0-next.
|
|
7
|
-
"@theia/core": "1.77.0-next.
|
|
8
|
-
"@theia/editor": "1.77.0-next.
|
|
9
|
-
"@theia/filesystem": "1.77.0-next.
|
|
10
|
-
"@theia/monaco": "1.77.0-next.
|
|
6
|
+
"@theia/callhierarchy": "1.77.0-next.56+320e807e1",
|
|
7
|
+
"@theia/core": "1.77.0-next.56+320e807e1",
|
|
8
|
+
"@theia/editor": "1.77.0-next.56+320e807e1",
|
|
9
|
+
"@theia/filesystem": "1.77.0-next.56+320e807e1",
|
|
10
|
+
"@theia/monaco": "1.77.0-next.56+320e807e1",
|
|
11
11
|
"@theia/monaco-editor-core": "1.108.201",
|
|
12
|
-
"@theia/navigator": "1.77.0-next.
|
|
13
|
-
"@theia/outline-view": "1.77.0-next.
|
|
14
|
-
"@theia/plugin": "1.77.0-next.
|
|
15
|
-
"@theia/plugin-ext": "1.77.0-next.
|
|
16
|
-
"@theia/plugin-utils": "1.77.0-next.
|
|
17
|
-
"@theia/scm": "1.77.0-next.
|
|
18
|
-
"@theia/terminal": "1.77.0-next.
|
|
19
|
-
"@theia/typehierarchy": "1.77.0-next.
|
|
20
|
-
"@theia/userstorage": "1.77.0-next.
|
|
21
|
-
"@theia/workspace": "1.77.0-next.
|
|
12
|
+
"@theia/navigator": "1.77.0-next.56+320e807e1",
|
|
13
|
+
"@theia/outline-view": "1.77.0-next.56+320e807e1",
|
|
14
|
+
"@theia/plugin": "1.77.0-next.56+320e807e1",
|
|
15
|
+
"@theia/plugin-ext": "1.77.0-next.56+320e807e1",
|
|
16
|
+
"@theia/plugin-utils": "1.77.0-next.56+320e807e1",
|
|
17
|
+
"@theia/scm": "1.77.0-next.56+320e807e1",
|
|
18
|
+
"@theia/terminal": "1.77.0-next.56+320e807e1",
|
|
19
|
+
"@theia/typehierarchy": "1.77.0-next.56+320e807e1",
|
|
20
|
+
"@theia/userstorage": "1.77.0-next.56+320e807e1",
|
|
21
|
+
"@theia/workspace": "1.77.0-next.56+320e807e1",
|
|
22
22
|
"decompress": "^4.2.1",
|
|
23
23
|
"filenamify": "^4.3.0",
|
|
24
24
|
"tslib": "^2.8.1"
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"nyc": {
|
|
63
63
|
"extends": "../../configs/nyc.json"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "320e807e120baf2dd899cee35cb39c7e1f74f7a0"
|
|
66
66
|
}
|
|
@@ -28,6 +28,10 @@ import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/front
|
|
|
28
28
|
FrontendApplicationConfigProvider.set({});
|
|
29
29
|
|
|
30
30
|
import { expect } from 'chai';
|
|
31
|
+
import * as sinon from 'sinon';
|
|
32
|
+
import { CommandRegistry, InMemoryTextResource, URI } from '@theia/core';
|
|
33
|
+
import { MultiDiffEditorUri } from '@theia/scm/lib/browser/multi-diff-editor/multi-diff-editor-uri';
|
|
34
|
+
import { ScmService } from '@theia/scm/lib/browser/scm-service';
|
|
31
35
|
import { EditorGroupNavigationRect, PluginVscodeCommandsContribution } from './plugin-vscode-commands-contribution';
|
|
32
36
|
|
|
33
37
|
after(() => disableJSDOM());
|
|
@@ -39,6 +43,108 @@ function rect(left: number, top: number, width: number, height: number): EditorG
|
|
|
39
43
|
describe('PluginVscodeCommandsContribution', () => {
|
|
40
44
|
const contribution = new PluginVscodeCommandsContribution();
|
|
41
45
|
|
|
46
|
+
describe('_workbench.openMultiDiffEditor', () => {
|
|
47
|
+
it('should keep modified, added and deleted resources and supply empty missing sides', async () => {
|
|
48
|
+
const open = sinon.stub().resolves();
|
|
49
|
+
Object.assign(contribution, { openerService: { getOpener: async () => ({ open }) } });
|
|
50
|
+
const commands = new CommandRegistry({ getContributions: () => [] });
|
|
51
|
+
contribution.registerCommands(commands);
|
|
52
|
+
const originalUri = new URI('git:///workspace/file.ts?HEAD~1').toComponents();
|
|
53
|
+
const modifiedUri = new URI('file:///workspace/file.ts').toComponents();
|
|
54
|
+
await commands.executeCommand('_workbench.openMultiDiffEditor', {
|
|
55
|
+
title: 'Commit Changes',
|
|
56
|
+
resources: [{ originalUri, modifiedUri }, { modifiedUri }, { originalUri }, {}],
|
|
57
|
+
reveal: { modifiedUri }
|
|
58
|
+
});
|
|
59
|
+
expect(open.calledOnce).to.be.true;
|
|
60
|
+
const data = MultiDiffEditorUri.decode(open.firstCall.args[0]);
|
|
61
|
+
expect(data.title).to.equal('Commit Changes');
|
|
62
|
+
expect(data.resources).to.have.length(3);
|
|
63
|
+
expect(data.resources[0].originalUri.toString()).to.equal(URI.fromComponents(originalUri).toString());
|
|
64
|
+
expect(data.resources[0].modifiedUri.toString()).to.equal(URI.fromComponents(modifiedUri).toString());
|
|
65
|
+
for (const emptyUri of [data.resources[1].originalUri, data.resources[2].modifiedUri]) {
|
|
66
|
+
const resource = new InMemoryTextResource(emptyUri);
|
|
67
|
+
expect(resource.readOnly).to.be.true;
|
|
68
|
+
expect(await resource.readContents()).to.equal('');
|
|
69
|
+
expect(emptyUri.path.toString()).to.equal('/workspace/file.ts');
|
|
70
|
+
}
|
|
71
|
+
expect(data.resources[1].modifiedUri.toString()).to.equal(URI.fromComponents(modifiedUri).toString());
|
|
72
|
+
expect(data.resources[2].originalUri.toString()).to.equal(URI.fromComponents(originalUri).toString());
|
|
73
|
+
expect(open.firstCall.args[1].reveal.toString()).to.equal(URI.fromComponents(modifiedUri).toString());
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
describe('_workbench.openScmMultiDiffEditor', () => {
|
|
78
|
+
const repositoryUri = new URI('file:///workspace/repository');
|
|
79
|
+
const originalUri = new URI('git:///workspace/repository/file.ts?HEAD');
|
|
80
|
+
const modifiedUri = new URI('file:///workspace/repository/file.ts');
|
|
81
|
+
let commands: CommandRegistry;
|
|
82
|
+
let open: sinon.SinonStub;
|
|
83
|
+
let resources: { multiDiffEditorOriginalUri?: URI; multiDiffEditorModifiedUri?: URI }[];
|
|
84
|
+
|
|
85
|
+
beforeEach(() => {
|
|
86
|
+
open = sinon.stub().resolves();
|
|
87
|
+
resources = [
|
|
88
|
+
{ multiDiffEditorOriginalUri: originalUri, multiDiffEditorModifiedUri: modifiedUri },
|
|
89
|
+
{ multiDiffEditorModifiedUri: modifiedUri },
|
|
90
|
+
{ multiDiffEditorOriginalUri: originalUri },
|
|
91
|
+
{}
|
|
92
|
+
];
|
|
93
|
+
Object.assign(contribution, {
|
|
94
|
+
openerService: { getOpener: async () => ({ open }) },
|
|
95
|
+
scmService: {
|
|
96
|
+
repositories: [{
|
|
97
|
+
provider: {
|
|
98
|
+
rootUri: repositoryUri.toString(),
|
|
99
|
+
groups: [{ id: 'workingTree', resources }]
|
|
100
|
+
}
|
|
101
|
+
}]
|
|
102
|
+
} as unknown as ScmService
|
|
103
|
+
});
|
|
104
|
+
commands = new CommandRegistry({ getContributions: () => [] });
|
|
105
|
+
contribution.registerCommands(commands);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('should open Git resource-group changes, including added and deleted files', async () => {
|
|
109
|
+
await commands.executeCommand('_workbench.openScmMultiDiffEditor', {
|
|
110
|
+
title: 'Git: Changes', repositoryUri: repositoryUri.toComponents(), resourceGroupId: 'workingTree'
|
|
111
|
+
});
|
|
112
|
+
expect(open.calledOnce).to.be.true;
|
|
113
|
+
const data = MultiDiffEditorUri.decode(open.firstCall.args[0]);
|
|
114
|
+
expect(data.title).to.equal('Git: Changes');
|
|
115
|
+
expect(data.resources).to.have.length(3);
|
|
116
|
+
expect(data.resources[0].originalUri.toString()).to.equal(originalUri.toString());
|
|
117
|
+
expect(data.resources[0].modifiedUri.toString()).to.equal(modifiedUri.toString());
|
|
118
|
+
for (const emptyUri of [data.resources[1].originalUri, data.resources[2].modifiedUri]) {
|
|
119
|
+
expect(await new InMemoryTextResource(emptyUri).readContents()).to.equal('');
|
|
120
|
+
expect(emptyUri.path.toString()).to.equal('/workspace/repository/file.ts');
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('should use the current resource-group state on each invocation', async () => {
|
|
125
|
+
const options = { title: 'Git: Changes', repositoryUri: repositoryUri.toComponents(), resourceGroupId: 'workingTree' };
|
|
126
|
+
await commands.executeCommand('_workbench.openScmMultiDiffEditor', options);
|
|
127
|
+
resources.splice(0, resources.length, { multiDiffEditorModifiedUri: modifiedUri });
|
|
128
|
+
await commands.executeCommand('_workbench.openScmMultiDiffEditor', options);
|
|
129
|
+
expect(open.calledTwice).to.be.true;
|
|
130
|
+
expect(MultiDiffEditorUri.decode(open.secondCall.args[0]).resources).to.have.length(1);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it('should ignore missing repositories, groups, and empty resource groups', async () => {
|
|
134
|
+
await commands.executeCommand('_workbench.openScmMultiDiffEditor', {
|
|
135
|
+
title: 'Git: Changes', repositoryUri: new URI('file:///workspace/repository/nested').toComponents(), resourceGroupId: 'workingTree'
|
|
136
|
+
});
|
|
137
|
+
await commands.executeCommand('_workbench.openScmMultiDiffEditor', {
|
|
138
|
+
title: 'Git: Changes', repositoryUri: repositoryUri.toComponents(), resourceGroupId: 'missing'
|
|
139
|
+
});
|
|
140
|
+
resources.length = 0;
|
|
141
|
+
await commands.executeCommand('_workbench.openScmMultiDiffEditor', {
|
|
142
|
+
title: 'Git: Changes', repositoryUri: repositoryUri.toComponents(), resourceGroupId: 'workingTree'
|
|
143
|
+
});
|
|
144
|
+
expect(open.called).to.be.false;
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
|
|
42
148
|
describe('findClosestEditorGroup', () => {
|
|
43
149
|
it('prefers the orthogonally-overlapping group when navigating up out of a split column', () => {
|
|
44
150
|
const left = rect(0, 0, 50, 100);
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Command, CommandContribution, CommandRegistry, environment, isOSX, CancellationTokenSource, MessageService, isArray, ILogger } from '@theia/core';
|
|
17
|
+
import { Command, CommandContribution, CommandRegistry, environment, isOSX, CancellationTokenSource, MessageService, isArray, ILogger, MEMORY_TEXT_READONLY } from '@theia/core';
|
|
18
18
|
import {
|
|
19
19
|
ApplicationShell,
|
|
20
20
|
CommonCommands,
|
|
@@ -84,7 +84,25 @@ import { OutlineViewContribution } from '@theia/outline-view/lib/browser/outline
|
|
|
84
84
|
import { CompletionList, Range, Position as PluginPosition } from '@theia/plugin';
|
|
85
85
|
import { MonacoLanguages } from '@theia/monaco/lib/browser/monaco-languages';
|
|
86
86
|
import { ScmContribution } from '@theia/scm/lib/browser/scm-contribution';
|
|
87
|
+
import { ScmService } from '@theia/scm/lib/browser/scm-service';
|
|
87
88
|
import { MergeEditorOpenerOptions, MergeEditorUri } from '@theia/scm/lib/browser/merge-editor/merge-editor';
|
|
89
|
+
import { MultiDiffEditorOpenerOptions, MultiDiffEditorUri } from '@theia/scm/lib/browser/multi-diff-editor/multi-diff-editor';
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Convert a VS Code {@link UriComponents} or a string URI into a Theia {@link TheiaURI}.
|
|
93
|
+
* Returns `undefined` when given `undefined`.
|
|
94
|
+
*/
|
|
95
|
+
function toTheiaUri(value: UriComponents | string): TheiaURI;
|
|
96
|
+
function toTheiaUri(value: UriComponents | string | undefined): TheiaURI | undefined;
|
|
97
|
+
function toTheiaUri(value: UriComponents | string | undefined): TheiaURI | undefined {
|
|
98
|
+
if (value === undefined) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
if (typeof value === 'string') {
|
|
102
|
+
return new TheiaURI(value);
|
|
103
|
+
}
|
|
104
|
+
return TheiaURI.fromComponents(value);
|
|
105
|
+
}
|
|
88
106
|
|
|
89
107
|
export namespace VscodeCommands {
|
|
90
108
|
|
|
@@ -287,6 +305,8 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
|
287
305
|
protected monacoLanguages: MonacoLanguages;
|
|
288
306
|
@inject(ScmContribution)
|
|
289
307
|
protected scmContribution: ScmContribution;
|
|
308
|
+
@inject(ScmService)
|
|
309
|
+
protected readonly scmService: ScmService;
|
|
290
310
|
|
|
291
311
|
@inject(ILogger) @named('plugin-ext-vscode:PluginVscodeCommandsContribution')
|
|
292
312
|
protected readonly logger: ILogger;
|
|
@@ -1283,13 +1303,6 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
|
1283
1303
|
|
|
1284
1304
|
commands.registerCommand({ id: '_open.mergeEditor' }, {
|
|
1285
1305
|
execute: async (arg: OpenMergeEditorCommandArg): Promise<void> => {
|
|
1286
|
-
const toTheiaUri = (o: UriComponents | string): TheiaURI => {
|
|
1287
|
-
if (typeof o === 'string') {
|
|
1288
|
-
return new TheiaURI(o);
|
|
1289
|
-
}
|
|
1290
|
-
return TheiaURI.fromComponents(o);
|
|
1291
|
-
};
|
|
1292
|
-
|
|
1293
1306
|
const baseUri = toTheiaUri(arg.base);
|
|
1294
1307
|
const resultUri = toTheiaUri(arg.output);
|
|
1295
1308
|
const side1Uri = typeof arg.input1 === 'string' ? toTheiaUri(arg.input1) : toTheiaUri(arg.input1.uri);
|
|
@@ -1312,32 +1325,55 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
|
1312
1325
|
}
|
|
1313
1326
|
});
|
|
1314
1327
|
|
|
1315
|
-
|
|
1316
|
-
|
|
1328
|
+
commands.registerCommand({ id: '_workbench.openScmMultiDiffEditor' }, {
|
|
1329
|
+
execute: async (options: { title: string; repositoryUri: UriComponents; resourceGroupId: string }): Promise<void> => {
|
|
1330
|
+
const repositoryUri = toTheiaUri(options.repositoryUri);
|
|
1331
|
+
if (!repositoryUri) {
|
|
1332
|
+
return;
|
|
1333
|
+
}
|
|
1334
|
+
const repository = this.scmService.repositories.find(repo => new TheiaURI(repo.provider.rootUri).isEqual(repositoryUri));
|
|
1335
|
+
const group = repository?.provider.groups.find(candidate => candidate.id === options.resourceGroupId);
|
|
1336
|
+
if (!group) {
|
|
1337
|
+
return;
|
|
1338
|
+
}
|
|
1339
|
+
await commands.executeCommand('_workbench.openMultiDiffEditor', {
|
|
1340
|
+
title: options.title,
|
|
1341
|
+
resources: group.resources.map(resource => ({
|
|
1342
|
+
originalUri: resource.multiDiffEditorOriginalUri?.toComponents(),
|
|
1343
|
+
modifiedUri: resource.multiDiffEditorModifiedUri?.toComponents()
|
|
1344
|
+
}))
|
|
1345
|
+
});
|
|
1346
|
+
}
|
|
1347
|
+
});
|
|
1348
|
+
|
|
1317
1349
|
commands.registerCommand({ id: '_workbench.openMultiDiffEditor' }, {
|
|
1318
1350
|
execute: async (options: {
|
|
1319
1351
|
title: string;
|
|
1320
|
-
resources?: { originalUri
|
|
1352
|
+
resources?: { originalUri?: UriComponents; modifiedUri?: UriComponents }[];
|
|
1321
1353
|
reveal?: { modifiedUri: UriComponents };
|
|
1322
1354
|
}): Promise<void> => {
|
|
1323
1355
|
if (!options.resources?.length) {
|
|
1324
1356
|
return;
|
|
1325
1357
|
}
|
|
1326
|
-
const
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1358
|
+
const resources = options.resources
|
|
1359
|
+
.map(r => {
|
|
1360
|
+
const originalUri = toTheiaUri(r.originalUri);
|
|
1361
|
+
const modifiedUri = toTheiaUri(r.modifiedUri);
|
|
1362
|
+
const resourceUri = modifiedUri ?? originalUri;
|
|
1363
|
+
if (!resourceUri) {
|
|
1364
|
+
return undefined;
|
|
1365
|
+
}
|
|
1366
|
+
const emptyUri = new TheiaURI().withScheme(MEMORY_TEXT_READONLY).withPath(resourceUri.path);
|
|
1367
|
+
return { originalUri: originalUri ?? emptyUri, modifiedUri: modifiedUri ?? emptyUri };
|
|
1368
|
+
})
|
|
1369
|
+
.filter((r): r is { originalUri: TheiaURI; modifiedUri: TheiaURI } => r !== undefined);
|
|
1370
|
+
if (!resources.length) {
|
|
1371
|
+
return;
|
|
1340
1372
|
}
|
|
1373
|
+
const uri = MultiDiffEditorUri.encode({ title: options.title, resources });
|
|
1374
|
+
const reveal = toTheiaUri(options.reveal?.modifiedUri);
|
|
1375
|
+
const openerOptions: MultiDiffEditorOpenerOptions = { reveal };
|
|
1376
|
+
await open(this.openerService, uri, openerOptions);
|
|
1341
1377
|
},
|
|
1342
1378
|
});
|
|
1343
1379
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { PluginDeployerFileHandler, PluginDeployerEntry, PluginDeployerFileHandlerContext } from '@theia/plugin-ext';
|
|
18
|
-
import
|
|
18
|
+
import filenamify from 'filenamify';
|
|
19
19
|
import { inject, injectable, named } from '@theia/core/shared/inversify';
|
|
20
20
|
import * as fs from '@theia/core/shared/fs-extra';
|
|
21
21
|
import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
import decompress from 'decompress';
|
|
18
18
|
import * as path from 'path';
|
|
19
|
-
import
|
|
19
|
+
import filenamify from 'filenamify';
|
|
20
20
|
import { FileUri } from '@theia/core/lib/node';
|
|
21
21
|
import * as fs from '@theia/core/shared/fs-extra';
|
|
22
22
|
import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
|