| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package viewport
- import "github.com/charmbracelet/bubbles/v2/key"
- // KeyMap defines the keybindings for the viewport. Note that you don't
- // necessary need to use keybindings at all; the viewport can be controlled
- // programmatically with methods like Model.LineDown(1). See the GoDocs for
- // details.
- type KeyMap struct {
- PageDown key.Binding
- PageUp key.Binding
- HalfPageUp key.Binding
- HalfPageDown key.Binding
- Down key.Binding
- Up key.Binding
- Left key.Binding
- Right key.Binding
- }
- // DefaultKeyMap returns a set of pager-like default keybindings.
- func DefaultKeyMap() KeyMap {
- return KeyMap{
- PageDown: key.NewBinding(
- key.WithKeys("pgdown", "space", "f"),
- key.WithHelp("f/pgdn", "page down"),
- ),
- PageUp: key.NewBinding(
- key.WithKeys("pgup", "b"),
- key.WithHelp("b/pgup", "page up"),
- ),
- HalfPageUp: key.NewBinding(
- key.WithKeys("u", "ctrl+u"),
- key.WithHelp("u", "½ page up"),
- ),
- HalfPageDown: key.NewBinding(
- key.WithKeys("d", "ctrl+d"),
- key.WithHelp("d", "½ page down"),
- ),
- Up: key.NewBinding(
- key.WithKeys("up", "k"),
- key.WithHelp("↑/k", "up"),
- ),
- Down: key.NewBinding(
- key.WithKeys("down", "j"),
- key.WithHelp("↓/j", "down"),
- ),
- Left: key.NewBinding(
- key.WithKeys("left", "h"),
- key.WithHelp("←/h", "move left"),
- ),
- Right: key.NewBinding(
- key.WithKeys("right", "l"),
- key.WithHelp("→/l", "move right"),
- ),
- }
- }
|