diff --git a/package.json b/package.json index 9790843..09c78cb 100644 --- a/package.json +++ b/package.json @@ -2892,7 +2892,7 @@ }, { "command": "gitlens.explorers.applyChanges", - "when": "viewItem == gitlens:file:commit", + "when": "viewItem =~ /gitlens:file:(commit|status)\\b/", "group": "5_gitlens_1@1" }, { diff --git a/src/views/explorerCommands.ts b/src/views/explorerCommands.ts index 60a6965..aa6fc6d 100644 --- a/src/views/explorerCommands.ts +++ b/src/views/explorerCommands.ts @@ -8,6 +8,7 @@ import { Commands, DiffWithCommandArgs, DiffWithCommandArgsRevision, DiffWithPre import { GitService, GitUri } from '../gitService'; import { RepositoryNode } from './repositoryNode'; import { StatusNode } from './statusNode'; +import { StatusFileNode } from './statusFileNode'; export interface RefreshNodeCommandArgs { maxCount?: number; @@ -66,7 +67,7 @@ export class ExplorerCommands extends Disposable { this._disposable && this._disposable.dispose(); } - private async applyChanges(node: CommitFileNode | StashFileNode) { + private async applyChanges(node: CommitFileNode | StashFileNode | StatusFileNode) { await Container.git.checkoutFile(node.uri); return this.openFile(node); } @@ -148,7 +149,7 @@ export class ExplorerCommands extends Disposable { return commands.executeCommand(Commands.DiffWithWorking, node.commit.toGitUri(), args); } - private openFile(node: CommitFileNode | StashFileNode | StatusFileCommitsNode) { + private openFile(node: CommitFileNode | StashFileNode | StatusFileCommitsNode | StatusFileNode) { return openEditor(node.uri, { preserveFocus: true, preview: false }); } diff --git a/src/views/statusFileNode.ts b/src/views/statusFileNode.ts index a9ba5d0..b388886 100644 --- a/src/views/statusFileNode.ts +++ b/src/views/statusFileNode.ts @@ -15,7 +15,13 @@ export class StatusFileNode extends ExplorerNode { private readonly ref2: string, private readonly explorer: Explorer ) { - super(GitUri.fromFileStatus(status, repoPath)); + super(GitUri.fromFileStatus( + status, + repoPath, + ref1 + ? ref1 + : ref2 ? ref2 : undefined + )); } getChildren(): ExplorerNode[] {