diff options
Diffstat (limited to 'menu')
| -rw-r--r-- | menu/input.go | 22 | ||||
| -rw-r--r-- | menu/model.go | 19 |
2 files changed, 22 insertions, 19 deletions
diff --git a/menu/input.go b/menu/input.go new file mode 100644 index 0000000..5c75430 --- /dev/null +++ b/menu/input.go @@ -0,0 +1,22 @@ +package menu + +import tea "github.com/charmbracelet/bubbletea" + +func (m *Model) HandleInput(msg tea.KeyMsg) (tea.Cmd, error) { + var cmd tea.Cmd + switch msg.String() { + case "up", "k": + m.Index-- + case "down", "j": + m.Index++ + case "q", "esc", "ctrl+c": + m.Quit = true + cmd = tea.Quit + case "space", " ", "enter", "ctrl+d": + cmd = tea.Quit + } + + m.Validate() + + return cmd, nil +} diff --git a/menu/model.go b/menu/model.go index 9d8fa82..6dc4e1c 100644 --- a/menu/model.go +++ b/menu/model.go @@ -33,25 +33,6 @@ func (m *Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, result } -func (m *Model) HandleInput(msg tea.KeyMsg) (tea.Cmd, error) { - var cmd tea.Cmd - switch msg.String() { - case "up", "k": - m.Index-- - case "down", "j": - m.Index++ - case "q", "esc": - m.Quit = true - cmd = tea.Quit - case "space", " ", "enter": - cmd = tea.Quit - } - - m.Validate() - - return cmd, nil -} - func (m *Model) HandleSignal(cmd tea.Cmd) (tea.Cmd, error) { return nil, nil } |
