summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2019-12-07 16:20:22 +1100
committerJesse Duffield <jessedduffield@gmail.com>2019-12-07 16:23:04 +1100
commit3f4613feb010fbafa405e8caa6b48e7e6bca3000 (patch)
tree49243085fc8efbb17faef420f2feeef850efc7e7 /pkg/gui
parent033c21754b6eb5ead47a56b9dbee54a976c7fcff (diff)
allow fetching remotes with 'f'
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/keybindings.go8
-rw-r--r--pkg/gui/remotes_panel.go15
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()
+ })
+}