diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-17 13:47:47 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-21 22:07:14 +1100 |
commit | a9cd647075119c760ca22cceba8c4ad14687b732 (patch) | |
tree | c0327f30ec6ab244a14c07003dfce65c135017ee /pkg/gui/remote_branches_panel.go | |
parent | f0cd730fbb025d5c9068913f5ef11c5082617209 (diff) |
support deleting remote branches
Diffstat (limited to 'pkg/gui/remote_branches_panel.go')
-rw-r--r-- | pkg/gui/remote_branches_panel.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/gui/remote_branches_panel.go b/pkg/gui/remote_branches_panel.go index b8959e12f..e53e716c5 100644 --- a/pkg/gui/remote_branches_panel.go +++ b/pkg/gui/remote_branches_panel.go @@ -97,3 +97,20 @@ func (gui *Gui) handleMergeRemoteBranch(g *gocui.Gui, v *gocui.View) error { selectedBranchName := gui.getSelectedRemoteBranch().Name return gui.mergeBranchIntoCheckedOutBranch(selectedBranchName) } + +func (gui *Gui) handleDeleteRemoteBranch(g *gocui.Gui, v *gocui.View) error { + remoteBranch := gui.getSelectedRemoteBranch() + if remoteBranch == nil { + return nil + } + message := fmt.Sprintf("%s '%s/%s'?", gui.Tr.SLocalize("DeleteRemoteBranchMessage"), remoteBranch.RemoteName, remoteBranch.Name) + return gui.createConfirmationPanel(g, v, true, gui.Tr.SLocalize("DeleteRemoteBranch"), message, func(*gocui.Gui, *gocui.View) error { + return gui.WithWaitingStatus(gui.Tr.SLocalize("DeletingStatus"), func() error { + if err := gui.GitCommand.DeleteRemoteBranch(remoteBranch.RemoteName, remoteBranch.Name); err != nil { + return err + } + + return gui.refreshRemotes() + }) + }, nil) +} |