keys.go 759 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package tui
  2. import (
  3. "github.com/charmbracelet/bubbles/v2/key"
  4. )
  5. type KeyMap struct {
  6. Quit key.Binding
  7. Help key.Binding
  8. Commands key.Binding
  9. Suspend key.Binding
  10. Sessions key.Binding
  11. pageBindings []key.Binding
  12. }
  13. func DefaultKeyMap() KeyMap {
  14. return KeyMap{
  15. Quit: key.NewBinding(
  16. key.WithKeys("ctrl+c"),
  17. key.WithHelp("ctrl+c", "quit"),
  18. ),
  19. Help: key.NewBinding(
  20. key.WithKeys("ctrl+g"),
  21. key.WithHelp("ctrl+g", "more"),
  22. ),
  23. Commands: key.NewBinding(
  24. key.WithKeys("ctrl+p"),
  25. key.WithHelp("ctrl+p", "commands"),
  26. ),
  27. Suspend: key.NewBinding(
  28. key.WithKeys("ctrl+z"),
  29. key.WithHelp("ctrl+z", "suspend"),
  30. ),
  31. Sessions: key.NewBinding(
  32. key.WithKeys("ctrl+s"),
  33. key.WithHelp("ctrl+s", "sessions"),
  34. ),
  35. }
  36. }