package ui import "github.com/charmbracelet/bubbles/key" // keyMap is the global keybinding set, shared across views. Help text is // derived from these so the footer never drifts from behavior. type keyMap struct { Up key.Binding Down key.Binding GridLeft key.Binding GridRight key.Binding Enter key.Binding Back key.Binding NextLg key.Binding PrevLg key.Binding AllLg key.Binding Refresh key.Binding FavAway key.Binding FavHome key.Binding Theme key.Binding State key.Binding StateBack key.Binding Leagues key.Binding Toggle key.Binding MoveUp key.Binding MoveDown key.Binding Standings key.Binding Schedule key.Binding ScheduleHome key.Binding ResetLeagues key.Binding Quit key.Binding } var keys = keyMap{ Up: key.NewBinding( key.WithKeys("up", "k"), key.WithHelp("↑/k", "up"), ), Down: key.NewBinding( key.WithKeys("down", "j"), key.WithHelp("↓/j", "down"), ), GridLeft: key.NewBinding( key.WithKeys("left"), key.WithHelp("←/→", "move"), ), GridRight: key.NewBinding( key.WithKeys("right"), key.WithHelp("→", "right"), ), Enter: key.NewBinding( key.WithKeys("enter", "l"), key.WithHelp("enter", "open game"), ), Back: key.NewBinding( key.WithKeys("esc", "h", "backspace"), key.WithHelp("esc", "back"), ), NextLg: key.NewBinding( key.WithKeys("tab", "right"), key.WithHelp("tab", "next league"), ), PrevLg: key.NewBinding( key.WithKeys("shift+tab", "left"), key.WithHelp("⇧tab", "prev league"), ), AllLg: key.NewBinding( key.WithKeys("a"), key.WithHelp("a", "all leagues"), ), Refresh: key.NewBinding( key.WithKeys("r"), key.WithHelp("r", "refresh"), ), FavAway: key.NewBinding( key.WithKeys("f"), key.WithHelp("f", "fav away"), ), FavHome: key.NewBinding( key.WithKeys("F"), key.WithHelp("F", "fav home"), ), Theme: key.NewBinding( key.WithKeys("t"), key.WithHelp("t", "theme"), ), State: key.NewBinding( key.WithKeys("v"), key.WithHelp("v/V", "filter"), ), StateBack: key.NewBinding( key.WithKeys("V"), key.WithHelp("V", "filter back"), ), Leagues: key.NewBinding( key.WithKeys("L"), key.WithHelp("L", "leagues"), ), Toggle: key.NewBinding( key.WithKeys(" ", "space", "x", "enter"), key.WithHelp("space", "toggle"), ), MoveUp: key.NewBinding( key.WithKeys("shift+up", "K"), key.WithHelp("K", "move up"), ), MoveDown: key.NewBinding( key.WithKeys("shift+down", "J"), key.WithHelp("J", "move down"), ), Standings: key.NewBinding( key.WithKeys("s", "S"), key.WithHelp("s", "standings"), ), Schedule: key.NewBinding( key.WithKeys("g"), key.WithHelp("g", "sched away"), ), ScheduleHome: key.NewBinding( key.WithKeys("G"), key.WithHelp("G", "sched home"), ), ResetLeagues: key.NewBinding( key.WithKeys("0"), key.WithHelp("0", "auto"), ), Quit: key.NewBinding( key.WithKeys("q", "ctrl+c"), key.WithHelp("q", "quit"), ), }