@theia/plugin 1.38.0-next.27 → 1.38.0-next.38

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/plugin",
3
- "version": "1.38.0-next.27+39dfc8ca1",
3
+ "version": "1.38.0-next.38+726092e58",
4
4
  "description": "Theia - Plugin API",
5
5
  "types": "./src/theia.d.ts",
6
6
  "publishConfig": {
@@ -32,5 +32,5 @@
32
32
  "nyc": {
33
33
  "extends": "../../configs/nyc.json"
34
34
  },
35
- "gitHead": "39dfc8ca1294b972c693e5c3b31f5f6685238d10"
35
+ "gitHead": "726092e58ba2fb863f387067703c28c306206636"
36
36
  }
@@ -684,29 +684,6 @@ export module '@theia/plugin' {
684
684
  }
685
685
  // #endregion
686
686
 
687
- // #region SessionIdentityProvider
688
- export namespace workspace {
689
- /**
690
- *
691
- * @param scheme The URI scheme that this provider can provide edit session identities for.
692
- * @param provider A provider which can convert URIs for workspace folders of scheme @param scheme to
693
- * an edit session identifier which is stable across machines. This enables edit sessions to be resolved.
694
- */
695
- export function registerEditSessionIdentityProvider(scheme: string, provider: EditSessionIdentityProvider): Disposable;
696
- }
697
-
698
- export interface EditSessionIdentityProvider {
699
- /**
700
- *
701
- * @param workspaceFolder The workspace folder to provide an edit session identity for.
702
- * @param token A cancellation token for the request.
703
- * @returns An string representing the edit session identity for the requested workspace folder.
704
- */
705
- provideEditSessionIdentity(workspaceFolder: WorkspaceFolder, token: CancellationToken): ProviderResult<string>;
706
- }
707
-
708
- // #endregion
709
-
710
687
  // #region ProfileContentHandler
711
688
 
712
689
  export interface ProfileContentHandler {
package/src/theia.d.ts CHANGED
@@ -23,6 +23,7 @@
23
23
  import './theia-extra';
24
24
  import './theia-proposed';
25
25
  import './theia.proposed.externalUriOpener';
26
+ import './vscode.proposed.editSessionIdentityProvider';
26
27
 
27
28
  /* eslint-disable @typescript-eslint/no-explicit-any */
28
29
  /* eslint-disable max-len */
@@ -0,0 +1,91 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2023 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
+ // Copied from: https://github.com/microsoft/vscode/blob/1.77.0/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts
18
+ // and slightly adapted to work in Theia
19
+
20
+ /*---------------------------------------------------------------------------------------------
21
+ * Copyright (c) Microsoft Corporation. All rights reserved.
22
+ * Licensed under the MIT License. See License.txt in the project root for license information.
23
+ *--------------------------------------------------------------------------------------------*/
24
+
25
+ export module '@theia/plugin' {
26
+
27
+ // https://github.com/microsoft/vscode/issues/157734
28
+
29
+ export namespace workspace {
30
+ /**
31
+ * An event that is emitted when an edit session identity is about to be requested.
32
+ */
33
+ export const onWillCreateEditSessionIdentity: Event<EditSessionIdentityWillCreateEvent>;
34
+
35
+ /**
36
+ *
37
+ * @param scheme The URI scheme that this provider can provide edit session identities for.
38
+ * @param provider A provider which can convert URIs for workspace folders of scheme @param scheme to
39
+ * an edit session identifier which is stable across machines. This enables edit sessions to be resolved.
40
+ */
41
+ export function registerEditSessionIdentityProvider(scheme: string, provider: EditSessionIdentityProvider): Disposable;
42
+ }
43
+
44
+ export interface EditSessionIdentityProvider {
45
+ /**
46
+ *
47
+ * @param workspaceFolder The workspace folder to provide an edit session identity for.
48
+ * @param token A cancellation token for the request.
49
+ * @returns A string representing the edit session identity for the requested workspace folder.
50
+ */
51
+ provideEditSessionIdentity(workspaceFolder: WorkspaceFolder, token: CancellationToken): ProviderResult<string>;
52
+
53
+ /**
54
+ *
55
+ * @param identity1 An edit session identity.
56
+ * @param identity2 A second edit session identity to compare to @param identity1.
57
+ * @param token A cancellation token for the request.
58
+ * @returns An {@link EditSessionIdentityMatch} representing the edit session identity match confidence for the provided identities.
59
+ */
60
+ provideEditSessionIdentityMatch(identity1: string, identity2: string, token: CancellationToken): ProviderResult<EditSessionIdentityMatch>;
61
+ }
62
+
63
+ export enum EditSessionIdentityMatch {
64
+ Complete = 100,
65
+ Partial = 50,
66
+ None = 0
67
+ }
68
+
69
+ export interface EditSessionIdentityWillCreateEvent {
70
+
71
+ /**
72
+ * A cancellation token.
73
+ */
74
+ readonly token: CancellationToken;
75
+
76
+ /**
77
+ * The workspace folder to create an edit session identity for.
78
+ */
79
+ readonly workspaceFolder: WorkspaceFolder;
80
+
81
+ /**
82
+ * Allows to pause the event until the provided thenable resolves.
83
+ *
84
+ * *Note:* This function can only be called during event dispatch.
85
+ *
86
+ * @param thenable A thenable that delays saving.
87
+ */
88
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
+ waitUntil(thenable: Thenable<any>): void;
90
+ }
91
+ }