package model import ( "context" "github.com/derailed/tview" ) // Igniter represents a runnable view. type Igniter interface { // Start starts a component. Init(ctx context.Context) // Start starts a component. Start() // Stop terminates a component. Stop() } // Hinter represent a menu mnemonic provider. type Hinter interface { Hints() MenuHints } // Primitive represents a UI primitive. type Primitive interface { tview.Primitive // Name returns the view name. Name() string } // Component represents a ui component type Component interface { Primitive Igniter Hinter }