prime8dev

prime8dev
git clone https://git.prime8.dev/prime8dev.git
Log | Files | Refs | README | LICENSE

keys.go (1634B)


      1 package tui
      2 
      3 import "github.com/charmbracelet/bubbles/key"
      4 
      5 type keyMap struct {
      6 	Up       key.Binding
      7 	Down     key.Binding
      8 	TabNext  key.Binding
      9 	TabPrev  key.Binding
     10 	Open     key.Binding
     11 	Back     key.Binding
     12 	Help     key.Binding
     13 	Quit     key.Binding
     14 	PageDown key.Binding
     15 	PageUp   key.Binding
     16 }
     17 
     18 func defaultKeyMap() keyMap {
     19 	return keyMap{
     20 		Up: key.NewBinding(
     21 			key.WithKeys("up"),
     22 			key.WithHelp("↑", "up"),
     23 		),
     24 		Down: key.NewBinding(
     25 			key.WithKeys("down"),
     26 			key.WithHelp("↓", "down"),
     27 		),
     28 		TabNext: key.NewBinding(
     29 			key.WithKeys("tab", "right"),
     30 			key.WithHelp("tab/→", "next tab"),
     31 		),
     32 		TabPrev: key.NewBinding(
     33 			key.WithKeys("shift+tab", "left"),
     34 			key.WithHelp("shift+tab/←", "prev tab"),
     35 		),
     36 		Open: key.NewBinding(
     37 			key.WithKeys("enter"),
     38 			key.WithHelp("enter", "open/toggle"),
     39 		),
     40 		Back: key.NewBinding(
     41 			key.WithKeys("esc"),
     42 			key.WithHelp("esc", "back/close"),
     43 		),
     44 		Help: key.NewBinding(
     45 			key.WithKeys("?"),
     46 			key.WithHelp("?", "help"),
     47 		),
     48 		Quit: key.NewBinding(
     49 			key.WithKeys("q", "ctrl+c"),
     50 			key.WithHelp("q", "quit"),
     51 		),
     52 		PageDown: key.NewBinding(
     53 			key.WithKeys("pgdown", "f", "shift+down"),
     54 			key.WithHelp("pgdn", "scroll down"),
     55 		),
     56 		PageUp: key.NewBinding(
     57 			key.WithKeys("pgup", "b", "shift+up"),
     58 			key.WithHelp("pgup", "scroll up"),
     59 		),
     60 	}
     61 }
     62 
     63 func (k keyMap) ShortHelp() []key.Binding {
     64 	return []key.Binding{k.TabPrev, k.TabNext, k.Up, k.Down, k.Open, k.Back, k.Help, k.Quit}
     65 }
     66 
     67 func (k keyMap) FullHelp() [][]key.Binding {
     68 	return [][]key.Binding{{k.TabPrev, k.TabNext, k.Up, k.Down, k.PageUp, k.PageDown}, {k.Open, k.Back, k.Help, k.Quit}}
     69 }