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
|
||||
}
|
||||
|
||||
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{
|
||||
SelectedFile: fileShimFromModelFile(self.c.Contexts().Files.GetSelectedFile()),
|
||||
SelectedPath: self.c.Contexts().Files.GetSelectedPath(),
|
||||
SelectedPath: selectedPath,
|
||||
SelectedLocalCommit: selectedLocalCommit,
|
||||
SelectedReflogCommit: selectedReflogCommit,
|
||||
SelectedSubCommit: selectedSubCommit,
|
||||
@ -206,7 +213,7 @@ func (self *SessionStateLoader) call() *SessionState {
|
||||
SelectedTag: tagShimFromModelRemote(self.c.Contexts().Tags.GetSelected()),
|
||||
SelectedStashEntry: stashEntryShimFromModelRemote(self.c.Contexts().Stash.GetSelected()),
|
||||
SelectedCommitFile: commitFileShimFromModelRemote(self.c.Contexts().CommitFiles.GetSelectedFile()),
|
||||
SelectedCommitFilePath: self.c.Contexts().CommitFiles.GetSelectedPath(),
|
||||
SelectedCommitFilePath: selectedCommitFilePath,
|
||||
SelectedWorktree: worktreeShimFromModelRemote(self.c.Contexts().Worktrees.GetSelected()),
|
||||
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.MultiplePrompts,
|
||||
custom_commands.SelectedCommit,
|
||||
custom_commands.SelectedPath,
|
||||
custom_commands.ShowOutputInPanel,
|
||||
custom_commands.SuggestionsCommand,
|
||||
custom_commands.SuggestionsPreset,
|
||||
|
Loading…
x
Reference in New Issue
Block a user