keybinds.go 896 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package root
  2. import (
  3. "github.com/ayn2op/tview/help"
  4. "github.com/ayn2op/tview/keybind"
  5. )
  6. var _ help.KeyMap = (*View)(nil)
  7. func (v *View) ShortHelp() []keybind.Keybind {
  8. global := []keybind.Keybind{
  9. v.cfg.Keybinds.ToggleHelp.Keybind,
  10. v.cfg.Keybinds.Suspend.Keybind,
  11. v.cfg.Keybinds.Quit.Keybind,
  12. }
  13. if active := v.activeKeyMap(); active != nil {
  14. short := active.ShortHelp()
  15. return append(short, global...)
  16. }
  17. return global
  18. }
  19. func (v *View) FullHelp() [][]keybind.Keybind {
  20. global := []keybind.Keybind{
  21. v.cfg.Keybinds.ToggleHelp.Keybind,
  22. v.cfg.Keybinds.Suspend.Keybind,
  23. v.cfg.Keybinds.Quit.Keybind,
  24. }
  25. if active := v.activeKeyMap(); active != nil {
  26. full := active.FullHelp()
  27. return append(full, global)
  28. }
  29. return [][]keybind.Keybind{global}
  30. }
  31. func (v *View) activeKeyMap() help.KeyMap {
  32. if keyMap, ok := v.inner.(help.KeyMap); ok {
  33. return keyMap
  34. }
  35. return nil
  36. }