Repository navigation
Expand file tree
/
Copy pathkeymap.go
More file actions
87 lines (79 loc) · 1.84 KB
/
Copy pathkeymap.go
File metadata and controls
87 lines (79 loc) · 1.84 KB
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
package tui
import "github.com/charmbracelet/bubbles/key"
type KeyMap struct {
Tab key.Binding
PanelTasks key.Binding
PanelServices key.Binding
PanelOutput key.Binding
PanelReleases key.Binding
Quit key.Binding
ForceQuit key.Binding
Refresh key.Binding
Help key.Binding
Escape key.Binding
ToggleLogs key.Binding
MergeMRs key.Binding
ReleaseAction key.Binding
}
func DefaultKeyMap() KeyMap {
return KeyMap{
Tab: key.NewBinding(
key.WithKeys("tab"),
key.WithHelp("tab", "next panel"),
),
PanelTasks: key.NewBinding(
key.WithKeys("1"),
key.WithHelp("1", "focus tasks"),
),
PanelServices: key.NewBinding(
key.WithKeys("2"),
key.WithHelp("2", "focus services"),
),
PanelOutput: key.NewBinding(
key.WithKeys("0"),
key.WithHelp("0", "focus output"),
),
PanelReleases: key.NewBinding(
key.WithKeys("3"),
key.WithHelp("3", "focus releases"),
),
Quit: key.NewBinding(
key.WithKeys("q"),
key.WithHelp("q", "quit"),
),
ForceQuit: key.NewBinding(
key.WithKeys("ctrl+c"),
key.WithHelp("ctrl+c", "quit"),
),
Refresh: key.NewBinding(
key.WithKeys("r"),
key.WithHelp("r", "refresh tasks/repos"),
),
Help: key.NewBinding(
key.WithKeys("?"),
key.WithHelp("?", "help"),
),
Escape: key.NewBinding(
key.WithKeys("esc"),
key.WithHelp("esc", "back"),
),
ToggleLogs: key.NewBinding(
key.WithKeys("L"),
key.WithHelp("L", "logs"),
),
MergeMRs: key.NewBinding(
key.WithKeys("M"),
key.WithHelp("M", "merge ready MRs"),
),
ReleaseAction: key.NewBinding(
key.WithKeys("F"),
key.WithHelp("F", "promote/finalize release"),
),
}
}
func (k KeyMap) GlobalBindings() []key.Binding {
return []key.Binding{
k.Tab, k.PanelTasks, k.PanelServices, k.PanelOutput, k.PanelReleases,
k.Quit, k.ForceQuit, k.Refresh, k.Help, k.ToggleLogs,
}
}