summaryrefslogtreecommitdiffstats
path: root/gui.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2018-06-02 13:51:03 +1000
committerJesse Duffield <jessedduffield@gmail.com>2018-06-02 13:51:03 +1000
commit80bcc7c16eb0a9c25d408785213e3b1cad48915b (patch)
treee99c3de03ace4d2ea373a2734ff5753bceee9a85 /gui.go
parenta0c8fc8899bc107f58d2081da0754028d1ff5383 (diff)
More stuff
Diffstat (limited to 'gui.go')
-rw-r--r--gui.go27
1 files changed, 22 insertions, 5 deletions
diff --git a/gui.go b/gui.go
index c16fc1cd5..136334656 100644
--- a/gui.go
+++ b/gui.go
@@ -6,6 +6,7 @@ import (
// "io/ioutil"
"log"
+ "time"
// "strings"
"github.com/jroimartin/gocui"
@@ -155,22 +156,26 @@ func keybindings(g *gocui.Gui) error {
if err := g.SetKeybinding("branches", 'F', gocui.ModNone, handleForceCheckout); err != nil {
return err
}
+ if err := g.SetKeybinding("branches", 'n', gocui.ModNone, handleNewBranch); err != nil {
+ return err
+ }
if err := g.SetKeybinding("commits", 's', gocui.ModNone, handleCommitSquashDown); err != nil {
return err
}
if err := g.SetKeybinding("commits", 'r', gocui.ModNone, handleRenameCommit); err != nil {
return err
}
- if err := g.SetKeybinding("", '∑', gocui.ModNone, handleLogState); err != nil {
+ if err := g.SetKeybinding("commits", 'g', gocui.ModNone, handleResetToCommit); err != nil {
+ return err
+ }
+ if err := g.SetKeybinding("", 'S', gocui.ModNone, genericTest); err != nil {
return err
}
return nil
}
-func handleLogState(g *gocui.Gui, v *gocui.View) error {
- devLog("state is:", state)
- devLog("previous view:", state.PreviousView)
- refreshBranches(g)
+func genericTest(g *gocui.Gui, v *gocui.View) error {
+ pushFiles(g, v)
return nil
}
@@ -247,6 +252,11 @@ func layout(g *gocui.Gui) error {
return nil
}
+func fetch(g *gocui.Gui) {
+ gitFetch()
+ refreshStatus(g)
+}
+
func run() {
g, err := gocui.NewGui(gocui.OutputNormal)
if err != nil {
@@ -254,6 +264,13 @@ func run() {
}
defer g.Close()
+ // periodically fetching to check for upstream differences
+ go func() {
+ for range time.Tick(time.Second * 60) {
+ fetch(g)
+ }
+ }()
+
g.SetManagerFunc(layout)
if err := keybindings(g); err != nil {