@@ -1,15 +1,11 @@
1package util
1package util
7 tea "charm.land/bubbletea/v2"
4 tea "charm.land/bubbletea/v2"
5+ "github.com/charmbracelet/crush/internal/uiutil"
10−type Cursor interface {
8+type Cursor = uiutil.Cursor
14type Model interface {
10type Model interface {
15 Init() tea.Cmd
11 Init() tea.Cmd
@@ -18,48 +14,32 @@ type Model interface {
20func CmdHandler(msg tea.Msg) tea.Cmd {
16func CmdHandler(msg tea.Msg) tea.Cmd {
21− return func() tea.Msg {
17+ return uiutil.CmdHandler(msg)
26func ReportError(err error) tea.Cmd {
20func ReportError(err error) tea.Cmd {
27− slog.Error("Error reported", "error", err)
21+ return uiutil.ReportError(err)
28− return CmdHandler(InfoMsg{
34−type InfoType int
24+type InfoType = uiutil.InfoType
37− InfoTypeInfo InfoType = iota
27+ InfoTypeInfo = uiutil.InfoTypeInfo
38− InfoTypeSuccess
28+ InfoTypeSuccess = uiutil.InfoTypeSuccess
39− InfoTypeWarn
29+ InfoTypeWarn = uiutil.InfoTypeWarn
40− InfoTypeError
30+ InfoTypeError = uiutil.InfoTypeError
41− InfoTypeUpdate
31+ InfoTypeUpdate = uiutil.InfoTypeUpdate
44func ReportInfo(info string) tea.Cmd {
34func ReportInfo(info string) tea.Cmd {
45− return CmdHandler(InfoMsg{
35+ return uiutil.ReportInfo(info)
51func ReportWarn(warn string) tea.Cmd {
38func ReportWarn(warn string) tea.Cmd {
52− return CmdHandler(InfoMsg{
39+ return uiutil.ReportWarn(warn)
59− InfoMsg struct {
43+ InfoMsg = uiutil.InfoMsg
64− ClearStatusMsg struct{}
44+ ClearStatusMsg = uiutil.ClearStatusMsg