mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-03-21 21:47:32 +02:00
minor refactor
This commit is contained in:
parent
d4622bac30
commit
c7e23952c7
@ -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)
|
||||
}
|
||||
|
47
vendor/github.com/jesseduffield/gocui/gui.go
generated
vendored
47
vendor/github.com/jesseduffield/gocui/gui.go
generated
vendored
@ -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")
|
||||
}
|
||||
|
52
vendor/github.com/jesseduffield/gocui/recording.go
generated
vendored
52
vendor/github.com/jesseduffield/gocui/recording.go
generated
vendored
@ -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")
|
||||
}
|
4
vendor/github.com/jesseduffield/gocui/tcell_driver.go
generated
vendored
4
vendor/github.com/jesseduffield/gocui/tcell_driver.go
generated
vendored
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user