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,
15 Back key.Binding
16}
17
18func DefaultKeyMap() KeyMap {
19 return KeyMap{
20 Select: key.NewBinding(
21 key.WithKeys("enter", "ctrl+y"),
22 key.WithHelp("enter", "confirm"),
23 ),
24 Next: key.NewBinding(
25 key.WithKeys("down", "ctrl+n"),
26 key.WithHelp("↓", "next item"),
27 ),
28 Previous: key.NewBinding(
29 key.WithKeys("up", "ctrl+p"),
30 key.WithHelp("↑", "previous item"),
31 ),
32 Yes: key.NewBinding(
33 key.WithKeys("y"),
34 key.WithHelp("y", "yes"),
35 ),
36 No: key.NewBinding(
37 key.WithKeys("n"),
38 key.WithHelp("n", "no"),
39 ),
40 Tab: key.NewBinding(
41 key.WithKeys("tab"),
42 key.WithHelp("tab", "switch"),
43 ),
44 LeftRight: key.NewBinding(
45 key.WithKeys("left", "right"),
46 key.WithHelp("←/→", "switch"),
47 ),
48 Back: key.NewBinding(
49 key.WithKeys("esc"),
50 key.WithHelp("esc", "back"),
51 ),
52 }
53}