package tui import "github.com/charmbracelet/bubbles/key" // KeyMap defines key bindings for the TUI. type KeyMap struct { Up key.Binding Down key.Binding Left key.Binding Right key.Binding Enter key.Binding Space key.Binding Tab key.Binding Delete key.Binding SelectAll key.Binding Convert key.Binding Quit key.Binding Help key.Binding Back key.Binding Preview key.Binding Reset key.Binding Refresh key.Binding } // DefaultKeyMap returns the default key bindings. func DefaultKeyMap() KeyMap { return KeyMap{ Up: key.NewBinding( key.WithKeys("up", "k"), key.WithHelp("↑/k", "up"), ), Down: key.NewBinding( key.WithKeys("down", "j"), key.WithHelp("↓/j", "down"), ), Left: key.NewBinding( key.WithKeys("left", "h"), key.WithHelp("←/h", "prev format"), ), Right: key.NewBinding( key.WithKeys("right", "l"), key.WithHelp("→/l", "next format"), ), Enter: key.NewBinding( key.WithKeys("enter"), key.WithHelp("enter", "confirm"), ), Space: key.NewBinding( key.WithKeys(" "), key.WithHelp("space", "toggle select"), ), Tab: key.NewBinding( key.WithKeys("tab"), key.WithHelp("tab", "cycle format"), ), Delete: key.NewBinding( key.WithKeys("d", "delete", "backspace"), key.WithHelp("d", "remove file"), ), SelectAll: key.NewBinding( key.WithKeys("a"), key.WithHelp("a", "select all"), ), Convert: key.NewBinding( key.WithKeys("c"), key.WithHelp("c", "convert"), ), Quit: key.NewBinding( key.WithKeys("q", "ctrl+c"), key.WithHelp("q", "quit"), ), Help: key.NewBinding( key.WithKeys("?"), key.WithHelp("?", "help"), ), Back: key.NewBinding( key.WithKeys("esc"), key.WithHelp("esc", "back"), ), Preview: key.NewBinding( key.WithKeys("p"), key.WithHelp("p", "preview file"), ), Reset: key.NewBinding( key.WithKeys("r"), key.WithHelp("r", "reset to idle"), ), Refresh: key.NewBinding( key.WithKeys("f"), key.WithHelp("f", "refresh files"), ), } }