package common import ( "github.com/charmbracelet/bubbles/key" ) // Keymap is a collection of key bindings. type Keymap struct { Quit key.Binding Back key.Binding Add key.Binding Edit key.Binding SetReport key.Binding SetContext key.Binding SetProject key.Binding Select key.Binding } // NewKeymap creates a new Keymap. func NewKeymap() *Keymap { return &Keymap{ Quit: key.NewBinding( key.WithKeys("q", "ctrl+c"), key.WithHelp("q, ctrl+c", "Quit"), ), Back: key.NewBinding( key.WithKeys("esc"), key.WithHelp("esc", "Back"), ), Add: key.NewBinding( key.WithKeys("a"), key.WithHelp("a", "Add new task"), ), Edit: key.NewBinding( key.WithKeys("e"), key.WithHelp("e", "Edit task"), ), SetReport: key.NewBinding( key.WithKeys("r"), key.WithHelp("r", "Set report"), ), SetContext: key.NewBinding( key.WithKeys("c"), key.WithHelp("c", "Set context"), ), SetProject: key.NewBinding( key.WithKeys("p"), key.WithHelp("p", "Set project"), ), Select: key.NewBinding( key.WithKeys("enter"), key.WithHelp("enter", "Select"), ), } }