summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiorgio Previtera <giorgioprevitera@gmail.com>2019-07-27 12:16:26 +0100
committerJesse Duffield <jessedduffield@gmail.com>2019-10-27 12:39:08 +1100
commit3524f6baa95f73cbe6cbd90335cebaeb158667a3 (patch)
tree612b1979aafbf5f6fdc884b06587142005e965c8
parentac5cbc1d2cbfc9dd0dd6b9099f034354367d859d (diff)
480 - remove duplication by using a decorator
Also use a for loop to append the new keybindings
-rw-r--r--pkg/gui/keybindings.go35
-rw-r--r--pkg/gui/view_helpers.go45
2 files changed, 13 insertions, 67 deletions
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index 30eca5615..24fd5a854 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -523,36 +523,6 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
Handler: gui.handleOpenOldCommitFile,
Description: gui.Tr.SLocalize("openFile"),
},
- {
- ViewName: "",
- Key: '1',
- Modifier: gocui.ModNone,
- Handler: gui.goToStatus,
- },
- {
- ViewName: "",
- Key: '2',
- Modifier: gocui.ModNone,
- Handler: gui.goToFiles,
- },
- {
- ViewName: "",
- Key: '3',
- Modifier: gocui.ModNone,
- Handler: gui.goToBranches,
- },
- {
- ViewName: "",
- Key: '4',
- Modifier: gocui.ModNone,
- Handler: gui.goToCommits,
- },
- {
- ViewName: "",
- Key: '5',
- Modifier: gocui.ModNone,
- Handler: gui.goToStash,
- },
}
for _, viewName := range []string{"status", "branches", "files", "commits", "commitFiles", "stash", "menu"} {
@@ -565,6 +535,11 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
}...)
}
+ // Appends keybindings to jump to a particular sideView using numbers
+ for i, viewName := range []string{"status", "files", "branches", "commits", "stash"} {
+ bindings = append(bindings, &Binding{ViewName: "", Key: rune(i+1) + '0', Modifier: gocui.ModNone, Handler: gui.goToSideView(viewName)})
+ }
+
listPanelMap := map[string]struct {
prevLine func(*gocui.Gui, *gocui.View) error
nextLine func(*gocui.Gui, *gocui.View) error
diff --git a/pkg/gui/view_helpers.go b/pkg/gui/view_helpers.go
index ca3ababd1..7426ce18f 100644
--- a/pkg/gui/view_helpers.go
+++ b/pkg/gui/view_helpers.go
@@ -139,44 +139,15 @@ func (gui *Gui) returnFocus(g *gocui.Gui, v *gocui.View) error {
return gui.switchFocus(g, v, previousView)
}
-func (gui *Gui) goToStatus(g *gocui.Gui, v *gocui.View) error {
- view, err := g.View("status")
- if err != nil {
- gui.Log.Error(err)
- }
- return gui.switchFocus(g, nil, view)
-}
-
-func (gui *Gui) goToFiles(g *gocui.Gui, v *gocui.View) error {
- view, err := g.View("files")
- if err != nil {
- gui.Log.Error(err)
- }
- return gui.switchFocus(g, nil, view)
-}
-
-func (gui *Gui) goToBranches(g *gocui.Gui, v *gocui.View) error {
- view, err := g.View("branches")
- if err != nil {
- gui.Log.Error(err)
- }
- return gui.switchFocus(g, nil, view)
-}
-
-func (gui *Gui) goToCommits(g *gocui.Gui, v *gocui.View) error {
- view, err := g.View("commits")
- if err != nil {
- gui.Log.Error(err)
- }
- return gui.switchFocus(g, nil, view)
-}
-
-func (gui *Gui) goToStash(g *gocui.Gui, v *gocui.View) error {
- view, err := g.View("stash")
- if err != nil {
- gui.Log.Error(err)
+func (gui *Gui) goToSideView(sideViewName string) func(g *gocui.Gui, v *gocui.View) error {
+ return func(g *gocui.Gui, v *gocui.View) error {
+ view, err := g.View(sideViewName)
+ if err != nil {
+ gui.Log.Error(err)
+ return nil
+ }
+ return gui.switchFocus(g, nil, view)
}
- return gui.switchFocus(g, nil, view)
}
// pass in oldView = nil if you don't want to be able to return to your old view