Cybersecurity-Projects/PROJECTS/intermediate/security-news-scraper/internal/tui/keys.go

60 lines
1.1 KiB
Go

// ©AngelaMos | 2026
// keys.go
package tui
import "github.com/charmbracelet/bubbles/key"
type keyMap struct {
Up key.Binding
Down key.Binding
Top key.Binding
Bottom key.Binding
Open key.Binding
Browser key.Binding
Ideate key.Binding
Back key.Binding
Quit key.Binding
}
func defaultKeyMap() keyMap {
return keyMap{
Up: key.NewBinding(
key.WithKeys("up", "k"),
key.WithHelp("↑/k", "up"),
),
Down: key.NewBinding(
key.WithKeys("down", "j"),
key.WithHelp("↓/j", "down"),
),
Top: key.NewBinding(
key.WithKeys("g", "home"),
key.WithHelp("g", "top"),
),
Bottom: key.NewBinding(
key.WithKeys("G", "end"),
key.WithHelp("G", "bottom"),
),
Open: key.NewBinding(
key.WithKeys("enter"),
key.WithHelp("⏎", "detail"),
),
Browser: key.NewBinding(
key.WithKeys("o"),
key.WithHelp("o", "open"),
),
Ideate: key.NewBinding(
key.WithKeys("i"),
key.WithHelp("i", "ideate"),
),
Back: key.NewBinding(
key.WithKeys("esc", "backspace"),
key.WithHelp("esc", "back"),
),
Quit: key.NewBinding(
key.WithKeys("q", "ctrl+c"),
key.WithHelp("q", "quit"),
),
}
}