mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-04-25 12:24:47 +02:00
Set SelectedPath to SelectedCommitFilePath in CommitFiles context
This commit is contained in:
parent
22f0d9cdd3
commit
7fb758cc1d
@ -193,9 +193,16 @@ func (self *SessionStateLoader) call() *SessionState {
|
|||||||
selectedCommit = selectedSubCommit
|
selectedCommit = selectedSubCommit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectedPath := self.c.Contexts().Files.GetSelectedPath()
|
||||||
|
selectedCommitFilePath := self.c.Contexts().CommitFiles.GetSelectedPath()
|
||||||
|
|
||||||
|
if self.c.Context().IsCurrent(self.c.Contexts().CommitFiles) {
|
||||||
|
selectedPath = selectedCommitFilePath
|
||||||
|
}
|
||||||
|
|
||||||
return &SessionState{
|
return &SessionState{
|
||||||
SelectedFile: fileShimFromModelFile(self.c.Contexts().Files.GetSelectedFile()),
|
SelectedFile: fileShimFromModelFile(self.c.Contexts().Files.GetSelectedFile()),
|
||||||
SelectedPath: self.c.Contexts().Files.GetSelectedPath(),
|
SelectedPath: selectedPath,
|
||||||
SelectedLocalCommit: selectedLocalCommit,
|
SelectedLocalCommit: selectedLocalCommit,
|
||||||
SelectedReflogCommit: selectedReflogCommit,
|
SelectedReflogCommit: selectedReflogCommit,
|
||||||
SelectedSubCommit: selectedSubCommit,
|
SelectedSubCommit: selectedSubCommit,
|
||||||
@ -206,7 +213,7 @@ func (self *SessionStateLoader) call() *SessionState {
|
|||||||
SelectedTag: tagShimFromModelRemote(self.c.Contexts().Tags.GetSelected()),
|
SelectedTag: tagShimFromModelRemote(self.c.Contexts().Tags.GetSelected()),
|
||||||
SelectedStashEntry: stashEntryShimFromModelRemote(self.c.Contexts().Stash.GetSelected()),
|
SelectedStashEntry: stashEntryShimFromModelRemote(self.c.Contexts().Stash.GetSelected()),
|
||||||
SelectedCommitFile: commitFileShimFromModelRemote(self.c.Contexts().CommitFiles.GetSelectedFile()),
|
SelectedCommitFile: commitFileShimFromModelRemote(self.c.Contexts().CommitFiles.GetSelectedFile()),
|
||||||
SelectedCommitFilePath: self.c.Contexts().CommitFiles.GetSelectedPath(),
|
SelectedCommitFilePath: selectedCommitFilePath,
|
||||||
SelectedWorktree: worktreeShimFromModelRemote(self.c.Contexts().Worktrees.GetSelected()),
|
SelectedWorktree: worktreeShimFromModelRemote(self.c.Contexts().Worktrees.GetSelected()),
|
||||||
CheckedOutBranch: branchShimFromModelBranch(self.refsHelper.GetCheckedOutRef()),
|
CheckedOutBranch: branchShimFromModelBranch(self.refsHelper.GetCheckedOutRef()),
|
||||||
}
|
}
|
||||||
|
44
pkg/integration/tests/custom_commands/selected_path.go
Normal file
44
pkg/integration/tests/custom_commands/selected_path.go
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package custom_commands
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||||
|
)
|
||||||
|
|
||||||
|
var SelectedPath = NewIntegrationTest(NewIntegrationTestArgs{
|
||||||
|
Description: "Use the {{ .SelectedPath }} template variable in different contexts",
|
||||||
|
ExtraCmdArgs: []string{},
|
||||||
|
Skip: false,
|
||||||
|
SetupRepo: func(shell *Shell) {
|
||||||
|
shell.CreateDir("folder1")
|
||||||
|
shell.CreateFileAndAdd("folder1/file1", "")
|
||||||
|
shell.Commit("commit")
|
||||||
|
shell.CreateDir("folder2")
|
||||||
|
shell.CreateFile("folder2/file2", "")
|
||||||
|
},
|
||||||
|
SetupConfig: func(cfg *config.AppConfig) {
|
||||||
|
cfg.UserConfig.CustomCommands = []config.CustomCommand{
|
||||||
|
{
|
||||||
|
Key: "X",
|
||||||
|
Context: "global",
|
||||||
|
Command: "printf '%s' '{{ .SelectedPath }}' > file.txt",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||||
|
t.Views().Files().
|
||||||
|
Focus().
|
||||||
|
NavigateToLine(Contains("file2"))
|
||||||
|
t.GlobalPress("X")
|
||||||
|
t.FileSystem().FileContent("file.txt", Equals("folder2/file2"))
|
||||||
|
|
||||||
|
t.Views().Commits().
|
||||||
|
Focus().
|
||||||
|
PressEnter()
|
||||||
|
t.Views().CommitFiles().
|
||||||
|
IsFocused().
|
||||||
|
NavigateToLine(Contains("file1"))
|
||||||
|
t.GlobalPress("X")
|
||||||
|
t.FileSystem().FileContent("file.txt", Equals("folder1/file1"))
|
||||||
|
},
|
||||||
|
})
|
@ -125,6 +125,7 @@ var tests = []*components.IntegrationTest{
|
|||||||
custom_commands.MultipleContexts,
|
custom_commands.MultipleContexts,
|
||||||
custom_commands.MultiplePrompts,
|
custom_commands.MultiplePrompts,
|
||||||
custom_commands.SelectedCommit,
|
custom_commands.SelectedCommit,
|
||||||
|
custom_commands.SelectedPath,
|
||||||
custom_commands.ShowOutputInPanel,
|
custom_commands.ShowOutputInPanel,
|
||||||
custom_commands.SuggestionsCommand,
|
custom_commands.SuggestionsCommand,
|
||||||
custom_commands.SuggestionsPreset,
|
custom_commands.SuggestionsPreset,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user