diff options
Diffstat (limited to 'internal/switcher/keys.go')
-rw-r--r-- | internal/switcher/keys.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/internal/switcher/keys.go b/internal/switcher/keys.go new file mode 100644 index 0000000..94eb6fb --- /dev/null +++ b/internal/switcher/keys.go @@ -0,0 +1,33 @@ +package switcher + +import "github.com/charmbracelet/bubbles/key" + +type keybinds struct { + next, prev, quit key.Binding +} + +func newKeybinds() keybinds { + return keybinds{ + next: key.NewBinding( + key.WithKeys("tab"), + key.WithHelp("tab", "next picker"), + ), + prev: key.NewBinding( + key.WithKeys("shift+tab"), + key.WithHelp("shift+tab", "previous picker"), + ), + quit: key.NewBinding( + key.WithKeys("q", "ctrl+c"), + key.WithHelp("q", "quit"), + ), + } +} + +func Keys() []key.Binding { + k := newKeybinds() + return []key.Binding{k.next, k.prev} +} + +func (m Model) AllKeys() []key.Binding { + return append(Keys(), m.pickers[m.active].AllKeys()...) +} |