@codingame/monaco-vscode-extensions-service-override 25.1.2 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +7 -0
- package/package.json +3 -3
- package/vscode/src/vs/base/common/console.js +24 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +4 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +149 -84
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +20 -12
- package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +38 -21
- package/vscode/src/vs/platform/remote/common/managedSocket.js +7 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +200 -143
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +10 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +41 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +9 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +168 -115
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +11 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +42 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +170 -99
- package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +2 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +4 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +13 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +16 -19
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +127 -70
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +199 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +88 -73
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +16 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +10 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +14 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +52 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +78 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +75 -63
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +99 -91
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +93 -55
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +3 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +85 -60
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +49 -45
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +114 -72
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +4 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +381 -238
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +7 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +90 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +81 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +9 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +6 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +162 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +32 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +38 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +48 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +22 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +35 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +31 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +47 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +15 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +17 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +6 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +83 -66
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +250 -92
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +6 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +37 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +34 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +3 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +19 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +41 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +18 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +145 -145
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +19 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +176 -80
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +52 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +26 -24
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +106 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +83 -65
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +14 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +17 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +49 -38
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +10 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +38 -27
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +73 -43
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +17 -10
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +17 -11
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +107 -80
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +336 -175
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +126 -71
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +76 -54
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +343 -192
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +0 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +75 -68
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +135 -36
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +22 -18
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +14 -12
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +21 -9
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +48 -25
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.d.ts +24 -0
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +300 -0
|
@@ -14,14 +14,18 @@ import { deserializeWebviewMessage, serializeWebviewMessage } from '@codingame/m
|
|
|
14
14
|
|
|
15
15
|
var MainThreadWebviews_1;
|
|
16
16
|
let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
17
|
-
static {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
static {
|
|
18
|
+
MainThreadWebviews_1 = this;
|
|
19
|
+
}
|
|
20
|
+
static {
|
|
21
|
+
this.standardSupportedLinkSchemes = ( new Set([
|
|
22
|
+
Schemas.http,
|
|
23
|
+
Schemas.https,
|
|
24
|
+
Schemas.mailto,
|
|
25
|
+
Schemas.vscode,
|
|
26
|
+
"vscode-insider"
|
|
27
|
+
]));
|
|
28
|
+
}
|
|
25
29
|
constructor(context, _openerService, _productService) {
|
|
26
30
|
super();
|
|
27
31
|
this._openerService = _openerService;
|
|
@@ -31,7 +35,7 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
31
35
|
}
|
|
32
36
|
addWebview(handle, webview, options) {
|
|
33
37
|
if (( this._webviews.has(handle))) {
|
|
34
|
-
throw ( new Error(
|
|
38
|
+
throw ( new Error("Webview already registered"));
|
|
35
39
|
}
|
|
36
40
|
this._webviews.set(handle, webview);
|
|
37
41
|
this.hookupWebviewEventDelegate(handle, webview, options);
|
|
@@ -50,17 +54,22 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
50
54
|
if (!webview) {
|
|
51
55
|
return false;
|
|
52
56
|
}
|
|
53
|
-
const {
|
|
57
|
+
const {
|
|
58
|
+
message,
|
|
59
|
+
arrayBuffers
|
|
60
|
+
} = deserializeWebviewMessage(jsonMessage, buffers);
|
|
54
61
|
return webview.postMessage(message, arrayBuffers);
|
|
55
62
|
}
|
|
56
63
|
hookupWebviewEventDelegate(handle, webview, options) {
|
|
57
64
|
const disposables = ( new DisposableStore());
|
|
58
|
-
disposables.add(webview.onDidClickLink(
|
|
59
|
-
disposables.add(webview.onMessage(
|
|
65
|
+
disposables.add(webview.onDidClickLink(uri => this.onDidClickLink(handle, uri)));
|
|
66
|
+
disposables.add(webview.onMessage(message => {
|
|
60
67
|
const serialized = serializeWebviewMessage(message.message, options);
|
|
61
68
|
this._proxy.$onMessage(handle, serialized.message, ( new SerializableObjectWithBuffers(serialized.buffers)));
|
|
62
69
|
}));
|
|
63
|
-
disposables.add(
|
|
70
|
+
disposables.add(
|
|
71
|
+
webview.onMissingCsp(extension => this._proxy.$onMissingCsp(handle, extension.value))
|
|
72
|
+
);
|
|
64
73
|
disposables.add(webview.onDidDispose(() => {
|
|
65
74
|
disposables.dispose();
|
|
66
75
|
this._webviews.delete(handle);
|
|
@@ -69,7 +78,12 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
69
78
|
onDidClickLink(handle, link) {
|
|
70
79
|
const webview = this.getWebview(handle);
|
|
71
80
|
if (this.isSupportedLink(webview, ( URI.parse(link)))) {
|
|
72
|
-
this._openerService.open(link, {
|
|
81
|
+
this._openerService.open(link, {
|
|
82
|
+
fromUserGesture: true,
|
|
83
|
+
allowContributedOpeners: true,
|
|
84
|
+
allowCommands: Array.isArray(webview.contentOptions.enableCommandUris) || webview.contentOptions.enableCommandUris === true,
|
|
85
|
+
fromWorkspace: true
|
|
86
|
+
});
|
|
73
87
|
}
|
|
74
88
|
}
|
|
75
89
|
isSupportedLink(webview, link) {
|
|
@@ -99,23 +113,20 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
99
113
|
}
|
|
100
114
|
getWebviewResolvedFailedContent(viewType) {
|
|
101
115
|
return `<!DOCTYPE html>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
116
|
+
<html>
|
|
117
|
+
<head>
|
|
118
|
+
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
119
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'none';">
|
|
120
|
+
</head>
|
|
121
|
+
<body>${( localize(2561, "An error occurred while loading view: {0}", escape(viewType)))}</body>
|
|
122
|
+
</html>`;
|
|
109
123
|
}
|
|
110
124
|
};
|
|
111
|
-
MainThreadWebviews = MainThreadWebviews_1 = ( __decorate([
|
|
112
|
-
( __param(1, IOpenerService)),
|
|
113
|
-
( __param(2, IProductService))
|
|
114
|
-
], MainThreadWebviews));
|
|
125
|
+
MainThreadWebviews = MainThreadWebviews_1 = ( __decorate([( __param(1, IOpenerService)), ( __param(2, IProductService))], MainThreadWebviews));
|
|
115
126
|
function reviveWebviewExtension(extensionData) {
|
|
116
127
|
return {
|
|
117
128
|
id: extensionData.id,
|
|
118
|
-
location: URI.revive(extensionData.location)
|
|
129
|
+
location: URI.revive(extensionData.location)
|
|
119
130
|
};
|
|
120
131
|
}
|
|
121
132
|
function reviveWebviewContentOptions(webviewOptions) {
|
|
@@ -124,7 +135,7 @@ function reviveWebviewContentOptions(webviewOptions) {
|
|
|
124
135
|
allowForms: webviewOptions.enableForms,
|
|
125
136
|
enableCommandUris: webviewOptions.enableCommandUris,
|
|
126
137
|
localResourceRoots: Array.isArray(webviewOptions.localResourceRoots) ? ( webviewOptions.localResourceRoots.map(r => URI.revive(r))) : undefined,
|
|
127
|
-
portMapping: webviewOptions.portMapping
|
|
138
|
+
portMapping: webviewOptions.portMapping
|
|
128
139
|
};
|
|
129
140
|
}
|
|
130
141
|
|
|
@@ -25,7 +25,7 @@ let MainThreadWindow = class MainThreadWindow {
|
|
|
25
25
|
this.disposables.dispose();
|
|
26
26
|
}
|
|
27
27
|
registerNativeHandle() {
|
|
28
|
-
Event.latch(this.hostService.onDidChangeActiveWindow)(async
|
|
28
|
+
Event.latch(this.hostService.onDidChangeActiveWindow)(async windowId => {
|
|
29
29
|
const handle = await this.hostService.getNativeWindowHandle(windowId);
|
|
30
30
|
this.proxy.$onDidChangeActiveNativeWindowHandle(handle ? encodeBase64(handle) : undefined);
|
|
31
31
|
}, this, this.disposables);
|
|
@@ -33,7 +33,7 @@ let MainThreadWindow = class MainThreadWindow {
|
|
|
33
33
|
$getInitialState() {
|
|
34
34
|
return Promise.resolve({
|
|
35
35
|
isFocused: this.hostService.hasFocus,
|
|
36
|
-
isActive: this.userActivityService.isActive
|
|
36
|
+
isActive: this.userActivityService.isActive
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
async $openUri(uriComponents, uriString, options) {
|
|
@@ -41,14 +41,13 @@ let MainThreadWindow = class MainThreadWindow {
|
|
|
41
41
|
let target;
|
|
42
42
|
if (uriString && ( ( URI.parse(uriString)).toString()) === ( uri.toString())) {
|
|
43
43
|
target = uriString;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
44
|
+
} else {
|
|
46
45
|
target = uri;
|
|
47
46
|
}
|
|
48
47
|
return this.openerService.open(target, {
|
|
49
48
|
openExternal: true,
|
|
50
49
|
allowTunneling: options.allowTunneling,
|
|
51
|
-
allowContributedOpeners: options.allowContributedOpeners
|
|
50
|
+
allowContributedOpeners: options.allowContributedOpeners
|
|
52
51
|
});
|
|
53
52
|
}
|
|
54
53
|
async $asExternalUri(uriComponents, options) {
|
|
@@ -56,11 +55,6 @@ let MainThreadWindow = class MainThreadWindow {
|
|
|
56
55
|
return result.resolved;
|
|
57
56
|
}
|
|
58
57
|
};
|
|
59
|
-
MainThreadWindow = __decorate([
|
|
60
|
-
extHostNamedCustomer(MainContext.MainThreadWindow),
|
|
61
|
-
( __param(1, IHostService)),
|
|
62
|
-
( __param(2, IOpenerService)),
|
|
63
|
-
( __param(3, IUserActivityService))
|
|
64
|
-
], MainThreadWindow);
|
|
58
|
+
MainThreadWindow = __decorate([extHostNamedCustomer(MainContext.MainThreadWindow), ( __param(1, IHostService)), ( __param(2, IOpenerService)), ( __param(3, IUserActivityService))], MainThreadWindow);
|
|
65
59
|
|
|
66
60
|
export { MainThreadWindow };
|
|
@@ -17,7 +17,7 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
|
|
|
17
17
|
import { IPatternInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search";
|
|
18
18
|
import { ISearchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search.service";
|
|
19
19
|
import { IWorkspaceEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/workspaces/common/workspaceEditing.service";
|
|
20
|
-
import { ITextSearchComplete, MainThreadWorkspaceShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
|
|
20
|
+
import { ITextSearchComplete, MainThreadWorkspaceShape, ResourceTrustRequestOptionsDto } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
|
|
21
21
|
import { IEditSessionIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/editSessions.service";
|
|
22
22
|
import { ICanonicalUriService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/canonicalUri.service";
|
|
23
23
|
import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service";
|
|
@@ -61,9 +61,12 @@ export declare class MainThreadWorkspace implements MainThreadWorkspaceShape {
|
|
|
61
61
|
$lookupAuthorization(authInfo: AuthInfo): Promise<Credentials | undefined>;
|
|
62
62
|
$lookupKerberosAuthorization(url: string): Promise<string | undefined>;
|
|
63
63
|
$loadCertificates(): Promise<string[]>;
|
|
64
|
+
$requestResourceTrust(optionsDto: ResourceTrustRequestOptionsDto): Promise<boolean | undefined>;
|
|
64
65
|
$requestWorkspaceTrust(options?: WorkspaceTrustRequestOptions): Promise<boolean | undefined>;
|
|
66
|
+
$isResourceTrusted(resource: UriComponents): Promise<boolean>;
|
|
65
67
|
private isWorkspaceTrusted;
|
|
66
68
|
private _onDidGrantWorkspaceTrust;
|
|
69
|
+
private _onDidChangeWorkspaceTrustedFolders;
|
|
67
70
|
private registeredEditSessionProviders;
|
|
68
71
|
$registerEditSessionIdentityProvider(handle: number, scheme: string): void;
|
|
69
72
|
$unregisterEditSessionIdentityProvider(handle: number): void;
|
|
@@ -29,7 +29,24 @@ import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marsh
|
|
|
29
29
|
import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
30
30
|
|
|
31
31
|
let MainThreadWorkspace = class MainThreadWorkspace {
|
|
32
|
-
constructor(
|
|
32
|
+
constructor(
|
|
33
|
+
extHostContext,
|
|
34
|
+
_searchService,
|
|
35
|
+
_contextService,
|
|
36
|
+
_editSessionIdentityService,
|
|
37
|
+
_canonicalUriService,
|
|
38
|
+
_editorService,
|
|
39
|
+
_workspaceEditingService,
|
|
40
|
+
_notificationService,
|
|
41
|
+
_requestService,
|
|
42
|
+
_instantiationService,
|
|
43
|
+
_labelService,
|
|
44
|
+
_environmentService,
|
|
45
|
+
fileService,
|
|
46
|
+
_workspaceTrustManagementService,
|
|
47
|
+
_workspaceTrustRequestService,
|
|
48
|
+
_textFileService
|
|
49
|
+
) {
|
|
33
50
|
this._searchService = _searchService;
|
|
34
51
|
this._contextService = _contextService;
|
|
35
52
|
this._editSessionIdentityService = _editSessionIdentityService;
|
|
@@ -53,13 +70,15 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
53
70
|
const workspace = this._contextService.getWorkspace();
|
|
54
71
|
if (workspace.configuration && !isNative && !fileService.hasProvider(workspace.configuration)) {
|
|
55
72
|
this._proxy.$initializeWorkspace(this.getWorkspaceData(workspace), this.isWorkspaceTrusted());
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
73
|
+
} else {
|
|
74
|
+
this._contextService.getCompleteWorkspace().then(
|
|
75
|
+
workspace => this._proxy.$initializeWorkspace(this.getWorkspaceData(workspace), this.isWorkspaceTrusted())
|
|
76
|
+
);
|
|
59
77
|
}
|
|
60
78
|
this._contextService.onDidChangeWorkspaceFolders(this._onDidChangeWorkspace, this, this._toDispose);
|
|
61
79
|
this._contextService.onDidChangeWorkbenchState(this._onDidChangeWorkspace, this, this._toDispose);
|
|
62
80
|
this._workspaceTrustManagementService.onDidChangeTrust(this._onDidGrantWorkspaceTrust, this, this._toDispose);
|
|
81
|
+
this._workspaceTrustManagementService.onDidChangeTrustedFolders(this._onDidChangeWorkspaceTrustedFolders, this, this._toDispose);
|
|
63
82
|
}
|
|
64
83
|
dispose() {
|
|
65
84
|
this._toDispose.dispose();
|
|
@@ -69,8 +88,16 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
69
88
|
}
|
|
70
89
|
}
|
|
71
90
|
$updateWorkspaceFolders(extensionName, index, deleteCount, foldersToAdd) {
|
|
72
|
-
const workspaceFoldersToAdd = ( foldersToAdd.map(f => ({
|
|
73
|
-
|
|
91
|
+
const workspaceFoldersToAdd = ( foldersToAdd.map(f => ({
|
|
92
|
+
uri: URI.revive(f.uri),
|
|
93
|
+
name: f.name
|
|
94
|
+
})));
|
|
95
|
+
this._notificationService.status(
|
|
96
|
+
this.getStatusMessage(extensionName, workspaceFoldersToAdd.length, deleteCount),
|
|
97
|
+
{
|
|
98
|
+
hideAfter: 10 * 1000
|
|
99
|
+
}
|
|
100
|
+
);
|
|
74
101
|
return this._workspaceEditingService.updateFolders(index, deleteCount, workspaceFoldersToAdd, true);
|
|
75
102
|
}
|
|
76
103
|
getStatusMessage(extensionName, addCount, removeCount) {
|
|
@@ -79,11 +106,10 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
79
106
|
const wantsToDelete = removeCount > 0;
|
|
80
107
|
if (wantsToAdd && !wantsToDelete) {
|
|
81
108
|
if (addCount === 1) {
|
|
82
|
-
message = ( localize(
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
109
|
+
message = ( localize(2562, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
110
|
+
} else {
|
|
85
111
|
message = ( localize(
|
|
86
|
-
|
|
112
|
+
2563,
|
|
87
113
|
"Extension '{0}' added {1} folders to the workspace",
|
|
88
114
|
extensionName,
|
|
89
115
|
addCount
|
|
@@ -92,11 +118,10 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
92
118
|
}
|
|
93
119
|
else if (wantsToDelete && !wantsToAdd) {
|
|
94
120
|
if (removeCount === 1) {
|
|
95
|
-
message = ( localize(
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
121
|
+
message = ( localize(2564, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
122
|
+
} else {
|
|
98
123
|
message = ( localize(
|
|
99
|
-
|
|
124
|
+
2565,
|
|
100
125
|
"Extension '{0}' removed {1} folders from the workspace",
|
|
101
126
|
extensionName,
|
|
102
127
|
removeCount
|
|
@@ -104,7 +129,7 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
104
129
|
}
|
|
105
130
|
}
|
|
106
131
|
else {
|
|
107
|
-
message = ( localize(
|
|
132
|
+
message = ( localize(2566, "Extension '{0}' changed folders of the workspace", extensionName));
|
|
108
133
|
}
|
|
109
134
|
return message;
|
|
110
135
|
}
|
|
@@ -121,7 +146,8 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
121
146
|
folders: workspace.folders,
|
|
122
147
|
id: workspace.id,
|
|
123
148
|
name: this._labelService.getWorkspaceLabel(workspace),
|
|
124
|
-
transient: workspace.transient
|
|
149
|
+
transient: workspace.transient,
|
|
150
|
+
isAgentSessionsWorkspace: workspace.isAgentSessionsWorkspace
|
|
125
151
|
};
|
|
126
152
|
}
|
|
127
153
|
$startFileSearch(_includeFolder, options, token) {
|
|
@@ -142,14 +168,16 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
142
168
|
const workspace = this._contextService.getWorkspace();
|
|
143
169
|
const folders = folder ? [folder] : ( workspace.folders.map(folder => folder.uri));
|
|
144
170
|
const query = this._queryBuilder.text(pattern, folders, revive(options));
|
|
145
|
-
query._reason =
|
|
146
|
-
const onProgress =
|
|
171
|
+
query._reason = "startTextSearch";
|
|
172
|
+
const onProgress = p => {
|
|
147
173
|
if (p.results) {
|
|
148
174
|
this._proxy.$handleTextSearchResult(p, requestId);
|
|
149
175
|
}
|
|
150
176
|
};
|
|
151
177
|
const search = this._searchService.textSearch(query, token, onProgress).then(result => {
|
|
152
|
-
return {
|
|
178
|
+
return {
|
|
179
|
+
limitHit: result.limitHit
|
|
180
|
+
};
|
|
153
181
|
}, err => {
|
|
154
182
|
if (!isCancellationError(err)) {
|
|
155
183
|
return Promise.reject(err);
|
|
@@ -159,11 +187,13 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
159
187
|
return search;
|
|
160
188
|
}
|
|
161
189
|
$checkExists(folders, includes, token) {
|
|
162
|
-
return this._instantiationService.invokeFunction(
|
|
190
|
+
return this._instantiationService.invokeFunction(accessor => checkGlobFileExists(accessor, folders, includes, token));
|
|
163
191
|
}
|
|
164
192
|
async $save(uriComponents, options) {
|
|
165
193
|
const uri = URI.revive(uriComponents);
|
|
166
|
-
const editors = [...this._editorService.findEditors(uri, {
|
|
194
|
+
const editors = [...this._editorService.findEditors(uri, {
|
|
195
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
196
|
+
})];
|
|
167
197
|
const result = await this._editorService.save(editors, {
|
|
168
198
|
reason: SaveReason.EXPLICIT,
|
|
169
199
|
saveAs: options.saveAs,
|
|
@@ -175,12 +205,14 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
175
205
|
if (!result.success) {
|
|
176
206
|
return [];
|
|
177
207
|
}
|
|
178
|
-
return coalesce(( result.editors.map(
|
|
179
|
-
|
|
180
|
-
)));
|
|
208
|
+
return coalesce(( result.editors.map(editor => EditorResourceAccessor.getCanonicalUri(editor, {
|
|
209
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
210
|
+
}))));
|
|
181
211
|
}
|
|
182
212
|
$saveAll(includeUntitled) {
|
|
183
|
-
return this._editorService.saveAll({
|
|
213
|
+
return this._editorService.saveAll({
|
|
214
|
+
includeUntitled
|
|
215
|
+
}).then(res => res.success);
|
|
184
216
|
}
|
|
185
217
|
$resolveProxy(url) {
|
|
186
218
|
return this._requestService.resolveProxy(url);
|
|
@@ -194,15 +226,30 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
194
226
|
$loadCertificates() {
|
|
195
227
|
return this._requestService.loadCertificates();
|
|
196
228
|
}
|
|
229
|
+
$requestResourceTrust(optionsDto) {
|
|
230
|
+
const options = {
|
|
231
|
+
...optionsDto,
|
|
232
|
+
uri: URI.revive(optionsDto.uri)
|
|
233
|
+
};
|
|
234
|
+
return this._workspaceTrustRequestService.requestResourcesTrust(options);
|
|
235
|
+
}
|
|
197
236
|
$requestWorkspaceTrust(options) {
|
|
198
237
|
return this._workspaceTrustRequestService.requestWorkspaceTrust(options);
|
|
199
238
|
}
|
|
239
|
+
async $isResourceTrusted(resource) {
|
|
240
|
+
const uri = URI.revive(resource);
|
|
241
|
+
const trustInfo = await this._workspaceTrustManagementService.getUriTrustInfo(uri);
|
|
242
|
+
return trustInfo.trusted;
|
|
243
|
+
}
|
|
200
244
|
isWorkspaceTrusted() {
|
|
201
245
|
return this._workspaceTrustManagementService.isWorkspaceTrusted();
|
|
202
246
|
}
|
|
203
247
|
_onDidGrantWorkspaceTrust() {
|
|
204
248
|
this._proxy.$onDidGrantWorkspaceTrust();
|
|
205
249
|
}
|
|
250
|
+
_onDidChangeWorkspaceTrustedFolders() {
|
|
251
|
+
this._proxy.$onDidChangeWorkspaceTrustedFolders();
|
|
252
|
+
}
|
|
206
253
|
$registerEditSessionIdentityProvider(handle, scheme) {
|
|
207
254
|
const disposable = this._editSessionIdentityService.registerEditSessionIdentityProvider({
|
|
208
255
|
scheme: scheme,
|
|
@@ -250,23 +297,6 @@ let MainThreadWorkspace = class MainThreadWorkspace {
|
|
|
250
297
|
return this._textFileService.resolveEncoding(URI.revive(resource), options);
|
|
251
298
|
}
|
|
252
299
|
};
|
|
253
|
-
MainThreadWorkspace = __decorate([
|
|
254
|
-
extHostNamedCustomer(MainContext.MainThreadWorkspace),
|
|
255
|
-
( __param(1, ISearchService)),
|
|
256
|
-
( __param(2, IWorkspaceContextService)),
|
|
257
|
-
( __param(3, IEditSessionIdentityService)),
|
|
258
|
-
( __param(4, ICanonicalUriService)),
|
|
259
|
-
( __param(5, IEditorService)),
|
|
260
|
-
( __param(6, IWorkspaceEditingService)),
|
|
261
|
-
( __param(7, INotificationService)),
|
|
262
|
-
( __param(8, IRequestService)),
|
|
263
|
-
( __param(9, IInstantiationService)),
|
|
264
|
-
( __param(10, ILabelService)),
|
|
265
|
-
( __param(11, IEnvironmentService)),
|
|
266
|
-
( __param(12, IFileService)),
|
|
267
|
-
( __param(13, IWorkspaceTrustManagementService)),
|
|
268
|
-
( __param(14, IWorkspaceTrustRequestService)),
|
|
269
|
-
( __param(15, ITextFileService))
|
|
270
|
-
], MainThreadWorkspace);
|
|
300
|
+
MainThreadWorkspace = __decorate([extHostNamedCustomer(MainContext.MainThreadWorkspace), ( __param(1, ISearchService)), ( __param(2, IWorkspaceContextService)), ( __param(3, IEditSessionIdentityService)), ( __param(4, ICanonicalUriService)), ( __param(5, IEditorService)), ( __param(6, IWorkspaceEditingService)), ( __param(7, INotificationService)), ( __param(8, IRequestService)), ( __param(9, IInstantiationService)), ( __param(10, ILabelService)), ( __param(11, IEnvironmentService)), ( __param(12, IFileService)), ( __param(13, IWorkspaceTrustManagementService)), ( __param(14, IWorkspaceTrustRequestService)), ( __param(15, ITextFileService))], MainThreadWorkspace);
|
|
271
301
|
|
|
272
302
|
export { MainThreadWorkspace };
|
|
@@ -20,11 +20,11 @@ class DataTransferFileCache {
|
|
|
20
20
|
async resolveFileData(requestId, dataItemId) {
|
|
21
21
|
const files = this.dataTransferFiles.get(requestId);
|
|
22
22
|
if (!files) {
|
|
23
|
-
throw ( new Error(
|
|
23
|
+
throw ( new Error("No data transfer found"));
|
|
24
24
|
}
|
|
25
25
|
const file = files.find(file => file.id === dataItemId);
|
|
26
26
|
if (!file) {
|
|
27
|
-
throw ( new Error(
|
|
27
|
+
throw ( new Error("No matching file found in data transfer"));
|
|
28
28
|
}
|
|
29
29
|
return VSBuffer.wrap(await file.data());
|
|
30
30
|
}
|
|
@@ -14,13 +14,20 @@ import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workben
|
|
|
14
14
|
var CustomTextEditorModel_1;
|
|
15
15
|
let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorModel extends Disposable {
|
|
16
16
|
static async create(instantiationService, viewType, resource) {
|
|
17
|
-
return instantiationService.invokeFunction(async
|
|
17
|
+
return instantiationService.invokeFunction(async accessor => {
|
|
18
18
|
const textModelResolverService = accessor.get(ITextModelService);
|
|
19
19
|
const model = await textModelResolverService.createModelReference(resource);
|
|
20
20
|
return instantiationService.createInstance(CustomTextEditorModel_1, viewType, resource, model);
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
constructor(
|
|
23
|
+
constructor(
|
|
24
|
+
viewType,
|
|
25
|
+
_resource,
|
|
26
|
+
_model,
|
|
27
|
+
textFileService,
|
|
28
|
+
_labelService,
|
|
29
|
+
extensionService
|
|
30
|
+
) {
|
|
24
31
|
super();
|
|
25
32
|
this.viewType = viewType;
|
|
26
33
|
this._resource = _resource;
|
|
@@ -38,8 +45,12 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
|
|
|
38
45
|
this._register(_model);
|
|
39
46
|
this._textFileModel = this.textFileService.files.get(_resource);
|
|
40
47
|
if (this._textFileModel) {
|
|
41
|
-
this._register(
|
|
42
|
-
|
|
48
|
+
this._register(
|
|
49
|
+
this._textFileModel.onDidChangeOrphaned(() => this._onDidChangeOrphaned.fire())
|
|
50
|
+
);
|
|
51
|
+
this._register(
|
|
52
|
+
this._textFileModel.onDidChangeReadonly(() => this._onDidChangeReadonly.fire())
|
|
53
|
+
);
|
|
43
54
|
}
|
|
44
55
|
this._register(this.textFileService.files.onDidChangeDirty(e => {
|
|
45
56
|
if (isEqual(this.resource, e.resource)) {
|
|
@@ -49,7 +60,7 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
|
|
|
49
60
|
}));
|
|
50
61
|
this._register(extensionService.onWillStop(e => {
|
|
51
62
|
e.veto(true, ( localize(
|
|
52
|
-
|
|
63
|
+
6741,
|
|
53
64
|
"An extension provided text editor for '{0}' is still open that would close otherwise.",
|
|
54
65
|
this.name
|
|
55
66
|
)));
|
|
@@ -86,10 +97,6 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
|
|
|
86
97
|
return !!(await this.textFileService.saveAs(resource, targetResource, options));
|
|
87
98
|
}
|
|
88
99
|
};
|
|
89
|
-
CustomTextEditorModel = CustomTextEditorModel_1 = ( __decorate([
|
|
90
|
-
( __param(3, ITextFileService)),
|
|
91
|
-
( __param(4, ILabelService)),
|
|
92
|
-
( __param(5, IExtensionService))
|
|
93
|
-
], CustomTextEditorModel));
|
|
100
|
+
CustomTextEditorModel = CustomTextEditorModel_1 = ( __decorate([( __param(3, ITextFileService)), ( __param(4, ILabelService)), ( __param(5, IExtensionService))], CustomTextEditorModel));
|
|
94
101
|
|
|
95
102
|
export { CustomTextEditorModel };
|
|
@@ -9,8 +9,12 @@ import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
9
9
|
|
|
10
10
|
var ContributedExternalUriOpenersStore_1;
|
|
11
11
|
let ContributedExternalUriOpenersStore = class ContributedExternalUriOpenersStore extends Disposable {
|
|
12
|
-
static {
|
|
13
|
-
|
|
12
|
+
static {
|
|
13
|
+
ContributedExternalUriOpenersStore_1 = this;
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.STORAGE_ID = "externalUriOpeners";
|
|
17
|
+
}
|
|
14
18
|
constructor(storageService, _extensionService) {
|
|
15
19
|
super();
|
|
16
20
|
this._extensionService = _extensionService;
|
|
@@ -19,12 +23,18 @@ let ContributedExternalUriOpenersStore = class ContributedExternalUriOpenersStor
|
|
|
19
23
|
this._mementoObject = this._memento.getMemento(StorageScope.PROFILE, StorageTarget.MACHINE);
|
|
20
24
|
for (const [id, value] of Object.entries(this._mementoObject || {})) {
|
|
21
25
|
if (value) {
|
|
22
|
-
this.add(id, value.extensionId, {
|
|
26
|
+
this.add(id, value.extensionId, {
|
|
27
|
+
isCurrentlyRegistered: false
|
|
28
|
+
});
|
|
23
29
|
}
|
|
24
30
|
}
|
|
25
31
|
this.invalidateOpenersOnExtensionsChanged();
|
|
26
|
-
this._register(
|
|
27
|
-
|
|
32
|
+
this._register(
|
|
33
|
+
this._extensionService.onDidChangeExtensions(() => this.invalidateOpenersOnExtensionsChanged())
|
|
34
|
+
);
|
|
35
|
+
this._register(
|
|
36
|
+
this._extensionService.onDidChangeExtensionsStatus(() => this.invalidateOpenersOnExtensionsChanged())
|
|
37
|
+
);
|
|
28
38
|
}
|
|
29
39
|
didRegisterOpener(id, extensionId) {
|
|
30
40
|
this.add(id, extensionId, {
|
|
@@ -63,8 +73,7 @@ let ContributedExternalUriOpenersStore = class ContributedExternalUriOpenersStor
|
|
|
63
73
|
this.delete(id);
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
76
|
+
} else {
|
|
68
77
|
this.delete(id);
|
|
69
78
|
}
|
|
70
79
|
}
|
|
@@ -79,9 +88,6 @@ let ContributedExternalUriOpenersStore = class ContributedExternalUriOpenersStor
|
|
|
79
88
|
updateContributedOpeners(ids, descriptions);
|
|
80
89
|
}
|
|
81
90
|
};
|
|
82
|
-
ContributedExternalUriOpenersStore = ContributedExternalUriOpenersStore_1 = ( __decorate([
|
|
83
|
-
( __param(0, IStorageService)),
|
|
84
|
-
( __param(1, IExtensionService))
|
|
85
|
-
], ContributedExternalUriOpenersStore));
|
|
91
|
+
ContributedExternalUriOpenersStore = ContributedExternalUriOpenersStore_1 = ( __decorate([( __param(0, IStorageService)), ( __param(1, IExtensionService))], ContributedExternalUriOpenersStore));
|
|
86
92
|
|
|
87
93
|
export { ContributedExternalUriOpenersStore };
|