This commit is contained in:
Logan Ramos 2022-03-14 13:26:45 -04:00
parent 04f6cdc4ff
commit 53aaa205e6
No known key found for this signature in database
GPG key ID: D9CCFF14F0B18183
7 changed files with 32 additions and 33 deletions

View file

@ -1273,7 +1273,7 @@ export class Repository implements Disposable {
const diffEditorTabsToClose: Tab[] = [];
// Index
const tabs = window.tabGroups.all.map(g => g.tabs).flat(1);
const tabs = window.tabGroups.groups.map(g => g.tabs).flat(1);
diffEditorTabsToClose.push(...tabs
.filter(t =>
t.resource && t.resource.scheme === 'git' && t.kind === TabKind.Diff &&

View file

@ -112,15 +112,15 @@ suite('vscode API - commands', () => {
await commands.executeCommand('vscode.open', uri);
assert.strictEqual(window.activeTextEditor?.viewColumn, ViewColumn.One);
assert.strictEqual(window.tabGroups.all[0].activeTab?.viewColumn, ViewColumn.One);
assert.strictEqual(window.tabGroups.groups[0].activeTab?.viewColumn, ViewColumn.One);
await commands.executeCommand('vscode.open', uri, ViewColumn.Two);
assert.strictEqual(window.activeTextEditor?.viewColumn, ViewColumn.Two);
assert.strictEqual(window.tabGroups.all[1].activeTab?.viewColumn, ViewColumn.Two);
assert.strictEqual(window.tabGroups.groups[1].activeTab?.viewColumn, ViewColumn.Two);
await commands.executeCommand('vscode.open', uri, ViewColumn.One);
assert.strictEqual(window.activeTextEditor?.viewColumn, ViewColumn.One);
assert.strictEqual(window.tabGroups.all[0].activeTab?.viewColumn, ViewColumn.One);
assert.strictEqual(window.tabGroups.groups[0].activeTab?.viewColumn, ViewColumn.One);
let e1: Error | undefined = undefined;
try {

View file

@ -383,12 +383,12 @@ suite('vscode API - window', () => {
await window.showTextDocument(docC, { viewColumn: ViewColumn.Two, preview: false });
const tabGroups = window.tabGroups;
assert.strictEqual(tabGroups.all.length, 2);
assert.strictEqual(tabGroups.groups.length, 2);
const group1Tabs = tabGroups.all[0].tabs;
const group1Tabs = tabGroups.groups[0].tabs;
assert.strictEqual(group1Tabs.length, 2);
const group2Tabs = tabGroups.all[1].tabs;
const group2Tabs = tabGroups.groups[1].tabs;
assert.strictEqual(group2Tabs.length, 1);
await group1Tabs[0].move(1, ViewColumn.One);
@ -397,7 +397,7 @@ suite('vscode API - window', () => {
test('Tabs - vscode.open & vscode.diff', async function () {
// Simple function to get the active tab
const getActiveTab = () => {
return window.tabGroups.all.find(g => g.isActive)?.activeTab;
return window.tabGroups.groups.find(g => g.isActive)?.activeTab;
};
const [docA, docB, docC] = await Promise.all([
@ -420,7 +420,7 @@ suite('vscode API - window', () => {
await commands.executeCommand('vscode.diff', leftDiff, rightDiff, 'Diff', { viewColumn: ViewColumn.Four, preview: false });
assert.strictEqual(getActiveTab()?.viewColumn, ViewColumn.Four);
const tabs = window.tabGroups.all.map(g => g.tabs).flat(1);
const tabs = window.tabGroups.groups.map(g => g.tabs).flat(1);
assert.strictEqual(tabs.length, 5);
assert.strictEqual(tabs[0].resource?.toString(), docA.uri.toString());
assert.strictEqual(tabs[1].resource?.toString(), docB.uri.toString());
@ -451,7 +451,7 @@ suite('vscode API - window', () => {
const rightDiff = await createRandomFile();
await commands.executeCommand('vscode.diff', leftDiff, rightDiff, 'Diff', { viewColumn: ViewColumn.Three, preview: false });
const tabs = window.tabGroups.all.map(g => g.tabs).flat(1);
const tabs = window.tabGroups.groups.map(g => g.tabs).flat(1);
assert.strictEqual(tabs.length, 5);
// All resources should match the text documents as they're the only tabs currently open
@ -480,7 +480,7 @@ suite('vscode API - window', () => {
// Function to acquire the active tab within the active group
const getActiveTabInActiveGroup = () => {
const activeGroup = window.tabGroups.all.filter(group => group.isActive)[0];
const activeGroup = window.tabGroups.groups.filter(group => group.isActive)[0];
return activeGroup.activeTab;
};

View file

@ -953,7 +953,7 @@ export class ExtHostVariableResolverService extends AbstractVariableResolverServ
if (activeEditor) {
return activeEditor.document.uri;
}
const activeTab = editorTabs.tabGroups.all.find(group => group.isActive)?.activeTab;
const activeTab = editorTabs.tabGroups.groups.find(group => group.isActive)?.activeTab;
if (activeTab !== undefined) {
// Resolve a resource from the tab
const asSideBySideResource = activeTab.resource as { primary?: URI; secondary?: URI } | undefined;

View file

@ -33,7 +33,7 @@ export interface IEditorTabGroup {
}
export interface IEditorTabGroups {
all: IEditorTabGroup[];
groups: IEditorTabGroup[];
activeTabGroup: IEditorTabGroup | undefined;
readonly onDidChangeTabGroup: Event<void>;
readonly onDidChangeActiveTabGroup: Event<IEditorTabGroup | undefined>;
@ -55,7 +55,7 @@ export class ExtHostEditorTabs implements IExtHostEditorTabs {
private readonly _onDidChangeActiveTabGroup = new Emitter<IEditorTabGroup | undefined>();
private _tabGroups: IEditorTabGroups = {
all: [],
groups: [],
activeTabGroup: undefined,
onDidChangeTabGroup: this._onDidChangeTabGroup.event,
onDidChangeActiveTabGroup: this._onDidChangeActiveTabGroup.event
@ -71,7 +71,7 @@ export class ExtHostEditorTabs implements IExtHostEditorTabs {
$acceptEditorTabModel(tabGroups: IEditorTabGroupDto[]): void {
// Clears the tab groups array
this._tabGroups.all.length = 0;
this._tabGroups.groups.length = 0;
let activeGroupFound = false;
for (const group of tabGroups) {
let activeTab: IEditorTab | undefined;
@ -82,7 +82,7 @@ export class ExtHostEditorTabs implements IExtHostEditorTabs {
}
return extHostTab;
});
this._tabGroups.all.push(Object.freeze({
this._tabGroups.groups.push(Object.freeze({
isActive: group.isActive,
viewColumn: typeConverters.ViewColumn.to(group.viewColumn),
activeTab,
@ -93,7 +93,7 @@ export class ExtHostEditorTabs implements IExtHostEditorTabs {
if (group.isActive) {
activeGroupFound = true;
const oldActiveTabGroup = this._tabGroups.activeTabGroup;
this._tabGroups.activeTabGroup = this._tabGroups.all[this._tabGroups.all.length - 1];
this._tabGroups.activeTabGroup = this._tabGroups.groups[this._tabGroups.groups.length - 1];
// Diff the old and current active group to decide if we should fire a change event
if (this.groupDiff(oldActiveTabGroup, this._tabGroups.activeTabGroup)) {
this._onDidChangeActiveTabGroup.fire(this._tabGroups.activeTabGroup);

View file

@ -21,7 +21,7 @@ suite('ExtHostEditorTabs', function () {
})
);
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 0);
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 0);
assert.strictEqual(extHostEditorTabs.tabGroups.activeTabGroup, undefined);
});
@ -50,8 +50,8 @@ suite('ExtHostEditorTabs', function () {
tabs: [tab],
activeTab: { ...tab }
}]);
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 1);
const [first] = extHostEditorTabs.tabGroups.all;
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 1);
const [first] = extHostEditorTabs.tabGroups.groups;
assert.ok(first.activeTab);
assert.strictEqual(first.tabs.indexOf(first.activeTab), 0);
@ -63,8 +63,8 @@ suite('ExtHostEditorTabs', function () {
tabs: [tab],
activeTab: undefined! // TODO@lramos15 unused
}]);
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 1);
const [first] = extHostEditorTabs.tabGroups.all;
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 1);
const [first] = extHostEditorTabs.tabGroups.groups;
assert.ok(first.activeTab);
assert.strictEqual(first.tabs.indexOf(first.activeTab), 0);
}
@ -84,8 +84,8 @@ suite('ExtHostEditorTabs', function () {
tabs: [],
activeTab: undefined
}]);
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 1);
const [first] = extHostEditorTabs.tabGroups.all;
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 1);
const [first] = extHostEditorTabs.tabGroups.groups;
assert.strictEqual(first.activeTab, undefined);
assert.strictEqual(first.tabs.length, 0);
});
@ -101,7 +101,7 @@ suite('ExtHostEditorTabs', function () {
extHostEditorTabs.tabGroups.onDidChangeTabGroup(() => count++);
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 0);
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 0);
assert.strictEqual(extHostEditorTabs.tabGroups.activeTabGroup, undefined);
assert.strictEqual(count, 0);
extHostEditorTabs.$acceptEditorTabModel([{
@ -113,7 +113,7 @@ suite('ExtHostEditorTabs', function () {
}]);
assert.ok(extHostEditorTabs.tabGroups.activeTabGroup);
const activeTabGroup: IEditorTabGroup = extHostEditorTabs.tabGroups.activeTabGroup;
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 1);
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 1);
assert.strictEqual(activeTabGroup.tabs.length, 0);
assert.strictEqual(count, 1);
});
@ -143,8 +143,8 @@ suite('ExtHostEditorTabs', function () {
tabs: [tab],
activeTab: { ...tab }
}]);
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 1);
const [first] = extHostEditorTabs.tabGroups.all;
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 1);
const [first] = extHostEditorTabs.tabGroups.groups;
assert.ok(first.activeTab);
assert.strictEqual(first.tabs.indexOf(first.activeTab), 0);
assert.strictEqual(first.activeTab, first.tabs[0]);
@ -166,7 +166,7 @@ suite('ExtHostEditorTabs', function () {
});
assert.strictEqual(extHostEditorTabs.tabGroups.all.length, 0);
assert.strictEqual(extHostEditorTabs.tabGroups.groups.length, 0);
assert.strictEqual(extHostEditorTabs.tabGroups.activeTabGroup, undefined);
assert.strictEqual(count, 0);
const tabModel = [{
@ -240,7 +240,7 @@ suite('ExtHostEditorTabs', function () {
tabs: [tabDto],
activeTab: undefined // NOT needed
}]);
let all = extHostEditorTabs.tabGroups.all.map(group => group.tabs).flat();
let all = extHostEditorTabs.tabGroups.groups.map(group => group.tabs).flat();
assert.strictEqual(all.length, 1);
const apiTab1 = all[0];
assert.strictEqual(apiTab1.resource?.toString(), URI.revive(tabDto.resource)?.toString());
@ -258,7 +258,7 @@ suite('ExtHostEditorTabs', function () {
activeTab: undefined // NOT needed
}]);
all = extHostEditorTabs.tabGroups.all.map(group => group.tabs).flat();
all = extHostEditorTabs.tabGroups.groups.map(group => group.tabs).flat();
assert.strictEqual(all.length, 1);
const apiTab2 = all[0];
assert.strictEqual(apiTab2.resource?.toString(), URI.revive(tabDto.resource)?.toString());

View file

@ -99,8 +99,7 @@ declare module 'vscode' {
/**
* All the groups within the group container
*/
// TODO@API rename to groups
readonly all: TabGroup[];
readonly groups: TabGroup[];
/**
* The currently active group