Add active editor to editor tabs and use in variable resolver (#123450)

This commit is contained in:
Alex Ross
2021-05-11 01:47:28 -07:00
committed by GitHub
parent 102b3b410e
commit f41b6e6d81
10 changed files with 68 additions and 27 deletions

View File

@@ -7,15 +7,25 @@ import type * as vscode from 'vscode';
import { IEditorTabDto, IExtHostEditorTabsShape } from 'vs/workbench/api/common/extHost.protocol';
import { URI } from 'vs/base/common/uri';
import { Emitter, Event } from 'vs/base/common/event';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
export interface IEditorTab {
name: string;
group: number;
resource: vscode.Uri
isActive: boolean
}
export class ExtHostEditorTabs implements IExtHostEditorTabsShape {
export interface IExtHostEditorTabs extends IExtHostEditorTabsShape {
readonly _serviceBrand: undefined;
tabs: readonly IEditorTab[];
onDidChangeTabs: Event<void>;
}
export const IExtHostEditorTabs = createDecorator<IExtHostEditorTabs>('IExtHostEditorTabs');
export class ExtHostEditorTabs implements IExtHostEditorTabs {
readonly _serviceBrand: undefined;
private readonly _onDidChangeTabs = new Emitter<void>();
readonly onDidChangeTabs: Event<void> = this._onDidChangeTabs.event;
@@ -31,7 +41,8 @@ export class ExtHostEditorTabs implements IExtHostEditorTabsShape {
return {
name: dto.name,
group: dto.group,
resource: URI.revive(dto.resource)
resource: URI.revive(dto.resource),
isActive: dto.isActive
};
});
this._onDidChangeTabs.fire();