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