Add close to tab model

This commit is contained in:
Logan Ramos
2021-09-24 15:53:32 -04:00
parent a5832d17f9
commit 7800296d17
5 changed files with 54 additions and 0 deletions

View File

@@ -639,6 +639,7 @@ export interface ExtHostEditorInsetsShape {
export interface MainThreadEditorTabsShape extends IDisposable {
// manage tabs: move, close, rearrange etc
$moveTab(tab: IEditorTabDto, index: number, viewColumn: EditorGroupColumn): void;
$closeTab(tab: IEditorTabDto): Promise<void>;
}
export interface IEditorTabDto {

View File

@@ -22,6 +22,7 @@ export interface IEditorTab {
isActive: boolean;
additionalResourcesAndViewIds: { resource?: vscode.Uri, viewId?: string }[];
move(index: number, viewColumn: ViewColumn): Promise<void>;
close(): Promise<void>;
}
export interface IExtHostEditorTabs extends IExtHostEditorTabsShape {
@@ -78,6 +79,11 @@ export class ExtHostEditorTabs implements IExtHostEditorTabs {
await raceTimeout(Event.toPromise(this._onDidChangeTabs.event), 1000);
return;
},
close: async () => {
await this._proxy.$closeTab(dto);
await raceTimeout(Event.toPromise(this._onDidChangeTabs.event), 1000);
return;
}
});
});
this._tabs = this._tabs.sort((t1, t2) => {