-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve template placeholders for custom commands (#3809)
- **PR Description** Improve the template placeholders that are available for custom commands: - `SelectedCommit` replaces `SelectedLocalCommit`, `SelectedReflogCommit`, and `SelectedSubCommit` - `SelectedPath` is set to `SelectedCommitFilePath` when the CommitFiles context is active It still slightly bothers me that we don't make a similar unification for `SelectedLocalBranch` and `SelectedRemoteBranch` (and others), but it would be a bigger change to do that, and we decided in #3663 not to. Fixes #3663.
- Loading branch information
Showing
7 changed files
with
158 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
package custom_commands | ||
|
||
import ( | ||
"github.com/jesseduffield/lazygit/pkg/config" | ||
. "github.com/jesseduffield/lazygit/pkg/integration/components" | ||
) | ||
|
||
var SelectedCommit = NewIntegrationTest(NewIntegrationTestArgs{ | ||
Description: "Use the {{ .SelectedCommit }} template variable in different contexts", | ||
ExtraCmdArgs: []string{}, | ||
Skip: false, | ||
SetupRepo: func(shell *Shell) { | ||
shell.CreateNCommits(3) | ||
}, | ||
SetupConfig: func(cfg *config.AppConfig) { | ||
cfg.UserConfig.CustomCommands = []config.CustomCommand{ | ||
{ | ||
Key: "X", | ||
Context: "global", | ||
Command: "printf '%s' '{{ .SelectedCommit.Name }}' > file.txt", | ||
}, | ||
} | ||
}, | ||
Run: func(t *TestDriver, keys config.KeybindingConfig) { | ||
// Select different commits in each of the commit views | ||
t.Views().Commits().Focus(). | ||
NavigateToLine(Contains("commit 01")) | ||
t.Views().ReflogCommits().Focus(). | ||
NavigateToLine(Contains("commit 02")) | ||
t.Views().Branches().Focus(). | ||
Lines(Contains("master").IsSelected()). | ||
PressEnter() | ||
t.Views().SubCommits().IsFocused(). | ||
NavigateToLine(Contains("commit 03")) | ||
|
||
// SubCommits | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit 03")) | ||
|
||
t.Views().SubCommits().PressEnter() | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit 03")) | ||
|
||
// ReflogCommits | ||
t.Views().ReflogCommits().Focus() | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit: commit 02")) | ||
|
||
t.Views().ReflogCommits().PressEnter() | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit: commit 02")) | ||
|
||
// LocalCommits | ||
t.Views().Commits().Focus() | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit 01")) | ||
|
||
t.Views().Commits().PressEnter() | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit 01")) | ||
|
||
// None of these | ||
t.Views().Files().Focus() | ||
t.GlobalPress("X") | ||
t.FileSystem().FileContent("file.txt", Equals("commit 01")) | ||
}, | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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")) | ||
}, | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters