@theia/workspace 1.22.0-next.7 → 1.22.1

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.
Files changed (48) hide show
  1. package/lib/browser/untitled-workspace-exit-dialog.d.ts +36 -0
  2. package/lib/browser/untitled-workspace-exit-dialog.d.ts.map +1 -0
  3. package/lib/browser/untitled-workspace-exit-dialog.js +76 -0
  4. package/lib/browser/untitled-workspace-exit-dialog.js.map +1 -0
  5. package/lib/browser/workspace-commands.d.ts +1 -0
  6. package/lib/browser/workspace-commands.d.ts.map +1 -1
  7. package/lib/browser/workspace-commands.js +15 -9
  8. package/lib/browser/workspace-commands.js.map +1 -1
  9. package/lib/browser/workspace-delete-handler.d.ts +9 -0
  10. package/lib/browser/workspace-delete-handler.d.ts.map +1 -1
  11. package/lib/browser/workspace-delete-handler.js +34 -1
  12. package/lib/browser/workspace-delete-handler.js.map +1 -1
  13. package/lib/browser/workspace-frontend-contribution.d.ts +21 -8
  14. package/lib/browser/workspace-frontend-contribution.d.ts.map +1 -1
  15. package/lib/browser/workspace-frontend-contribution.js +95 -17
  16. package/lib/browser/workspace-frontend-contribution.js.map +1 -1
  17. package/lib/browser/workspace-frontend-module.d.ts.map +1 -1
  18. package/lib/browser/workspace-frontend-module.js +1 -0
  19. package/lib/browser/workspace-frontend-module.js.map +1 -1
  20. package/lib/browser/workspace-schema-updater.d.ts.map +1 -1
  21. package/lib/browser/workspace-schema-updater.js +2 -0
  22. package/lib/browser/workspace-schema-updater.js.map +1 -1
  23. package/lib/browser/workspace-service.d.ts +10 -3
  24. package/lib/browser/workspace-service.d.ts.map +1 -1
  25. package/lib/browser/workspace-service.js +49 -16
  26. package/lib/browser/workspace-service.js.map +1 -1
  27. package/lib/common/utils.d.ts +10 -0
  28. package/lib/common/utils.d.ts.map +1 -1
  29. package/lib/common/utils.js +27 -1
  30. package/lib/common/utils.js.map +1 -1
  31. package/lib/node/default-workspace-server.d.ts +15 -2
  32. package/lib/node/default-workspace-server.d.ts.map +1 -1
  33. package/lib/node/default-workspace-server.js +26 -1
  34. package/lib/node/default-workspace-server.js.map +1 -1
  35. package/lib/node/workspace-backend-module.d.ts.map +1 -1
  36. package/lib/node/workspace-backend-module.js +3 -0
  37. package/lib/node/workspace-backend-module.js.map +1 -1
  38. package/package.json +6 -6
  39. package/src/browser/untitled-workspace-exit-dialog.ts +70 -0
  40. package/src/browser/workspace-commands.ts +16 -10
  41. package/src/browser/workspace-delete-handler.ts +42 -1
  42. package/src/browser/workspace-frontend-contribution.ts +101 -20
  43. package/src/browser/workspace-frontend-module.ts +2 -1
  44. package/src/browser/workspace-schema-updater.ts +2 -0
  45. package/src/browser/workspace-service.ts +54 -19
  46. package/src/common/utils.ts +19 -0
  47. package/src/node/default-workspace-server.ts +29 -5
  48. package/src/node/workspace-backend-module.ts +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/browser/workspace-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/browser/workspace-service.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,20 @@
15
15
  ********************************************************************************/
16
16
  import URI from '@theia/core/lib/common/uri';
17
17
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
18
+ import { FileStat } from '@theia/filesystem/lib/common/files';
18
19
  export declare const THEIA_EXT = "theia-workspace";
19
20
  export declare const VSCODE_EXT = "code-workspace";
20
21
  /**
21
22
  * @deprecated since 1.4.0 - because of https://github.com/eclipse-theia/theia/wiki/Coding-Guidelines#di-function-export, use `WorkspaceService.getUntitledWorkspace` instead
22
23
  */
23
24
  export declare function getTemporaryWorkspaceFileUri(envVariableServer: EnvVariablesServer): Promise<URI>;
