diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-08-16 22:01:14 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-08-16 22:24:54 +1000 |
commit | db826b3c8795e47e3471ab76bc4bcb131892c224 (patch) | |
tree | 37938ead603d4da7697ba4391f91e173787b2b17 /pkg/gui/commits_panel.go | |
parent | be658e7d64c8d120a6c7ca9c59cbb05957135c1d (diff) |
add keybinding to create new branch off of commit
retain focus in commits panel
surface prompt errors
better description
Diffstat (limited to 'pkg/gui/commits_panel.go')
-rw-r--r-- | pkg/gui/commits_panel.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go index 728517b9b..d1f86d287 100644 --- a/pkg/gui/commits_panel.go +++ b/pkg/gui/commits_panel.go @@ -771,3 +771,27 @@ func (gui *Gui) handleClipboardCopyCommit(g *gocui.Gui, v *gocui.View) error { return gui.OSCommand.CopyToClipboard(commit.Sha) } + +func (gui *Gui) handleNewBranchOffCommit() error { + commit := gui.getSelectedCommit() + if commit == nil { + return nil + } + + message := gui.Tr.TemplateLocalize( + "NewBranchNameBranchOff", + Teml{ + "branchName": commit.NameWithSha(), + }, + ) + + return gui.prompt(gui.getCommitsView(), message, "", func(response string) error { + if err := gui.GitCommand.NewBranch(response, commit.Sha); err != nil { + return err + } + gui.State.Panels.Commits.SelectedLine = 0 + gui.State.Panels.Branches.SelectedLine = 0 + + return gui.refreshSidePanels(refreshOptions{mode: ASYNC}) + }) +} |