mirror of
https://github.com/Microsoft/vscode
synced 2024-09-18 01:58:27 +00:00
Respect viewtype for reopen with in notebooks (#120101)
* Respect viewtype for reopen with in notebooks * Switch to using a ternary
This commit is contained in:
parent
3e0f2f1c6e
commit
7c8da70fd0
|
@ -480,15 +480,17 @@ export class NotebookService extends Disposable implements INotebookService, IEd
|
|||
});
|
||||
}
|
||||
|
||||
async withNotebookDataProvider(resource: URI): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo> {
|
||||
const [first] = this._notebookProviderInfoStore.getContributedNotebook(resource);
|
||||
if (!first) {
|
||||
async withNotebookDataProvider(resource: URI, viewType?: string): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo> {
|
||||
const providers = this._notebookProviderInfoStore.getContributedNotebook(resource);
|
||||
// If we have a viewtype specified we want that data provider, as the resource won't always map correctly
|
||||
const selected = viewType ? providers.find(p => p.id === viewType) : providers[0];
|
||||
if (!selected) {
|
||||
throw new Error(`NO contribution for resource: '${resource.toString()}'`);
|
||||
}
|
||||
await this.canResolve(first.id);
|
||||
const result = this._notebookProviders.get(first.id);
|
||||
await this.canResolve(selected.id);
|
||||
const result = this._notebookProviders.get(selected.id);
|
||||
if (!result) {
|
||||
throw new Error(`NO provider registered for view type: '${first.id}'`);
|
||||
throw new Error(`NO provider registered for view type: '${selected.id}'`);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ class NotebookModelReferenceCollection extends ReferenceCollection<Promise<IReso
|
|||
|
||||
protected async createReferencedObject(key: string, viewType: string): Promise<IResolvedNotebookEditorModel> {
|
||||
const uri = URI.parse(key);
|
||||
const info = await this._notebookService.withNotebookDataProvider(uri);
|
||||
const info = await this._notebookService.withNotebookDataProvider(uri, viewType);
|
||||
|
||||
let result: IResolvedNotebookEditorModel;
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ export interface INotebookService {
|
|||
|
||||
registerNotebookController(viewType: string, extensionData: NotebookExtensionDescription, controller: IMainNotebookController): IDisposable;
|
||||
registerNotebookSerializer(viewType: string, extensionData: NotebookExtensionDescription, serializer: INotebookSerializer): IDisposable;
|
||||
withNotebookDataProvider(resource: URI): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo>;
|
||||
withNotebookDataProvider(resource: URI, viewType?: string): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo>;
|
||||
|
||||
getMimeTypeInfo(textModel: NotebookTextModel, output: IOutputDto): readonly IOrderedMimeType[];
|
||||
|
||||
|
|
Loading…
Reference in a new issue