@@ -5,49 +5,59 @@ import (
)
type KeyMap struct {
- Down,
Up,
- DownOneItem,
+ Down,
UpOneItem,
- HalfPageDown,
+ DownOneItem,
+ PageUp,
+ PageDown,
HalfPageUp,
+ HalfPageDown,
Home,
End key.Binding
}
func DefaultKeyMap() KeyMap {
return KeyMap{
- Down: key.NewBinding(
- key.WithKeys("down", "ctrl+j", "ctrl+n", "j"),
- key.WithHelp("↓", "down"),
+ PageDown: key.NewBinding(
+ key.WithKeys("pgdown", "f"),
+ key.WithHelp("f/pgdn", "page down"),
+ ),
+ PageUp: key.NewBinding(
+ key.WithKeys("pgup", "b"),
+ key.WithHelp("b/pgup", "page up"),
+ ),
+ HalfPageUp: key.NewBinding(
+ key.WithKeys("u"),
+ key.WithHelp("u", "½ page up"),
+ ),
+ HalfPageDown: key.NewBinding(
+ key.WithKeys("d"),
+ key.WithHelp("d", "½ page down"),
),
Up: key.NewBinding(
- key.WithKeys("up", "ctrl+k", "ctrl+p", "k"),
- key.WithHelp("↑", "up"),
+ key.WithKeys("up", "k"),
+ key.WithHelp("↑/k", "up"),
+ ),
+ Down: key.NewBinding(
+ key.WithKeys("down", "j"),
+ key.WithHelp("↓/j", "down"),
),
UpOneItem: key.NewBinding(
- key.WithKeys("shift+up", "K"),
+ key.WithKeys("shift+up"),
key.WithHelp("shift+↑", "up one item"),
),
DownOneItem: key.NewBinding(
- key.WithKeys("shift+down", "J"),
+ key.WithKeys("shift+down"),
key.WithHelp("shift+↓", "down one item"),
),
- HalfPageDown: key.NewBinding(
- key.WithKeys("d"),
- key.WithHelp("d", "half page down"),
- ),
- HalfPageUp: key.NewBinding(
- key.WithKeys("u"),
- key.WithHelp("u", "half page up"),
- ),
Home: key.NewBinding(
key.WithKeys("g", "home"),
- key.WithHelp("g", "home"),
+ key.WithHelp("g/home", "top"),
),
End: key.NewBinding(
key.WithKeys("G", "end"),
- key.WithHelp("G", "end"),
+ key.WithHelp("G/end", "end"),
),
}
}
@@ -59,6 +69,8 @@ func (k KeyMap) KeyBindings() []key.Binding {
k.Up,
k.DownOneItem,
k.UpOneItem,
+ k.PageDown,
+ k.PageUp,
k.HalfPageDown,
k.HalfPageUp,
k.Home,
@@ -14,27 +14,29 @@ type KeyMap struct {
Close key.Binding
}
-func DefaultKeymap() KeyMap {
+func DefaultKeyMap() KeyMap {
return KeyMap{
LeftRight: key.NewBinding(
- key.WithKeys("left", "right"),
- key.WithHelp("←/→", "switch options"),
+ key.WithKeys("h", "l", "left", "right"),
+ key.WithHelp("←/→", "toggle"),
),
EnterSpace: key.NewBinding(
- key.WithKeys("enter", " "),
- key.WithHelp("enter/space", "confirm"),
+ key.WithKeys("enter"),
+ key.WithHelp("enter", "confirm"),
),
Yes: key.NewBinding(
key.WithKeys("y", "Y", "ctrl+c"),
- key.WithHelp("y/Y/ctrl+c", "yes"),
+ key.WithHelp("y", "Yes"),
),
No: key.NewBinding(
key.WithKeys("n", "N"),
- key.WithHelp("n/N", "no"),
+ key.WithHelp("n", "No"),
),
+ // TODO I think we can remove this. We don't have tab to toggle in Huh's
+ // confirm dialogue.
Tab: key.NewBinding(
key.WithKeys("tab"),
- key.WithHelp("tab", "switch options"),
+ key.WithHelp("tab", "toggle"),
),
Close: key.NewBinding(
key.WithKeys("esc"),