/
githubmirror
/
lazygit
Обзор
Документация
Войти
/
githubmirror
/
lazygit
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
pkg/integration/tests/custom_commands/suggestions_command.go
68 строк
2 KB
Stefan Haller
Convert custom command Key fields to Keybinding
25 май 2026, 16:32
25 май 2026, 16:32
fbcf562
Код
Авторство
О чём код?
package custom_commands import ( "github.com/jesseduffield/lazygit/pkg/config" . "github.com/jesseduffield/lazygit/pkg/integration/components" ) var SuggestionsCommand = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Using a custom command that uses a suggestions command in a prompt step", ExtraCmdArgs: []string{}, Skip: false, SetupRepo: func(shell *Shell) { shell.NewBranch("branch-one") shell.EmptyCommit("blah") shell.NewBranch("branch-two") shell.EmptyCommit("blah") shell.NewBranch("branch-three") shell.EmptyCommit("blah") shell.NewBranch("branch-four") shell.EmptyCommit("blah") }, SetupConfig: func(cfg *config.AppConfig) { cfg.GetUserConfig().CustomCommands = []config.CustomCommand{ { Key: config.Keybinding{"a"}, Context: "localBranches", Command: `git checkout {{.Form.Branch}}`, Prompts: []config.CustomCommandPrompt{ { Key: "Branch", Type: "input", Title: "Enter a branch name", Suggestions: config.CustomCommandSuggestions{ Command: "git branch --format='%(refname:short)'", }, }, }, }, } cfg.GetUserConfig().Git.LocalBranchSortOrder = "alphabetical" }, Run: func(t *TestDriver, keys config.KeybindingConfig) { t.Views().Branches(). Focus(). Lines( Contains("branch-four").IsSelected(), Contains("branch-one"), Contains("branch-three"), Contains("branch-two"), ). Press(config.Keybinding{"a"}) t.ExpectPopup().Prompt(). Title(Equals("Enter a branch name")). Type("three"). SuggestionLines(Contains("branch-three")). ConfirmFirstSuggestion() t.Views().Branches(). Lines( Contains("branch-three"), Contains("branch-four").IsSelected(), Contains("branch-one"), Contains("branch-two"), ) }, })