@@ -73,14 +73,6 @@ export interface IExtensionApiFactory {
7373 ( extension : IExtensionDescription , registry : ExtensionDescriptionRegistry , configProvider : ExtHostConfigProvider ) : typeof vscode ;
7474}
7575
76- function proposedApiFunction < T > ( extension : IExtensionDescription , fn : T ) : T {
77- if ( extension . enableProposedApi ) {
78- return fn ;
79- } else {
80- return throwProposedApiError . bind ( null , extension ) as any as T ;
81- }
82- }
83-
8476/**
8577 * This method instantiates and returns the extension API surface
8678 */
@@ -206,7 +198,8 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
206198 } ) ;
207199 } ) ;
208200 } ,
209- registerDiffInformationCommand : proposedApiFunction ( extension , ( id : string , callback : ( diff : vscode . LineChange [ ] , ...args : any [ ] ) => any , thisArg ?: any ) : vscode . Disposable => {
201+ registerDiffInformationCommand : ( id : string , callback : ( diff : vscode . LineChange [ ] , ...args : any [ ] ) => any , thisArg ?: any ) : vscode . Disposable => {
202+ checkProposedApiEnabled ( extension ) ;
210203 return extHostCommands . registerCommand ( true , id , async ( ...args : any [ ] ) : Promise < any > => {
211204 const activeTextEditor = extHostEditors . getActiveTextEditor ( ) ;
212205 if ( ! activeTextEditor ) {
@@ -217,7 +210,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
217210 const diff = await extHostEditors . getDiffInformation ( activeTextEditor . id ) ;
218211 callback . apply ( thisArg , [ diff , ...args ] ) ;
219212 } ) ;
220- } ) ,
213+ } ,
221214 executeCommand < T > ( id : string , ...args : any [ ] ) : Thenable < T > {
222215 return extHostCommands . executeCommand < T > ( id , ...args ) ;
223216 } ,
@@ -530,9 +523,10 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
530523 registerWebviewPanelSerializer : ( viewType : string , serializer : vscode . WebviewPanelSerializer ) => {
531524 return extHostWebviews . registerWebviewPanelSerializer ( viewType , serializer ) ;
532525 } ,
533- registerDecorationProvider : proposedApiFunction ( extension , ( provider : vscode . DecorationProvider ) => {
526+ registerDecorationProvider ( provider : vscode . DecorationProvider ) {
527+ checkProposedApiEnabled ( extension ) ;
534528 return extHostDecorations . registerDecorationProvider ( provider , extension . identifier ) ;
535- } ) ,
529+ } ,
536530 registerUriHandler ( handler : vscode . UriHandler ) {
537531 return extHostUrls . registerUriHandler ( extension . identifier , handler ) ;
538532 } ,
@@ -667,24 +661,30 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
667661 get fs ( ) {
668662 return extHostFileSystem . fileSystem ;
669663 } ,
670- registerFileSearchProvider : proposedApiFunction ( extension , ( scheme : string , provider : vscode . FileSearchProvider ) => {
664+ registerFileSearchProvider : ( scheme : string , provider : vscode . FileSearchProvider ) => {
665+ checkProposedApiEnabled ( extension ) ;
671666 return extHostSearch . registerFileSearchProvider ( scheme , provider ) ;
672- } ) ,
673- registerTextSearchProvider : proposedApiFunction ( extension , ( scheme : string , provider : vscode . TextSearchProvider ) => {
667+ } ,
668+ registerTextSearchProvider : ( scheme : string , provider : vscode . TextSearchProvider ) => {
669+ checkProposedApiEnabled ( extension ) ;
674670 return extHostSearch . registerTextSearchProvider ( scheme , provider ) ;
675- } ) ,
676- registerRemoteAuthorityResolver : proposedApiFunction ( extension , ( authorityPrefix : string , resolver : vscode . RemoteAuthorityResolver ) => {
671+ } ,
672+ registerRemoteAuthorityResolver : ( authorityPrefix : string , resolver : vscode . RemoteAuthorityResolver ) => {
673+ checkProposedApiEnabled ( extension ) ;
677674 return extensionService . registerRemoteAuthorityResolver ( authorityPrefix , resolver ) ;
678- } ) ,
679- registerResourceLabelFormatter : proposedApiFunction ( extension , ( formatter : vscode . ResourceLabelFormatter ) => {
675+ } ,
676+ registerResourceLabelFormatter : ( formatter : vscode . ResourceLabelFormatter ) => {
677+ checkProposedApiEnabled ( extension ) ;
680678 return extHostLabelService . $registerResourceLabelFormatter ( formatter ) ;
681- } ) ,
682- onDidRenameFile : proposedApiFunction ( extension , ( listener : ( e : vscode . FileRenameEvent ) => any , thisArg ?: any , disposables ?: vscode . Disposable [ ] ) => {
679+ } ,
680+ onDidRenameFile : ( listener : ( e : vscode . FileRenameEvent ) => any , thisArg ?: any , disposables ?: vscode . Disposable [ ] ) => {
681+ checkProposedApiEnabled ( extension ) ;
683682 return extHostFileSystemEvent . onDidRenameFile ( listener , thisArg , disposables ) ;
684- } ) ,
685- onWillRenameFile : proposedApiFunction ( extension , ( listener : ( e : vscode . FileWillRenameEvent ) => any , thisArg ?: any , disposables ?: vscode . Disposable [ ] ) => {
683+ } ,
684+ onWillRenameFile : ( listener : ( e : vscode . FileWillRenameEvent ) => any , thisArg ?: any , disposables ?: vscode . Disposable [ ] ) => {
685+ checkProposedApiEnabled ( extension ) ;
686686 return extHostFileSystemEvent . getOnWillRenameFileEvent ( extension ) ( listener , thisArg , disposables ) ;
687- } )
687+ }
688688 } ;
689689
690690 // namespace: scm
0 commit comments