25
+ export declare class CommonWorkspaceUtils {
26
+ /**
27
+ * Check if the file should be considered as a workspace file.
28
+ *
29
+ * Example: We should not try to read the contents of an .exe file.
30
+ */
31
+ isWorkspaceFile(candidate: FileStat | URI): boolean;
32
+ isUntitledWorkspace(candidate?: URI): boolean;
33
+ }
24
34
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAE3C;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAGtG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAE3C;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAGtG;AAED,qBACa,oBAAoB;IAC7B;;;;OAIG;IACH,eAAe,CAAC,SAAS,EAAE,QAAQ,GAAG,GAAG,GAAG,OAAO;IAKnD,mBAAmB,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO;CAGhD"}
@@ -14,10 +14,18 @@
14
14
  *
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
17
23
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.getTemporaryWorkspaceFileUri = exports.VSCODE_EXT = exports.THEIA_EXT = void 0;
24
+ exports.CommonWorkspaceUtils = exports.getTemporaryWorkspaceFileUri = exports.VSCODE_EXT = exports.THEIA_EXT = void 0;
19
25
  // TODO get rid of util files, replace with methods in a responsible class
20
26
  const uri_1 = require("@theia/core/lib/common/uri");
27
+ const inversify_1 = require("@theia/core/shared/inversify");
28
+ const files_1 = require("@theia/filesystem/lib/common/files");
21
29
  exports.THEIA_EXT = 'theia-workspace';
22
30
  exports.VSCODE_EXT = 'code-workspace';
23
31
  /**
@@ -28,4 +36,22 @@ async function getTemporaryWorkspaceFileUri(envVariableServer) {
28
36
  return new uri_1.default(configDirUri).resolve(`Untitled.${exports.THEIA_EXT}`);
29
37
  }
30
38
  exports.getTemporaryWorkspaceFileUri = getTemporaryWorkspaceFileUri;
39
+ let CommonWorkspaceUtils = class CommonWorkspaceUtils {
40
+ /**
41
+ * Check if the file should be considered as a workspace file.
42
+ *
43
+ * Example: We should not try to read the contents of an .exe file.
44
+ */
45
+ isWorkspaceFile(candidate) {
46
+ const uri = files_1.FileStat.is(candidate) ? candidate.resource : candidate;
47
+ return uri.path.ext === `.${exports.THEIA_EXT}` || uri.path.ext === `.${exports.VSCODE_EXT}`;
48
+ }
49
+ isUntitledWorkspace(candidate) {
50
+ return !!candidate && this.isWorkspaceFile(candidate) && candidate.path.base.startsWith('Untitled');
51
+ }
52
+ };
53
+ CommonWorkspaceUtils = __decorate([
54
+ inversify_1.injectable()
55
+ ], CommonWorkspaceUtils);
56
+ exports.CommonWorkspaceUtils = CommonWorkspaceUtils;
31
57
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,0EAA0E;AAE1E,oDAA6C;AAGhC,QAAA,SAAS,GAAG,iBAAiB,CAAC;AAC9B,QAAA,UAAU,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACI,KAAK,UAAU,4BAA4B,CAAC,iBAAqC;IACpF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,eAAe,EAAE,CAAC;IAC/D,OAAO,IAAI,aAAG,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,iBAAS,EAAE,CAAC,CAAC;AAClE,CAAC;AAHD,oEAGC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;AAElF,0EAA0E;AAE1E,oDAA6C;AAE7C,4DAA0D;AAC1D,8DAA8D;AAEjD,QAAA,SAAS,GAAG,iBAAiB,CAAC;AAC9B,QAAA,UAAU,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACI,KAAK,UAAU,4BAA4B,CAAC,iBAAqC;IACpF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,eAAe,EAAE,CAAC;IAC/D,OAAO,IAAI,aAAG,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,iBAAS,EAAE,CAAC,CAAC;AAClE,CAAC;AAHD,oEAGC;AAGD,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAC7B;;;;OAIG;IACH,eAAe,CAAC,SAAyB;QACrC,MAAM,GAAG,GAAG,gBAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,iBAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,kBAAU,EAAE,CAAC;IACjF,CAAC;IAED,mBAAmB,CAAC,SAAe;QAC/B,OAAO,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACxG,CAAC;CACJ,CAAA;AAdY,oBAAoB;IADhC,sBAAU,EAAE;GACA,oBAAoB,CAchC;AAdY,oDAAoB"}
@@ -15,20 +15,28 @@
15
15
  ********************************************************************************/
