Skip to content

Commit e16b723

Browse files
authored
Create keys.go
1 parent eeefd7b commit e16b723

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

source-code/src/keys.go

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package src
2+
3+
import (
4+
"github.com/charmbracelet/bubbles/key"
5+
)
6+
7+
type mode int
8+
9+
const (
10+
explorerMode mode = iota
11+
editorMode
12+
progressMode
13+
fuzzyMode
14+
bulkRenameMode
15+
)
16+
17+
type keyMap struct {
18+
quit key.Binding
19+
execute key.Binding
20+
save key.Binding
21+
cancel key.Binding
22+
refresh key.Binding
23+
enter key.Binding
24+
back key.Binding
25+
selectIt key.Binding
26+
filter key.Binding
27+
tab key.Binding
28+
down key.Binding
29+
up key.Binding
30+
left key.Binding
31+
right key.Binding
32+
copy key.Binding
33+
move key.Binding
34+
delete key.Binding
35+
fuzzy key.Binding
36+
bulkRename key.Binding
37+
suspend key.Binding
38+
subshell key.Binding
39+
help key.Binding
40+
}
41+
42+
func newKeyMap() keyMap {
43+
return keyMap{
44+
quit: key.NewBinding(key.WithKeys("ctrl+c", "q"), key.WithHelp("q/ctrl+c", "quit")),
45+
execute: key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "execute/enter")),
46+
save: key.NewBinding(key.WithKeys("ctrl+s"), key.WithHelp("ctrl+s", "save file")),
47+
cancel: key.NewBinding(key.WithKeys("esc"), key.WithHelp("esc", "cancel/back")),
48+
refresh: key.NewBinding(key.WithKeys("r"), key.WithHelp("r", "refresh")),
49+
enter: key.NewBinding(key.WithKeys("enter")),
50+
back: key.NewBinding(key.WithKeys("backspace"), key.WithHelp("backspace", "cd ..")),
51+
selectIt: key.NewBinding(key.WithKeys(" "), key.WithHelp("space", "select item")),
52+
filter: key.NewBinding(key.WithKeys("/"), key.WithHelp("/", "filter")),
53+
tab: key.NewBinding(key.WithKeys("tab"), key.WithHelp("tab", "switch panel")),
54+
down: key.NewBinding(key.WithKeys("j", "down")),
55+
up: key.NewBinding(key.WithKeys("k", "up")),
56+
left: key.NewBinding(key.WithKeys("h", "left")),
57+
right: key.NewBinding(key.WithKeys("l", "right")),
58+
copy: key.NewBinding(key.WithKeys("f5"), key.WithHelp("F5", "copy")),
59+
move: key.NewBinding(key.WithKeys("f6"), key.WithHelp("F6", "move")),
60+
delete: key.NewBinding(key.WithKeys("f8"), key.WithHelp("F8", "delete")),
61+
fuzzy: key.NewBinding(key.WithKeys("ctrl+p"), key.WithHelp("Ctrl+P", "fuzzy search")),
62+
bulkRename: key.NewBinding(key.WithKeys("ctrl+r"), key.WithHelp("Ctrl+R", "bulk rename")),
63+
suspend: key.NewBinding(key.WithKeys("ctrl+z"), key.WithHelp("Ctrl+Z", "suspend")),
64+
subshell: key.NewBinding(key.WithKeys("ctrl+o"), key.WithHelp("Ctrl+O", "sub-shell")),
65+
help: key.NewBinding(key.WithKeys("f1"), key.WithHelp("F1", "help")),
66+
}
67+
}
68+
69+
func helpString(b key.Binding) string {
70+
h := b.Help()
71+
return h.Key + ": " + h.Desc
72+
}

0 commit comments

Comments
 (0)