Documentation
¶
Overview ¶
Package ui renders the chat stream as a full-screen terminal interface.
The design constraint is that a busy channel produces messages far faster than a person can read them: source goroutines must never block on rendering, and rendering must not run once per message. Messages are therefore buffered by sink and handed to Bubble Tea in batches.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Options ¶
type Options struct {
Sources []SourceInfo
Unified bool
Timestamps bool
Compact bool
Scrollback int
Filter *filter.Filter
}
Options configures the UI. Filter may be nil, in which case the filter toggle is hidden.
type Program ¶
type Program struct {
// contains filtered or unexported fields
}
Program is a running TUI.
func (*Program) Dropped ¶
Dropped reports messages discarded because the UI could not keep up. It is meaningful only after Run returns.
func (*Program) Quit ¶
func (p *Program) Quit()
Quit asks the interface to shut down, e.g. because a signal arrived.
type SourceInfo ¶
SourceInfo describes a source to the UI before it has produced anything.