16
16
  /// <reference types="yargs" />
17
17
  import * as yargs from '@theia/core/shared/yargs';
18
+ import { BackendApplicationContribution } from '@theia/core/lib/node';
18
19
  import { CliContribution } from '@theia/core/lib/node/cli';
19
20
  import { Deferred } from '@theia/core/lib/common/promise-util';
20
- import { WorkspaceServer } from '../common';
21
+ import { WorkspaceServer, CommonWorkspaceUtils } from '../common';
21
22
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
22
23
  export declare class WorkspaceCliContribution implements CliContribution {
23
24
  workspaceRoot: Deferred<string | undefined>;
24
25
  configure(conf: yargs.Argv): void;
25
26
  setArguments(args: yargs.Arguments): void;
26
27
  }
27
- export declare class DefaultWorkspaceServer implements WorkspaceServer {
28
+ export declare class DefaultWorkspaceServer implements WorkspaceServer, BackendApplicationContribution {
28
29
  protected root: Deferred<string | undefined>;
30
+ /**
31
+ * Untitled workspaces that are not among the most recent N workspaces will be deleted on start. Increase this number to keep older files,
32
+ * lower it to delete stale untitled workspaces more aggressively.
33
+ */
34
+ protected untitledWorkspaceStaleThreshhold: number;
29
35
  protected readonly cliParams: WorkspaceCliContribution;
30
36
  protected readonly envServer: EnvVariablesServer;
37
+ protected readonly utils: CommonWorkspaceUtils;
31
38
  protected init(): Promise<void>;
39
+ onStart(): Promise<void>;
32
40
  protected getRoot(): Promise<string | undefined>;
33
41
  getMostRecentlyUsedWorkspace(): Promise<string | undefined>;
34
42
  setMostRecentlyUsedWorkspace(uri: string): Promise<void>;
@@ -48,6 +56,11 @@ export declare class DefaultWorkspaceServer implements WorkspaceServer {
48
56
  protected readRecentWorkspacePathsFromUserHome(): Promise<RecentWorkspacePathsData | undefined>;
49
57
  protected readJsonFromFile(fsPath: string): Promise<object | undefined>;
50
58
  protected getUserStoragePath(): Promise<string>;
59
+ /**
60
+ * Removes untitled workspaces that are not among the most recently used workspaces.
61
+ * Use the `untitledWorkspaceStaleThreshhold` to configure when to delete workspaces.
62
+ */
63
+ protected removeOldUntitledWorkspaces(): Promise<void>;
51
64
  }
52
65
  interface RecentWorkspacePathsData {
53
66
  recentRoots: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"default-workspace-server.d.ts","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAGlF,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAMlD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,qBACa,wBAAyB,YAAW,eAAe;IAE5D,aAAa,+BAAsC;IAEnD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAOjC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;CAkB5C;AAED,qBACa,sBAAuB,YAAW,eAAe;IAE1D,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAkB;IAG9D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;cAGjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAKrB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWtD,4BAA4B,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAe9C,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;cAIhD,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKrE;;;OAGG;cACa,eAAe,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;cAK9D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE;;OAEG;cACa,oCAAoC,IAAI,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;cAMrF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAQ7D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;CAIxD;AAED,UAAU,wBAAwB;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,kBAAU,wBAAwB,CAAC;IAC/B,SAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,wBAAwB,CAG7E;CACJ"}
1
+ {"version":3,"file":"default-workspace-server.d.ts","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAGlF,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,OAAO,EAAW,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,qBACa,wBAAyB,YAAW,eAAe;IAE5D,aAAa,+BAAsC;IAEnD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAOjC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;CAkB5C;AAED,qBACa,sBAAuB,YAAW,eAAe,EAAE,8BAA8B;IAE1F,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAkB;IAC9D;;;OAGG;IACH,SAAS,CAAC,gCAAgC,SAAM;IAGhD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;cAG/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAId,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWtD,4BAA4B,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAe9C,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;cAIhD,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKrE;;;OAGG;cACa,eAAe,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;cAK9D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE;;OAEG;cACa,oCAAoC,IAAI,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;cAMrF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAQ7D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrD;;;OAGG;cACa,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/D;AAED,UAAU,wBAAwB;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,kBAAU,wBAAwB,CAAC;IAC/B,SAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,wBAAwB,CAG7E;CACJ"}
@@ -31,6 +31,7 @@ const jsoncparser = require("jsonc-parser");
31
31
  const inversify_1 = require("@theia/core/shared/inversify");
32
32
  const node_1 = require("@theia/core/lib/node");
33
33
  const promise_util_1 = require("@theia/core/lib/common/promise-util");
34
+ const common_1 = require("../common");
34
35
  const env_variables_1 = require("@theia/core/lib/common/env-variables");
35
36
  let WorkspaceCliContribution = class WorkspaceCliContribution {
36
37
  constructor() {
@@ -68,11 +69,19 @@ exports.WorkspaceCliContribution = WorkspaceCliContribution;
68
69
  let DefaultWorkspaceServer = class DefaultWorkspaceServer {
69
70
  constructor() {
70
71
  this.root = new promise_util_1.Deferred();
72
+ /**
73
+ * Untitled workspaces that are not among the most recent N workspaces will be deleted on start. Increase this number to keep older files,
74
+ * lower it to delete stale untitled workspaces more aggressively.
75
+ */
76
+ this.untitledWorkspaceStaleThreshhold = 10;
71
77
  }
72
78
  async init() {
73
79
  const root = await this.getRoot();
74
80
  this.root.resolve(root);
75
81
  }
82
+ async onStart() {
83
+ await this.removeOldUntitledWorkspaces();
84
+ }
76
85
  async getRoot() {
77
86
  let root = await this.getWorkspaceURIFromCli();
78
87
  if (!root) {
@@ -109,7 +118,7 @@ let DefaultWorkspaceServer = class DefaultWorkspaceServer {
109
118
  data.recentRoots.forEach(element => {
110
119
  if (element.length > 0) {
111
120
  if (this.workspaceStillExist(element)) {
112
- listUri.push(element);
121
+ listUri.push(node_1.FileUri.fsPath(element));
113
122
  }
114
123
  }
115
124
  });
@@ -156,6 +165,18 @@ let DefaultWorkspaceServer = class DefaultWorkspaceServer {
156
165
  const configDirUri = await this.envServer.getConfigDirUri();
157
166
  return path.resolve(node_1.FileUri.fsPath(configDirUri), 'recentworkspace.json');
158
167
  }
168
+ /**
169
+ * Removes untitled workspaces that are not among the most recently used workspaces.
170
+ * Use the `untitledWorkspaceStaleThreshhold` to configure when to delete workspaces.
171
+ */
172
+ async removeOldUntitledWorkspaces() {
173
+ const recents = (await this.getRecentWorkspaces()).map(node_1.FileUri.fsPath);
174
+ const olderUntitledWorkspaces = recents.slice(this.untitledWorkspaceStaleThreshhold).filter(workspace => this.utils.isUntitledWorkspace(node_1.FileUri.create(workspace)));
175
+ await Promise.all(olderUntitledWorkspaces.map(workspace => fs.promises.unlink(node_1.FileUri.fsPath(workspace)).catch(() => { })));
176
+ if (olderUntitledWorkspaces.length > 0) {
177
+ await this.writeToUserHome({ recentRoots: await this.getRecentWorkspaces() });
178
+ }
179
+ }
159
180
  };
160
181
  __decorate([
161
182
  inversify_1.inject(WorkspaceCliContribution),
@@ -165,6 +186,10 @@ __decorate([
165
186
  inversify_1.inject(env_variables_1.EnvVariablesServer),
166
187
  __metadata("design:type", Object)
167
188
  ], DefaultWorkspaceServer.prototype, "envServer", void 0);
189
+ __decorate([
190
+ inversify_1.inject(common_1.CommonWorkspaceUtils),
191
+ __metadata("design:type", common_1.CommonWorkspaceUtils)
192
+ ], DefaultWorkspaceServer.prototype, "utils", void 0);
168
193
  __decorate([
169
194
  inversify_1.postConstruct(),
170
195
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"default-workspace-server.js","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-workspace-server.js","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAM/D,wBAWG"}
1
+ {"version":3,"file":"workspace-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAO/D,wBAaG"}
@@ -20,11 +20,14 @@ const common_1 = require("@theia/core/lib/common");
20
20
  const common_2 = require("../common");
21
21
  const default_workspace_server_1 = require("./default-workspace-server");
22
22
  const cli_1 = require("@theia/core/lib/node/cli");
23
+ const node_1 = require("@theia/core/lib/node");
23
24
  exports.default = new inversify_1.ContainerModule(bind => {
24
25
  bind(default_workspace_server_1.WorkspaceCliContribution).toSelf().inSingletonScope();
25
26
  bind(cli_1.CliContribution).toService(default_workspace_server_1.WorkspaceCliContribution);
26
27
  bind(default_workspace_server_1.DefaultWorkspaceServer).toSelf().inSingletonScope();
27
28
  bind(common_2.WorkspaceServer).toService(default_workspace_server_1.DefaultWorkspaceServer);
29
+ bind(node_1.BackendApplicationContribution).toService(common_2.WorkspaceServer);
30
+ bind(common_2.CommonWorkspaceUtils).toSelf().inSingletonScope();
28
31
  bind(common_1.ConnectionHandler).toDynamicValue(ctx => new common_1.JsonRpcConnectionHandler(common_2.workspacePath, () => ctx.container.get(common_2.WorkspaceServer))).inSingletonScope();
29
32
  });
30
33
  //# sourceMappingURL=workspace-backend-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-backend-module.js","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,4DAA+D;AAC/D,mDAAqF;AACrF,sCAA2D;AAC3D,yEAA8F;AAC9F,kDAA2D;AAE3D,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,mDAAwB,CAAC,CAAC;IAC1D,IAAI,CAAC,iDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,wBAAe,CAAC,CAAC,SAAS,CAAC,iDAAsB,CAAC,CAAC;IAExD,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,iCAAwB,CAAC,sBAAa,EAAE,GAAG,EAAE,CAC7C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAe,CAAC,CACrC,CACJ,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace-backend-module.js","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,4DAA+D;AAC/D,mDAAqF;AACrF,sCAAiF;AACjF,yEAA8F;AAC9F,kDAA2D;AAC3D,+CAAsE;AAEtE,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,mDAAwB,CAAC,CAAC;IAC1D,IAAI,CAAC,iDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,wBAAe,CAAC,CAAC,SAAS,CAAC,iDAAsB,CAAC,CAAC;IACxD,IAAI,CAAC,qCAA8B,CAAC,CAAC,SAAS,CAAC,wBAAe,CAAC,CAAC;IAChE,IAAI,CAAC,6BAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEvD,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,iCAAwB,CAAC,sBAAa,EAAE,GAAG,EAAE,CAC7C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAe,CAAC,CACrC,CACJ,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/workspace",
3
- "version": "1.22.0-next.7+ff1121f7f2b",
3
+ "version": "1.22.1",
4
4
  "description": "Theia - Workspace Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.22.0-next.7+ff1121f7f2b",
7
- "@theia/filesystem": "1.22.0-next.7+ff1121f7f2b",
8
- "@theia/variable-resolver": "1.22.0-next.7+ff1121f7f2b",
6
+ "@theia/core": "1.22.1",
7
+ "@theia/filesystem": "1.22.1",
8
+ "@theia/variable-resolver": "1.22.1",
9
9
  "ajv": "^6.5.3",
10
10
  "jsonc-parser": "^2.2.0",
11
11
  "moment": "2.24.0",
@@ -45,10 +45,10 @@
45
45
  "watch": "theiaext watch"
46
46
  },
47
47
  "devDependencies": {
48
- "@theia/ext-scripts": "1.21.0"
48
+ "@theia/ext-scripts": "1.22.1"
49
49
  },
50
50
  "nyc": {
51
51
  "extends": "../../configs/nyc.json"
52
52
  },
53
- "gitHead": "ff1121f7f2b42324ded29d8ef70838cb0941083d"
53
+ "gitHead": "49910aeaecf520a54b253db0215b28c2268bb2f3"
54
54
  }
@@ -0,0 +1,70 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2021 Ericsson and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { nls } from '@theia/core';
18
+ import { inject } from '@theia/core/shared/inversify';
19
+ import { AbstractDialog, Dialog, DialogProps, Message } from '@theia/core/lib/browser';
20
+
21
+ export class UntitledWorkspaceExitDialog extends AbstractDialog<UntitledWorkspaceExitDialog.Options> {
22
+ protected readonly dontSaveButton: HTMLButtonElement;
23
+ protected _value: UntitledWorkspaceExitDialog.Options = 'Cancel';
24
+
25
+ get value(): UntitledWorkspaceExitDialog.Options {
26
+ return this._value;
27
+ }
28
+
29
+ constructor(
30
+ @inject(DialogProps) protected readonly props: DialogProps
31
+ ) {
32
+ super(props);
33
+ const messageNode = document.createElement('div');
34
+ messageNode.textContent = nls.localizeByDefault('Save your workspace if you plan to open it again.');
35
+ this.contentNode.appendChild(messageNode);
36
+ this.dontSaveButton = this.createButton(nls.localizeByDefault(UntitledWorkspaceExitDialog.Values["Don't Save"]));
37
+ this.dontSaveButton.classList.add('secondary');
38
+ this.controlPanel.appendChild(this.dontSaveButton);
39
+ this.appendCloseButton(Dialog.CANCEL);
40
+ this.appendAcceptButton(nls.localizeByDefault(UntitledWorkspaceExitDialog.Values.Save));
41
+ }
42
+
43
+ protected onAfterAttach(msg: Message): void {
44
+ super.onAfterAttach(msg);
45
+ this.addAction(this.dontSaveButton, () => this.dontSave(), 'click');
46
+ }
47
+
48
+ protected addAcceptAction<K extends keyof HTMLElementEventMap>(element: HTMLElement, ...additionalEventTypes: K[]): void {
49
+ this.addAction(element, () => this.doSave(), 'click');
50
+ }
51
+
52
+ protected dontSave(): void {
53
+ this._value = UntitledWorkspaceExitDialog.Values["Don't Save"];
54
+ this.accept();
55
+ }
56
+
57
+ protected doSave(): void {
58
+ this._value = UntitledWorkspaceExitDialog.Values.Save;
59
+ this.accept();
60
+ }
61
+ }
62
+
63
+ export namespace UntitledWorkspaceExitDialog {
64
+ export const enum Values {
65
+ "Don't Save" = "Don't Save",
66
+ Cancel = 'Cancel',
67
+ Save = 'Save',
68
+ };
69
+ export type Options = keyof typeof Values;
70
+ }
@@ -331,6 +331,8 @@ export class WorkspaceCommandContribution implements CommandContribution {
331
331
  const workspaceRoot = this.workspaceService.getWorkspaceRootUri(uri);
332
332
  if (workspaceRoot) {
333
333
  return workspaceRoot.relative(uri);
334
+ } else {
335
+ return uri.path;
334
336
  }
335
337
  }).join(lineDelimiter);
336
338
  await this.clipboardService.writeText(text);
@@ -354,16 +356,7 @@ export class WorkspaceCommandContribution implements CommandContribution {
354
356
  const workspaceSavedBeforeAdding = this.workspaceService.saved;
355
357
  await this.addFolderToWorkspace(...uris);
356
358
  if (!workspaceSavedBeforeAdding) {
357
- const saveCommand = registry.getCommand(WorkspaceCommands.SAVE_WORKSPACE_AS.id);
358
- if (saveCommand && await new ConfirmDialog({
359
- title: nls.localize('theia/workspace/workspaceFolderAddedTitle', 'Folder added to Workspace'),
360
- msg: nls.localize('theia/workspace/workspaceFolderAdded',
361
- 'A workspace with multiple roots was created. Do you want to save your workspace configuration as a file?'),
362
- ok: Dialog.YES,
363
- cancel: Dialog.NO
364
- }).open()) {
365
- registry.executeCommand(saveCommand.id);
366
- }
359
+ this.saveWorkspaceWithPrompt(registry);
367
360
  }
368
361
  }
369
362
  });
@@ -542,6 +535,19 @@ export class WorkspaceCommandContribution implements CommandContribution {
542
535
  }
543
536
  }
544
537
 
538
+ async saveWorkspaceWithPrompt(registry: CommandRegistry): Promise<void> {
539
+ const saveCommand = registry.getCommand(WorkspaceCommands.SAVE_WORKSPACE_AS.id);
540
+ if (saveCommand && await new ConfirmDialog({
541
+ title: nls.localize('theia/workspace/workspaceFolderAddedTitle', 'Folder added to Workspace'),
542
+ msg: nls.localize('theia/workspace/workspaceFolderAdded',
543
+ 'A workspace with multiple roots was created. Do you want to save your workspace configuration as a file?'),
544
+ ok: Dialog.YES,
545
+ cancel: Dialog.NO
546
+ }).open()) {
547
+ return registry.executeCommand(saveCommand.id);
548
+ }
549
+ }
550
+
545
551
  protected areMultipleOpenHandlersPresent(openers: OpenHandler[], uri: URI): boolean {
546
552
  let count = 0;
547
553
  for (const opener of openers) {
@@ -23,6 +23,7 @@ import { WorkspaceUtils } from './workspace-utils';
23
23
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
24
24
  import { FileSystemPreferences } from '@theia/filesystem/lib/browser/filesystem-preferences';
25
25
  import { FileDeleteOptions, FileSystemProviderCapabilities } from '@theia/filesystem/lib/common/files';
26
+ import { nls } from '@theia/core/lib/common/nls';
26
27
 
27
28
  @injectable()
28
29
  export class WorkspaceDeleteHandler implements UriCommandHandler<URI[]> {
@@ -147,18 +148,58 @@ export class WorkspaceDeleteHandler implements UriCommandHandler<URI[]> {
147
148
  * Perform deletion of a given URI.
148
149
  *
149
150
  * @param uri URI of selected resource.
151
+ * @param options deletion options.
150
152
  */
151
153
  protected async delete(uri: URI, options: FileDeleteOptions): Promise<void> {
152
154
  try {
153
155
  await Promise.all([
154
156
  this.closeWithoutSaving(uri),
155
- this.fileService.delete(uri, options)
157
+ options.useTrash ? this.moveFileToTrash(uri, options) : this.deleteFilePermanently(uri, options)
156
158
  ]);
157
159
  } catch (e) {
158
160
  console.error(e);
159
161
  }
160
162
  }
161
163
 
164
+ protected async deleteFilePermanently(uri: URI, options: FileDeleteOptions): Promise<void> {
165
+ this.fileService.delete(uri, { ...options, useTrash: false });
166
+ }
167
+
168
+ protected async moveFileToTrash(uri: URI, options: FileDeleteOptions): Promise<void> {
169
+ try {
170
+ this.fileService.delete(uri, { ...options, useTrash: true });
171
+ } catch (error) {
172
+ console.error('Error deleting with trash:', error);
173
+ if (await this.confirmDeletePermanently(uri)) {
174
+ return this.deleteFilePermanently(uri, options);
175
+ }
176
+ }
177
+ }
178
+
179
+ /**
180
+ * Display dialog to confirm the permanent deletion of a file.
181
+ *
182
+ * @param uri URI of selected resource.
183
+ */
184
+ protected async confirmDeletePermanently(uri: URI): Promise<boolean> {
185
+ const title = nls.localize('theia/workspace/confirmDeletePermanently.title', 'Error deleting file');
186
+
187
+ const msg = document.createElement('div');
188
+
189
+ const question = document.createElement('p');
190
+ question.textContent = nls.localize('theia/workspace/confirmDeletePermanently.description',
191
+ 'Failed to delete "{0}" using the Trash. Do you want to permanently delete instead?',
192
+ uri.path.base);
193
+ msg.append(question);
194
+
195
+ const info = document.createElement('p');
196
+ info.textContent = nls.localize('theia/workspace/confirmDeletePermanently.solution', 'You can disable the use of Trash in the preferences.');
197
+ msg.append(info);
198
+
199
+ const response = await new ConfirmDialog({ title, msg }).open();
200
+ return response || false;
201
+ }
202
+
162
203
  /**
163
204
  * Close widget without saving changes.
164
205
  *