summaryrefslogtreecommitdiffstats
path: root/pkg/gui/commits_panel.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-08-16 22:01:14 +1000
committerJesse Duffield <jessedduffield@gmail.com>2020-08-16 22:24:54 +1000
commitdb826b3c8795e47e3471ab76bc4bcb131892c224 (patch)
tree37938ead603d4da7697ba4391f91e173787b2b17 /pkg/gui/commits_panel.go
parentbe658e7d64c8d120a6c7ca9c59cbb05957135c1d (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.go24
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})
+ })
+}