package dialogs import ( "github.com/charmbracelet/bubbles/v2/key" ) // KeyMap defines keyboard bindings for dialog management. type KeyMap struct { Close key.Binding } func DefaultKeyMap() KeyMap { return KeyMap{ Close: key.NewBinding( key.WithKeys("esc", "alt+esc"), ), } } // KeyBindings implements layout.KeyMapProvider func (k KeyMap) KeyBindings() []key.Binding { return []key.Binding{ k.Close, } } // FullHelp implements help.KeyMap. func (k KeyMap) FullHelp() [][]key.Binding { m := [][]key.Binding{} slice := k.KeyBindings() for i := 0; i < len(slice); i += 4 { end := min(i+4, len(slice)) m = append(m, slice[i:end]) } return m } // ShortHelp implements help.KeyMap. func (k KeyMap) ShortHelp() []key.Binding { return []key.Binding{ k.Close, } }