forked from Mirrors/bubbletea
Pull batch processing into the internal message switch
This commit is contained in:
parent
4fbe50adb6
commit
c07cbd1e32
18
tea.go
18
tea.go
|
@ -422,8 +422,8 @@ func (p *Program) Start() error {
|
||||||
return err
|
return err
|
||||||
case msg := <-msgs:
|
case msg := <-msgs:
|
||||||
|
|
||||||
// Handle special messages
|
// Handle special internal messages
|
||||||
switch msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case quitMsg:
|
case quitMsg:
|
||||||
p.ExitAltScreen()
|
p.ExitAltScreen()
|
||||||
p.DisableMouseCellMotion()
|
p.DisableMouseCellMotion()
|
||||||
|
@ -432,6 +432,12 @@ func (p *Program) Start() error {
|
||||||
close(done)
|
close(done)
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
|
case batchMsg:
|
||||||
|
for _, cmd := range msg {
|
||||||
|
cmds <- cmd
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
|
||||||
case enterAltScreenMsg:
|
case enterAltScreenMsg:
|
||||||
p.EnterAltScreen()
|
p.EnterAltScreen()
|
||||||
|
|
||||||
|
@ -452,14 +458,6 @@ func (p *Program) Start() error {
|
||||||
hideCursor(p.output)
|
hideCursor(p.output)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process batch commands
|
|
||||||
if batchedCmds, ok := msg.(batchMsg); ok {
|
|
||||||
for _, cmd := range batchedCmds {
|
|
||||||
cmds <- cmd
|
|
||||||
}
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
// Process internal messages for the renderer
|
// Process internal messages for the renderer
|
||||||
if r, ok := p.renderer.(*standardRenderer); ok {
|
if r, ok := p.renderer.(*standardRenderer); ok {
|
||||||
r.handleMessages(msg)
|
r.handleMessages(msg)
|
||||||
|
|
Loading…
Reference in New Issue