keys.go

 1package splash
 2
 3import (
 4	"github.com/charmbracelet/bubbles/v2/key"
 5)
 6
 7type KeyMap struct {
 8	Select,
 9	Next,
10	Previous,
11	Yes,
12	No,
13	Tab,
14	LeftRight key.Binding
15}
16
17func DefaultKeyMap() KeyMap {
18	return KeyMap{
19		Select: key.NewBinding(
20			key.WithKeys("enter", "ctrl+y"),
21			key.WithHelp("enter", "confirm"),
22		),
23		Next: key.NewBinding(
24			key.WithKeys("down", "ctrl+n"),
25			key.WithHelp("↓", "next item"),
26		),
27		Previous: key.NewBinding(
28			key.WithKeys("up", "ctrl+p"),
29			key.WithHelp("↑", "previous item"),
30		),
31		Yes: key.NewBinding(
32			key.WithKeys("y"),
33			key.WithHelp("y", "yes"),
34		),
35		No: key.NewBinding(
36			key.WithKeys("n"),
37			key.WithHelp("n", "no"),
38		),
39		Tab: key.NewBinding(
40			key.WithKeys("tab"),
41			key.WithHelp("tab", "switch"),
42		),
43		LeftRight: key.NewBinding(
44			key.WithKeys("left", "right"),
45			key.WithHelp("←/→", "switch"),
46		),
47	}
48}