Changes DocumentSelector to scheme and hooks it up

This commit is contained in:
Eric Amodio
2020-02-10 10:41:30 -05:00
parent 88146d9a54
commit 1e8214144d
5 changed files with 24 additions and 8 deletions

View File

@@ -767,9 +767,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
return extHostTunnelService.onDidChangeTunnels(listener, thisArg, disposables);
},
registerTimelineProvider: (scheme: string, provider: vscode.TimelineProvider) => {
registerTimelineProvider: (scheme: string | string[], provider: vscode.TimelineProvider) => {
checkProposedApiEnabled(extension);
return extHostTimeline.registerTimelineProvider(provider, extension.identifier, extHostCommands.converter);
return extHostTimeline.registerTimelineProvider(scheme, provider, extension.identifier, extHostCommands.converter);
}
};

View File

@@ -39,7 +39,7 @@ export class ExtHostTimeline implements IExtHostTimeline {
return provider?.provideTimeline(URI.revive(uri), token) ?? [];
}
registerTimelineProvider(provider: vscode.TimelineProvider, extensionId: ExtensionIdentifier, commandConverter: CommandsConverter): IDisposable {
registerTimelineProvider(scheme: string | string[], provider: vscode.TimelineProvider, extensionId: ExtensionIdentifier, commandConverter: CommandsConverter): IDisposable {
const timelineDisposables = new DisposableStore();
const convertTimelineItem = this.convertTimelineItem(provider.id, commandConverter, timelineDisposables);
@@ -51,6 +51,7 @@ export class ExtHostTimeline implements IExtHostTimeline {
return this.registerTimelineProviderCore({
...provider,
scheme: scheme,
onDidChange: undefined,
async provideTimeline(uri: URI, token: CancellationToken) {
timelineDisposables.clear();
@@ -116,7 +117,8 @@ export class ExtHostTimeline implements IExtHostTimeline {
this._proxy.$registerTimelineProvider({
id: provider.id,
label: provider.label
label: provider.label,
scheme: provider.scheme
});
this._providers.set(provider.id, provider);