| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package util
- import (
- "time"
- tea "github.com/charmbracelet/bubbletea"
- )
- func CmdHandler(msg tea.Msg) tea.Cmd {
- return func() tea.Msg {
- return msg
- }
- }
- func ReportError(err error) tea.Cmd {
- return CmdHandler(InfoMsg{
- Type: InfoTypeError,
- Msg: err.Error(),
- })
- }
- type InfoType int
- const (
- InfoTypeInfo InfoType = iota
- InfoTypeWarn
- InfoTypeError
- )
- func ReportInfo(info string) tea.Cmd {
- return CmdHandler(InfoMsg{
- Type: InfoTypeInfo,
- Msg: info,
- })
- }
- func ReportWarn(warn string) tea.Cmd {
- return CmdHandler(InfoMsg{
- Type: InfoTypeWarn,
- Msg: warn,
- })
- }
- type (
- InfoMsg struct {
- Type InfoType
- Msg string
- TTL time.Duration
- }
- ClearStatusMsg struct{}
- )
- func Clamp(v, low, high int) int {
- if high < low {
- low, high = high, low
- }
- return min(high, max(low, v))
- }
|