36999cd825
Adds `nib tui` command and `make tui` target. Scrollable entity list with j/k navigation, enter for detail view, `a` to capture new entries using the existing parse grammar, and `d` to delete.
34 lines
1.3 KiB
Go
34 lines
1.3 KiB
Go
package tui
|
|
|
|
import "github.com/charmbracelet/bubbles/key"
|
|
|
|
type keyMap struct {
|
|
Up key.Binding
|
|
Down key.Binding
|
|
Enter key.Binding
|
|
Back key.Binding
|
|
Add key.Binding
|
|
Delete key.Binding
|
|
Quit key.Binding
|
|
Help key.Binding
|
|
PageUp key.Binding
|
|
PageDn key.Binding
|
|
Top key.Binding
|
|
Bottom key.Binding
|
|
}
|
|
|
|
var keys = keyMap{
|
|
Up: key.NewBinding(key.WithKeys("up", "k"), key.WithHelp("↑/k", "up")),
|
|
Down: key.NewBinding(key.WithKeys("down", "j"), key.WithHelp("↓/j", "down")),
|
|
Enter: key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "view")),
|
|
Back: key.NewBinding(key.WithKeys("esc"), key.WithHelp("esc", "back")),
|
|
Add: key.NewBinding(key.WithKeys("a"), key.WithHelp("a", "add")),
|
|
Delete: key.NewBinding(key.WithKeys("d"), key.WithHelp("d", "delete")),
|
|
Quit: key.NewBinding(key.WithKeys("q", "ctrl+c"), key.WithHelp("q", "quit")),
|
|
Help: key.NewBinding(key.WithKeys("?"), key.WithHelp("?", "help")),
|
|
PageUp: key.NewBinding(key.WithKeys("pgup", "ctrl+u"), key.WithHelp("pgup", "page up")),
|
|
PageDn: key.NewBinding(key.WithKeys("pgdown", "ctrl+d"), key.WithHelp("pgdn", "page down")),
|
|
Top: key.NewBinding(key.WithKeys("home", "g"), key.WithHelp("home", "top")),
|
|
Bottom: key.NewBinding(key.WithKeys("end", "G"), key.WithHelp("end", "bottom")),
|
|
}
|