summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-08-11 20:25:36 +1000
committerJesse Duffield <jessedduffield@gmail.com>2020-08-12 18:47:16 +1000
commit1b78a42b80098fa2376b33efb3e84a0da56b7ad9 (patch)
treed73d450eecc4c7bff33508e44d52a1828699ee1c /pkg/gui
parent79e73d2effc3232122e1faa3b84d6e3953dbd3c7 (diff)
pass callback directly
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/credentials_panel.go6
-rw-r--r--pkg/gui/files_panel.go8
-rw-r--r--pkg/gui/global_handlers.go4
3 files changed, 6 insertions, 12 deletions
diff --git a/pkg/gui/credentials_panel.go b/pkg/gui/credentials_panel.go
index 37565e155..d1696b163 100644
--- a/pkg/gui/credentials_panel.go
+++ b/pkg/gui/credentials_panel.go
@@ -9,9 +9,9 @@ import (
type credentials chan string
// waitForPassUname wait for a username or password input from the credentials popup
-func (gui *Gui) waitForPassUname(g *gocui.Gui, currentView *gocui.View, passOrUname string) string {
+func (gui *Gui) waitForPassUname(passOrUname string) string {
gui.credentials = make(chan string)
- g.Update(func(g *gocui.Gui) error {
+ gui.g.Update(func(g *gocui.Gui) error {
credentialsView, _ := g.View("credentials")
if passOrUname == "username" {
credentialsView.Title = gui.Tr.SLocalize("CredentialsUsername")
@@ -20,7 +20,7 @@ func (gui *Gui) waitForPassUname(g *gocui.Gui, currentView *gocui.View, passOrUn
credentialsView.Title = gui.Tr.SLocalize("CredentialsPassword")
credentialsView.Mask = '*'
}
- err := gui.switchFocus(g, currentView, credentialsView)
+ err := gui.switchFocus(g, gui.g.CurrentView(), credentialsView)
if err != nil {
return err
}
diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go
index f2bbb27c4..5194aa82c 100644
--- a/pkg/gui/files_panel.go
+++ b/pkg/gui/files_panel.go
@@ -477,9 +477,7 @@ func (gui *Gui) pullFiles(v *gocui.View, args string) error {
// what if we had a struct which contained an array of functions to run, each of which return a function, or perhaps write to a channel when they're done, and if there is no error, we run the next thing. In this case we first want to fetch, potentially handling a credential popup, then we want to rebase.
go func() {
- err := gui.GitCommand.Pull(args, func(passOrUname string) string {
- return gui.waitForPassUname(gui.g, v, passOrUname)
- })
+ err := gui.GitCommand.Pull(args, gui.waitForPassUname)
// gui.handleGenericMergeCommandResult(err)
gui.HandleCredentialsPopup(gui.g, err)
}()
@@ -493,9 +491,7 @@ func (gui *Gui) pushWithForceFlag(g *gocui.Gui, v *gocui.View, force bool, upstr
}
go func() {
branchName := gui.getCheckedOutBranch().Name
- err := gui.GitCommand.Push(branchName, force, upstream, args, func(passOrUname string) string {
- return gui.waitForPassUname(g, v, passOrUname)
- })
+ err := gui.GitCommand.Push(branchName, force, upstream, args, gui.waitForPassUname)
gui.HandleCredentialsPopup(g, err)
}()
return nil
diff --git a/pkg/gui/global_handlers.go b/pkg/gui/global_handlers.go
index d46e4ab75..4c9c5cf37 100644
--- a/pkg/gui/global_handlers.go
+++ b/pkg/gui/global_handlers.go
@@ -167,9 +167,7 @@ func (gui *Gui) handleInfoClick(g *gocui.Gui, v *gocui.View) error {
}
func (gui *Gui) fetch(g *gocui.Gui, v *gocui.View, canAskForCredentials bool) (err error) {
- err = gui.GitCommand.Fetch(func(passOrUname string) string {
- return gui.waitForPassUname(gui.g, v, passOrUname)
- }, canAskForCredentials)
+ err = gui.GitCommand.Fetch(gui.waitForPassUname, canAskForCredentials)
if canAskForCredentials && err != nil && strings.Contains(err.Error(), "exit status 128") {
colorFunction := color.New(color.FgRed).SprintFunc()