diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2019-12-07 16:20:22 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2019-12-07 16:23:04 +1100 |
commit | 3f4613feb010fbafa405e8caa6b48e7e6bca3000 (patch) | |
tree | 49243085fc8efbb17faef420f2feeef850efc7e7 /pkg/gui | |
parent | 033c21754b6eb5ead47a56b9dbee54a976c7fcff (diff) |
allow fetching remotes with 'f'
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/keybindings.go | 8 | ||||
-rw-r--r-- | pkg/gui/remotes_panel.go | 15 |
2 files changed, 23 insertions, 0 deletions
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 2f82bcfb9..ae0f8f8ad 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -455,6 +455,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Description: gui.Tr.SLocalize("ReturnToRemotesList"), }, { + ViewName: "branches", + Contexts: []string{"remotes"}, + Key: 'f', + Modifier: gocui.ModNone, + Handler: gui.handleFetchRemote, + Description: gui.Tr.SLocalize("fetchRemote"), + }, + { ViewName: "commits", Key: 's', Modifier: gocui.ModNone, diff --git a/pkg/gui/remotes_panel.go b/pkg/gui/remotes_panel.go index 90c2c8d59..6964bf108 100644 --- a/pkg/gui/remotes_panel.go +++ b/pkg/gui/remotes_panel.go @@ -176,3 +176,18 @@ func (gui *Gui) handleEditRemote(g *gocui.Gui, v *gocui.View) error { }) }) } + +func (gui *Gui) handleFetchRemote(g *gocui.Gui, v *gocui.View) error { + remote := gui.getSelectedRemote() + if remote == nil { + return nil + } + + return gui.WithWaitingStatus(gui.Tr.SLocalize("FetchingRemoteStatus"), func() error { + if err := gui.GitCommand.FetchRemote(remote.Name); err != nil { + return err + } + + return gui.refreshRemotes() + }) +} |