1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
package ui
import "github.com/charmbracelet/bubbles/key"
type KeyMap struct {
Up key.Binding
Down key.Binding
Left key.Binding
Right key.Binding
Enter key.Binding
Delete key.Binding
Restore key.Binding
Rename key.Binding
Reassign key.Binding
ReassignAll key.Binding
Search key.Binding
DeepSearch key.Binding
NextMatch key.Binding
PrevMatch key.Binding
Tab key.Binding
Clear key.Binding
Quit key.Binding
Help key.Binding
Escape key.Binding
Confirm key.Binding
HalfUp key.Binding
HalfDown key.Binding
Top key.Binding
Bottom key.Binding
Preview key.Binding
}
func DefaultKeyMap() KeyMap {
return KeyMap{
Up: key.NewBinding(
key.WithKeys("k", "up"),
key.WithHelp("k", "move up"),
),
Down: key.NewBinding(
key.WithKeys("j", "down"),
key.WithHelp("j", "move down"),
),
Left: key.NewBinding(
key.WithKeys("h", "left"),
key.WithHelp("h", "previous tab"),
),
Right: key.NewBinding(
key.WithKeys("l", "right"),
key.WithHelp("l", "next tab"),
),
HalfUp: key.NewBinding(
key.WithKeys("ctrl+u"),
key.WithHelp("ctrl+u", "page up"),
),
HalfDown: key.NewBinding(
key.WithKeys("ctrl+d"),
key.WithHelp("ctrl+d", "page down"),
),
Top: key.NewBinding(
key.WithKeys("g", "home"),
key.WithHelp("gg", "jump to top"),
),
Bottom: key.NewBinding(
key.WithKeys("G", "end"),
key.WithHelp("G", "jump to bottom"),
),
Enter: key.NewBinding(
key.WithKeys("enter"),
key.WithHelp("return", "select"),
),
Delete: key.NewBinding(
key.WithKeys("d", "x"),
key.WithHelp("d", "move to bin"),
),
Restore: key.NewBinding(
key.WithKeys("u"),
key.WithHelp("u", "restore"),
),
Rename: key.NewBinding(
key.WithKeys("c"),
key.WithHelp("c", "rename"),
),
Reassign: key.NewBinding(
key.WithKeys("r"),
key.WithHelp("r", "reassign folder"),
),
ReassignAll: key.NewBinding(
key.WithKeys("R"),
key.WithHelp("R", "reassign all"),
),
Search: key.NewBinding(
key.WithKeys("/"),
key.WithHelp("/", "filter"),
),
DeepSearch: key.NewBinding(
key.WithKeys("s"),
key.WithHelp("s", "search"),
),
NextMatch: key.NewBinding(
key.WithKeys("n"),
key.WithHelp("n", "next match"),
),
PrevMatch: key.NewBinding(
key.WithKeys("N"),
key.WithHelp("N", "previous match"),
),
Tab: key.NewBinding(
key.WithKeys("tab"),
key.WithHelp("tab", "switch focus"),
),
Clear: key.NewBinding(
key.WithKeys("D"),
key.WithHelp("D", "empty bin"),
),
Quit: key.NewBinding(
key.WithKeys("q", "ctrl+c"),
key.WithHelp("q", "quit"),
),
Help: key.NewBinding(
key.WithKeys("?"),
key.WithHelp("?", "help"),
),
Escape: key.NewBinding(
key.WithKeys("esc"),
key.WithHelp("esc", "cancel"),
),
Confirm: key.NewBinding(
key.WithKeys("y", "Y"),
key.WithHelp("y", "confirm"),
),
Preview: key.NewBinding(
key.WithKeys("p"),
key.WithHelp("p", "toggle preview"),
),
}
}
|