Skip to content

Commit 9d5d591

Browse files
committed
Replaces ensureRevealNode with revealDeep
1 parent ed48f63 commit 9d5d591

File tree

11 files changed

+42
-48
lines changed

11 files changed

+42
-48
lines changed

src/views/branchesView.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ export class BranchesView extends ViewBase<'branches', BranchesViewNode, Branche
307307
const node = await this.findBranch(branch, token);
308308
if (node == null) return undefined;
309309

310-
await this.ensureRevealNode(node, options);
310+
await this.revealDeep(node, options);
311311

312312
return node;
313313
},
@@ -336,7 +336,7 @@ export class BranchesView extends ViewBase<'branches', BranchesViewNode, Branche
336336
const node = await this.findCommit(commit, token);
337337
if (node == null) return undefined;
338338

339-
await this.ensureRevealNode(node, options);
339+
await this.revealDeep(node, options);
340340

341341
return node;
342342
},

src/views/commitsView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ export class CommitsView extends ViewBase<'commits', CommitsViewNode, CommitsVie
419419
const node = await this.findCommit(commit, token);
420420
if (node == null) return undefined;
421421

422-
await this.ensureRevealNode(node, options);
422+
await this.revealDeep(node, options);
423423

424424
return node;
425425
},

src/views/contributorsView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ export class ContributorsView extends ViewBase<'contributors', ContributorsViewN
305305
const node = await this.findContributor(contributor, token);
306306
if (node == null) return undefined;
307307

308-
await this.ensureRevealNode(node, options);
308+
await this.revealDeep(node, options);
309309

310310
return node;
311311
},

src/views/draftsView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ export class DraftsView extends ViewBase<'drafts', DraftsViewNode, DraftsViewCon
192192
const node = await this.findDraft(draft);
193193
if (node == null) return undefined;
194194

195-
await this.ensureRevealNode(node, options);
195+
await this.revealDeep(node, options);
196196

197197
return node;
198198
}

src/views/remotesView.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ export class RemotesView extends ViewBase<'remotes', RemotesViewNode, RemotesVie
301301
const node = await this.findBranch(branch, token);
302302
if (node == null) return undefined;
303303

304-
await this.ensureRevealNode(node, options);
304+
await this.revealDeep(node, options);
305305

306306
return node;
307307
},
@@ -330,7 +330,7 @@ export class RemotesView extends ViewBase<'remotes', RemotesViewNode, RemotesVie
330330
const node = await this.findCommit(commit, token);
331331
if (node == null) return undefined;
332332

333-
await this.ensureRevealNode(node, options);
333+
await this.revealDeep(node, options);
334334

335335
return node;
336336
},
@@ -356,7 +356,7 @@ export class RemotesView extends ViewBase<'remotes', RemotesViewNode, RemotesVie
356356
const node = await this.findRemote(remote, token);
357357
if (node == null) return undefined;
358358

359-
await this.ensureRevealNode(node, options);
359+
await this.revealDeep(node, options);
360360

361361
return node;
362362
},

src/views/repositoriesView.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ export class RepositoriesView extends ViewBase<'repositories', RepositoriesNode,
535535
const node = await this.findBranch(branch, token);
536536
if (node == null) return undefined;
537537

538-
await this.ensureRevealNode(node, options);
538+
await this.revealDeep(node, options);
539539

540540
return node;
541541
},
@@ -594,7 +594,7 @@ export class RepositoriesView extends ViewBase<'repositories', RepositoriesNode,
594594
const node = await this.findCommit(commit, token);
595595
if (node == null) return undefined;
596596

597-
await this.ensureRevealNode(node, options);
597+
await this.revealDeep(node, options);
598598

599599
return node;
600600
},
@@ -620,7 +620,7 @@ export class RepositoriesView extends ViewBase<'repositories', RepositoriesNode,
620620
const node = await this.findContributor(contributor, token);
621621
if (node == null) return undefined;
622622

623-
await this.ensureRevealNode(node, options);
623+
await this.revealDeep(node, options);
624624

625625
return node;
626626
},
@@ -646,7 +646,7 @@ export class RepositoriesView extends ViewBase<'repositories', RepositoriesNode,
646646
const node = await this.findRemote(remote, token);
647647
if (node == null) return undefined;
648648

649-
await this.ensureRevealNode(node, options);
649+
await this.revealDeep(node, options);
650650

