@ -1,9 +1,4 @@
import type {
CancellationToken ,
ConfigurationChangeEvent ,
TreeViewSelectionChangeEvent ,
TreeViewVisibilityChangeEvent ,
} from 'vscode' ;
import type { CancellationToken , ConfigurationChangeEvent } from 'vscode' ;
import { Disposable , ProgressLocation , ThemeIcon , TreeItem , TreeItemCollapsibleState , window } from 'vscode' ;
import type { CommitsViewConfig , ViewFilesLayout } from '../config' ;
import { Commands , GlyphChars } from '../constants' ;
@ -24,10 +19,7 @@ import { disposableInterval } from '../system/function';
import type { UsageChangeEvent } from '../telemetry/usageTracker' ;
import { BranchNode } from './nodes/branchNode' ;
import { BranchTrackingStatusNode } from './nodes/branchTrackingStatusNode' ;
import { CommitFileNode } from './nodes/commitFileNode' ;
import { CommitNode } from './nodes/commitNode' ;
import { CommandMessageNode } from './nodes/common' ;
import { FileRevisionAsCommitNode } from './nodes/fileRevisionAsCommitNode' ;
import type { ViewNode } from './nodes/viewNode' ;
import { RepositoriesSubscribeableNode , RepositoryFolderNode } from './nodes/viewNode' ;
import { ViewBase } from './viewBase' ;
@ -305,49 +297,6 @@ export class CommitsView extends ViewBase<'commits', CommitsViewNode, CommitsVie
return true ;
}
protected override onSelectionChanged ( e : TreeViewSelectionChangeEvent < ViewNode > ) {
super . onSelectionChanged ( e ) ;
this . notifySelections ( ) ;
}
protected override onVisibilityChanged ( e : TreeViewVisibilityChangeEvent ) {
super . onVisibilityChanged ( e ) ;
if ( e . visible ) {
this . notifySelections ( ) ;
}
}
private notifySelections() {
const node = this . selection ? . [ 0 ] ;
if ( node == null ) return ;
if ( node instanceof CommitNode || node instanceof FileRevisionAsCommitNode || node instanceof CommitFileNode ) {
this . container . events . fire (
'commit:selected' ,
{
commit : node.commit ,
interaction : 'passive' ,
preserveFocus : true ,
preserveVisibility : true ,
} ,
{ source : this.id } ,
) ;
}
if ( node instanceof FileRevisionAsCommitNode || node instanceof CommitFileNode ) {
this . container . events . fire (
'file:selected' ,
{
uri : node.uri ,
preserveFocus : true ,
preserveVisibility : true ,
} ,
{ source : this.id } ,
) ;
}
}
async findCommit ( commit : GitCommit | { repoPath : string ; ref : string } , token? : CancellationToken ) {
const { repoPath } = commit ;