Skip to content

Commit 2e0f560

Browse files
committed
move fsChunks into it own proposal file, microsoft#131165
1 parent 98550aa commit 2e0f560

File tree

5 files changed

+23
-17
lines changed

5 files changed

+23
-17
lines changed

src/vs/workbench/api/common/extHost.api.impl.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
914914
return extHostTask.registerTaskProvider(extension, type, provider);
915915
},
916916
registerFileSystemProvider(scheme, provider, options) {
917-
return extHostFileSystem.registerFileSystemProvider(extension.identifier, scheme, provider, options);
917+
return extHostFileSystem.registerFileSystemProvider(extension, scheme, provider, options);
918918
},
919919
get fs() {
920920
return extHostConsumerFileSystem.value;

src/vs/workbench/api/common/extHostFileSystem.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import { State, StateMachine, LinkComputer, Edge } from 'vs/editor/common/modes/
1515
import { commonPrefixLength } from 'vs/base/common/strings';
1616
import { CharCode } from 'vs/base/common/charCode';
1717
import { VSBuffer } from 'vs/base/common/buffer';
18-
import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
18+
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
19+
import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
1920

2021
class FsLinkProvider {
2122

@@ -133,7 +134,7 @@ export class ExtHostFileSystem implements ExtHostFileSystemShape {
133134
}
134135
}
135136

136-
registerFileSystemProvider(extension: ExtensionIdentifier, scheme: string, provider: vscode.FileSystemProvider, options: { isCaseSensitive?: boolean, isReadonly?: boolean } = {}) {
137+
registerFileSystemProvider(extension: IExtensionDescription, scheme: string, provider: vscode.FileSystemProvider, options: { isCaseSensitive?: boolean, isReadonly?: boolean } = {}) {
137138

138139
if (this._registeredSchemes.has(scheme)) {
139140
throw new Error(`a provider for the scheme '${scheme}' is already registered`);
@@ -160,11 +161,12 @@ export class ExtHostFileSystem implements ExtHostFileSystemShape {
160161
if (typeof provider.open === 'function' && typeof provider.close === 'function'
161162
&& typeof provider.read === 'function' && typeof provider.write === 'function'
162163
) {
164+
checkProposedApiEnabled(extension, 'fsChunks');
163165
capabilities += files.FileSystemProviderCapabilities.FileOpenReadWriteClose;
164166
}
165167

166168
this._proxy.$registerFileSystemProvider(handle, scheme, capabilities).catch(err => {
167-
console.error(`FAILED to register filesystem provider of ${extension.value}-extension for the scheme ${scheme}`);
169+
console.error(`FAILED to register filesystem provider of ${extension.identifier.value}-extension for the scheme ${scheme}`);
168170
console.error(err);
169171
});
170172

src/vs/workbench/services/extensions/common/extensionsApiProposals.ts

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
export const allApiProposals = Object.freeze({
99
editorInsets: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts',
10+
fsChunks: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts',
1011
languageStatus: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatus.d.ts'
1112
});
1213
export type ApiProposalName = keyof typeof allApiProposals;

src/vscode-dts/vscode.proposed.d.ts

-13
Original file line numberDiff line numberDiff line change
@@ -267,19 +267,6 @@ declare module 'vscode' {
267267

268268
//#endregion
269269

270-
271-
272-
//#region fsChunks: https://github.com/microsoft/vscode/issues/84515
273-
274-
export interface FileSystemProvider {
275-
open?(resource: Uri, options: { create: boolean; }): number | Thenable<number>;
276-
close?(fd: number): void | Thenable<void>;
277-
read?(fd: number, pos: number, data: Uint8Array, offset: number, length: number): number | Thenable<number>;
278-
write?(fd: number, pos: number, data: Uint8Array, offset: number, length: number): number | Thenable<number>;
279-
}
280-
281-
//#endregion
282-
283270
//#region textSearchProvider: https://github.com/microsoft/vscode/issues/59921
284271

285272
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
declare module 'vscode' {
7+
8+
// https://github.com/microsoft/vscode/issues/84515
9+
10+
export interface FileSystemProvider {
11+
open?(resource: Uri, options: { create: boolean; }): number | Thenable<number>;
12+
close?(fd: number): void | Thenable<void>;
13+
read?(fd: number, pos: number, data: Uint8Array, offset: number, length: number): number | Thenable<number>;
14+
write?(fd: number, pos: number, data: Uint8Array, offset: number, length: number): number | Thenable<number>;
15+
}
16+
}

0 commit comments

Comments
 (0)