Rework opener api proposal

For #109277

- Add more explicit two phase structure to api
- Make opener pass along label when registered
This commit is contained in:
Matt Bierner
2021-01-12 16:14:20 -08:00
parent 6184addcd1
commit 47a135e715
7 changed files with 159 additions and 169 deletions

View File

@@ -801,20 +801,13 @@ export interface ExtHostUrlsShape {
}
export interface MainThreadUriOpenersShape extends IDisposable {
$registerUriOpener(handle: number, schemes: readonly string[], extensionId: ExtensionIdentifier): Promise<void>;
$registerUriOpener(handle: number, schemes: readonly string[], extensionId: ExtensionIdentifier, label: string): Promise<void>;
$unregisterUriOpener(handle: number): Promise<void>;
}
export interface ExtHostUriOpener {
readonly extensionId: ExtensionIdentifier;
readonly commandId: number;
readonly title: string;
}
export interface ExtHostUriOpenersShape {
$getOpenersForUri(uri: UriComponents, token: CancellationToken): Promise<{ cacheId: number, openers: ReadonlyArray<ExtHostUriOpener> }>;
$openUri(id: ChainedCacheId, uri: UriComponents): Promise<void>;
$releaseOpener(cacheId: number): void;
$getOpenersForUri(uri: UriComponents, token: CancellationToken): Promise<readonly number[]>;
$openUri(handle: number, context: { resolveUri: UriComponents, sourceUri: UriComponents }, token: CancellationToken): Promise<void>;
}
export interface ITextSearchComplete {