Skip to content

Commit

Permalink
Added 'tab' motion to go up and down
Browse files Browse the repository at this point in the history
 and 'ctrl r' to reset search input
  • Loading branch information
grrlopes committed Aug 14, 2023
1 parent cb3a4dc commit f6948d7
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 13 deletions.
36 changes: 27 additions & 9 deletions helper/keymaps.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,30 @@ package helper
import "github.com/charmbracelet/bubbles/key"

type Keymap struct {
Sync key.Binding
Enter key.Binding
Finder key.Binding
Back key.Binding
Quit key.Binding
PageNext key.Binding
PagePrev key.Binding
Sync key.Binding
Enter key.Binding
Finder key.Binding
Back key.Binding
Quit key.Binding
PageNext key.Binding
PagePrev key.Binding
ResetFinder key.Binding
MoveUp key.Binding
MoveDown key.Binding
}

func (k Keymap) ShortHelp() []key.Binding {
return []key.Binding{
k.Quit, k.Back, k.Enter, k.Sync,
k.Finder, k.PagePrev, k.PageNext,
k.ResetFinder, k.MoveUp, k.MoveDown,
}
}

func (k Keymap) FullHelp() [][]key.Binding {
return [][]key.Binding{
{k.Back, k.Enter, k.Quit},
{k.Sync, k.Finder, k.PageNext, k.PagePrev},
{k.Back, k.Enter, k.Quit, k.ResetFinder, k.MoveUp},
{k.Sync, k.Finder, k.PageNext, k.PagePrev, k.MoveDown},
}
}

Expand Down Expand Up @@ -51,6 +55,14 @@ var HotKeysHome = Keymap{
key.WithKeys("ctrl+s", "Prev"),
key.WithHelp("ctrl+s", "Prev Page"),
),
MoveUp: key.NewBinding(
key.WithKeys("shift+tab", "MoveUp"),
key.WithHelp("tab/Up", "↑"),
),
MoveDown: key.NewBinding(
key.WithKeys("tab", "MoveDown"),
key.WithHelp("tab/Down", "↓"),
),
}

var HotKeysFinder = Keymap{
Expand All @@ -61,4 +73,10 @@ var HotKeysFinder = Keymap{
),
PageNext: HotKeysHome.PageNext,
PagePrev: HotKeysHome.PagePrev,
ResetFinder: key.NewBinding(
key.WithKeys("ctrl+r", "Reset"),
key.WithHelp("ctrl+r", "Reset Finder"),
),
MoveUp: HotKeysHome.MoveUp,
MoveDown: HotKeysHome.MoveDown,
}
10 changes: 6 additions & 4 deletions ui/home.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,18 +103,20 @@ func (m ModelHome) Update(msg tea.Msg) (*ModelHome, tea.Cmd) {
case tea.KeyMsg:
if m.home.Finder.Focused() {
switch msg.String() {
case "up", "k":
case "up", "k", "shift+tab":
if m.home.Cursor > 0 {
m.home.Content = "arrow"
m.home.Cursor--
}
case "down", "j":
case "down", "j", "tab":
if m.home.Cursor < m.home.PageTotal-1 {
m.home.Content = "arrow"
m.home.Cursor++
}
case "enter":
return &m, tea.Quit
case "ctrl+r":
m.home.Finder.Reset()
}
if msg.String() == "ctrl+c" {
m.home.Finder.Reset()
Expand All @@ -131,12 +133,12 @@ func (m ModelHome) Update(msg tea.Msg) (*ModelHome, tea.Cmd) {
switch msg.String() {
case "ctrl+c", "q":
return &m, tea.Quit
case "up", "k":
case "up", "k", "shift+tab":
if m.home.Cursor > 0 {
m.home.Content = "arrow"
m.home.Cursor--
}
case "down", "j":
case "down", "j", "tab":
if m.home.Cursor < m.home.PageTotal-1 {
m.home.Content = "arrow"
m.home.Cursor++
Expand Down

0 comments on commit f6948d7

Please sign in to comment.