util.go

 1package util
 2
 3import (
 4	tea "charm.land/bubbletea/v2"
 5	"github.com/charmbracelet/crush/internal/uiutil"
 6)
 7
 8type Cursor = uiutil.Cursor
 9
10type Model interface {
11	Init() tea.Cmd
12	Update(tea.Msg) (Model, tea.Cmd)
13	View() string
14}
15
16func CmdHandler(msg tea.Msg) tea.Cmd {
17	return uiutil.CmdHandler(msg)
18}
19
20func ReportError(err error) tea.Cmd {
21	return uiutil.ReportError(err)
22}
23
24type InfoType = uiutil.InfoType
25
26const (
27	InfoTypeInfo    = uiutil.InfoTypeInfo
28	InfoTypeSuccess = uiutil.InfoTypeSuccess
29	InfoTypeWarn    = uiutil.InfoTypeWarn
30	InfoTypeError   = uiutil.InfoTypeError
31	InfoTypeUpdate  = uiutil.InfoTypeUpdate
32)
33
34func ReportInfo(info string) tea.Cmd {
35	return uiutil.ReportInfo(info)
36}
37
38func ReportWarn(warn string) tea.Cmd {
39	return uiutil.ReportWarn(warn)
40}
41
42type (
43	InfoMsg        = uiutil.InfoMsg
44	ClearStatusMsg = uiutil.ClearStatusMsg
45)