651651
return node;
652652
},
@@ -755,7 +755,7 @@ export class RepositoriesView extends ViewBase<'repositories', RepositoriesNode,
755755
const node = await this.findTag(tag, token);
756756
if (node == null) return undefined;
757757

758-
await this.ensureRevealNode(node, options);
758+
await this.revealDeep(node, options);
759759

760760
return node;
761761
},
@@ -811,7 +811,7 @@ export class RepositoriesView extends ViewBase<'repositories', RepositoriesNode,
811811
const node = await this.findWorktree(worktree, token);
812812
if (node == null) return undefined;
813813

814-
await this.ensureRevealNode(node, options);
814+
await this.revealDeep(node, options);
815815

816816
return node;
817817
},

src/views/stashesView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ export class StashesView extends ViewBase<'stashes', StashesViewNode, StashesVie
216216
const node = await this.findStash(stash, token);
217217
if (node == null) return undefined;
218218

219-
await this.ensureRevealNode(node, options);
219+
await this.revealDeep(node, options);
220220

221221
return node;
222222
},

src/views/tagsView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ export class TagsView extends ViewBase<'tags', TagsViewNode, TagsViewConfig> {
223223
const node = await this.findTag(tag, token);
224224
if (node == null) return undefined;
225225

226-
await this.ensureRevealNode(node, options);
226+
await this.revealDeep(node, options);
227227

228228
return node;
229229
},

src/views/viewBase.ts

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -732,34 +732,6 @@ export abstract class ViewBase<
732732
return undefined;
733733
}
734734

735-
protected async ensureRevealNode(
736-
node: ViewNode,
737-
options?: {
738-
select?: boolean;
739-
focus?: boolean;
740-
expand?: boolean | number;
741-
},
742-
): Promise<void> {
743-
// Not sure why I need to reveal each parent, but without it the node won't be revealed
744-
const nodes: ViewNode[] = [];
745-
746-
let parent: ViewNode | undefined = node;
747-
while (parent != null) {
748-
nodes.push(parent);
749-
parent = parent.getParent();
750-
}
751-
752-
if (nodes.length > 1) {
753-
nodes.pop();
754-
}
755-
756-
for (const n of nodes.reverse()) {
757-
try {
758-
await this.reveal(n, options);
759-
} catch {}
760-
}
761-
}
762-
763735
@debug()
764736
async refresh(reset: boolean = false): Promise<void> {
765737
// If we are resetting, make sure to clear any saved node state
@@ -792,21 +764,43 @@ export abstract class ViewBase<
792764
return this.revealCore(node, undefined, options);
793765
}
794766

767+
async revealDeep(
768+
node: ViewNode,
769+
options?: { expand?: boolean | number; focus?: boolean; select?: boolean },
770+
): Promise<void>;
771+
async revealDeep(
772+
node: ViewNode,
773+
parents: ViewNode[],
774+
options?: { expand?: boolean | number; focus?: boolean; select?: boolean },
775+
): Promise<void>;
795776
@log<ViewBase<Type, RootNode, ViewConfig>['revealDeep']>({
796777
args: {
797778
0: n => n.toString(),
798-
1: n => n.length,
779+
1: false,
799780
},
800781
})
801782
async revealDeep(
802783
node: ViewNode,
803-
parents: ViewNode[],
784+
parents: ViewNode[] | { expand?: boolean | number; focus?: boolean; select?: boolean } | undefined,
804785
options?: { expand?: boolean | number; focus?: boolean; select?: boolean },
805786
): Promise<void> {
806787
if (this.initialized.pending) {
807788
await this.initialized.promise;
808789
}
809790

791+
if (!Array.isArray(parents)) {
792+
options = parents;
793+
parents = [];
794+
795+
let parent: ViewNode | undefined = node;
796+
while (parent != null) {
797+
parent = parent.getParent();
798+
if (parent == null) break;
799+
800+
parents.unshift(parent);
801+
}
802+
}
803+
810804
let root: ViewNode = this.ensureRoot();
811805
for (const node of parents) {
812806
await this.revealCore(node, root, { expand: true, focus: false, select: false });

src/views/workspacesView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ export class WorkspacesView extends ViewBase<'workspaces', WorkspacesViewNode, W
140140
const node = await this.findWorkspaceNode(workspaceId, token);
141141
if (node == null) return undefined;
142142

143-
await this.ensureRevealNode(node, options);
143+
await this.revealDeep(node, options);
144144

145145
return node;
146146
},

0 commit comments

Comments
 (0)