chore: apply ProgramOptions before checking context

We don't need to set the background context if an outside context
was supplied.
This commit is contained in:
Christian Muehlhaeuser 2022-10-30 06:08:36 +01:00
parent 280bc6fc27
commit 4f83c621fb
1 changed files with 5 additions and 6 deletions

11
tea.go
View File

@ -141,20 +141,19 @@ func NewProgram(model Model, opts ...ProgramOption) *Program {
msgs: make(chan Msg),
}
// Apply all options to the program.
for _, opt := range opts {
opt(p)
}
// A context can be provided with a ProgramOption, but if none was provided
// we'll use the default background context.
if p.ctx == nil {
p.ctx = context.Background()
}
// Initialize context and teardown channel.
p.ctx, p.cancel = context.WithCancel(p.ctx)
// Apply all options to the program.
for _, opt := range opts {
opt(p)
}
// if no output was set, set it to stdout
if p.output == nil {
p.output = termenv.DefaultOutput()