1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-30 03:23:08 +03:00

Add runCommand function to Go template syntax

This makes it possible to use date and time in initial values like this:

```yaml
initialValue: 'ruudk/{{ runCommand "date +\"%Y/%-m\"" }}/'
```

I want to use this to configure my BranchPrefix like this:

```yaml
git:
  branchPrefix: 'ruudk/{{ runCommand "date +\"%Y/%-m\"" }}/'
```
This commit is contained in:
Ruud Kamphuis
2025-03-31 15:21:44 +02:00
committed by Stefan Haller
parent c7feba9bb1
commit 12820481e6
8 changed files with 140 additions and 3 deletions

View File

@ -0,0 +1,42 @@
package custom_commands
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var RunCommand = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Using a custom command that uses runCommand template function in a prompt step",
ExtraCmdArgs: []string{},
Skip: false,
SetupRepo: func(shell *Shell) {
shell.EmptyCommit("blah")
},
SetupConfig: func(cfg *config.AppConfig) {
cfg.GetUserConfig().CustomCommands = []config.CustomCommand{
{
Key: "a",
Context: "localBranches",
Command: `git checkout {{.Form.Branch}}`,
Prompts: []config.CustomCommandPrompt{
{
Key: "Branch",
Type: "input",
Title: "Enter a branch name",
InitialValue: "myprefix/{{ runCommand \"echo dynamic\" }}/",
},
},
},
}
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Branches().
Focus().
Press("a")
t.ExpectPopup().Prompt().
Title(Equals("Enter a branch name")).
InitialText(Contains("myprefix/dynamic/")).
Confirm()
},
})