package copyas import ( "charm.land/bubbles/v2/key" tea "charm.land/bubbletea/v2" "github.com/anotherhadi/spilltea/internal/keys" ) func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { if kp, ok := msg.(tea.KeyPressMsg); ok { switch { case kp.String() == "enter": if item, ok := m.list.SelectedItem().(formatItem); ok { writeClipboard(formatAs(item.id, m.rawRequest, m.scheme)) } m.open = false return m, nil case key.Matches(kp, keys.Keys.Global.Escape): if m.list.SettingFilter() { break } m.open = false return m, nil } } var cmd tea.Cmd m.list, cmd = m.list.Update(msg) return m, cmd }