diff --git a/test/lazyintegration/main.go b/test/lazyintegration/main.go
index 8a3ebf7c2..545ba0706 100644
--- a/test/lazyintegration/main.go
+++ b/test/lazyintegration/main.go
@@ -72,7 +72,7 @@ func main() {
 
 Loop:
 	for {
-		g, err := gocui.NewGui(gocui.OutputNormal, false, false)
+		g, err := gocui.NewGui(gocui.OutputTrue, false, gocui.NORMAL)
 		if err != nil {
 			log.Panicln(err)
 		}
diff --git a/vendor/github.com/jesseduffield/gocui/gui.go b/vendor/github.com/jesseduffield/gocui/gui.go
index 19ea5b2d6..704f744bb 100644
--- a/vendor/github.com/jesseduffield/gocui/gui.go
+++ b/vendor/github.com/jesseduffield/gocui/gui.go
@@ -7,6 +7,7 @@ package gocui
 import (
 	standardErrors "errors"
 	"fmt"
+	"log"
 	"runtime"
 	"strings"
 	"sync"
@@ -1182,3 +1183,49 @@ func IsUnknownView(err error) bool {
 func IsQuit(err error) bool {
 	return err != nil && err.Error() == ErrQuit.Error()
 }
+
+func (g *Gui) replayRecording() {
+	ticker := time.NewTicker(time.Millisecond)
+	defer ticker.Stop()
+
+	// The playback could be paused at any time because integration tests run concurrently.
+	// Therefore we can't just check for a given event whether we've passed its timestamp,
+	// or else we'll have an explosion of keypresses after the test is resumed.
+	// We need to check if we've waited long enough since the last event was replayed.
+	// Only handling key events for now.
+	for i, event := range g.Recording.KeyEvents {
+		var prevEventTimestamp int64 = 0
+		if i > 0 {
+			prevEventTimestamp = g.Recording.KeyEvents[i-1].Timestamp
+		}
+		timeToWait := (event.Timestamp - prevEventTimestamp) / int64(g.RecordingConfig.Speed)
+		if i == 0 {
+			timeToWait += int64(g.RecordingConfig.Leeway)
+		}
+		var timeWaited int64 = 0
+	middle:
+		for {
+			select {
+			case <-ticker.C:
+				timeWaited += 1
+				if g != nil && timeWaited >= timeToWait {
+					g.ReplayedEvents.keys <- event
+					break middle
+				}
+			case <-g.stop:
+				return
+			}
+		}
+	}
+
+	// leaving some time for any handlers to execute before quitting
+	time.Sleep(time.Second * 1)
+
+	g.Update(func(*Gui) error {
+		return ErrQuit
+	})
+
+	time.Sleep(time.Second * 1)
+
+	log.Fatal("gocui should have already exited")
+}
diff --git a/vendor/github.com/jesseduffield/gocui/recording.go b/vendor/github.com/jesseduffield/gocui/recording.go
deleted file mode 100644
index 2c3241b94..000000000
--- a/vendor/github.com/jesseduffield/gocui/recording.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package gocui
-
-import (
-	"log"
-	"time"
-)
-
-func (g *Gui) replayRecording() {
-	ticker := time.NewTicker(time.Millisecond)
-	defer ticker.Stop()
-
-	// The playback could be paused at any time because integration tests run concurrently.
-	// Therefore we can't just check for a given event whether we've passed its timestamp,
-	// or else we'll have an explosion of keypresses after the test is resumed.
-	// We need to check if we've waited long enough since the last event was replayed.
-	// Only handling key events for now.
-	for i, event := range g.Recording.KeyEvents {
-		var prevEventTimestamp int64 = 0
-		if i > 0 {
-			prevEventTimestamp = g.Recording.KeyEvents[i-1].Timestamp
-		}
-		timeToWait := (event.Timestamp - prevEventTimestamp) / int64(g.RecordingConfig.Speed)
-		if i == 0 {
-			timeToWait += int64(g.RecordingConfig.Leeway)
-		}
-		var timeWaited int64 = 0
-	middle:
-		for {
-			select {
-			case <-ticker.C:
-				timeWaited += 1
-				if g != nil && timeWaited >= timeToWait {
-					g.ReplayedEvents.keys <- event
-					break middle
-				}
-			case <-g.stop:
-				return
-			}
-		}
-	}
-
-	// leaving some time for any handlers to execute before quitting
-	time.Sleep(time.Second * 1)
-
-	g.Update(func(*Gui) error {
-		return ErrQuit
-	})
-
-	time.Sleep(time.Second * 1)
-
-	log.Fatal("gocui should have already exited")
-}
diff --git a/vendor/github.com/jesseduffield/gocui/tcell_driver.go b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
index 637d650c5..12f269f04 100644
--- a/vendor/github.com/jesseduffield/gocui/tcell_driver.go
+++ b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
@@ -190,7 +190,9 @@ func (g *Gui) pollEvent() GocuiEvent {
 		return GocuiEvent{Type: eventResize, Width: w, Height: h}
 	case *tcell.EventKey:
 		if g.PlayMode == RECORDING {
-			g.Recording.KeyEvents = append(g.Recording.KeyEvents, NewTcellKeyEventWrapper(tev, g.timeSinceStart()))
+			g.Recording.KeyEvents = append(
+				g.Recording.KeyEvents, NewTcellKeyEventWrapper(tev, g.timeSinceStart()),
+			)
 		}
 
 		k := tev.Key()