mirror of
				https://github.com/Maks1mS/bubbles.git
				synced 2025-10-31 05:42:01 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1006 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1006 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package viewport
 | |
| 
 | |
| import "github.com/charmbracelet/bubbles/key"
 | |
| 
 | |
| const spacebar = " "
 | |
| 
 | |
| // 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
 | |
| }
 | |
| 
 | |
| // DefaultKeyMap returns a set of pager-like default keybindings.
 | |
| func DefaultKeyMap() KeyMap {
 | |
| 	return KeyMap{
 | |
| 		PageDown: key.NewBinding(
 | |
| 			key.WithKeys("pgdown", spacebar, "f"),
 | |
| 		),
 | |
| 		PageUp: key.NewBinding(
 | |
| 			key.WithKeys("pgup", "b"),
 | |
| 		),
 | |
| 		HalfPageUp: key.NewBinding(
 | |
| 			key.WithKeys("u", "ctrl+u"),
 | |
| 		),
 | |
| 		HalfPageDown: key.NewBinding(
 | |
| 			key.WithKeys("d", "ctrl+d"),
 | |
| 		),
 | |
| 		Up: key.NewBinding(
 | |
| 			key.WithKeys("up", "k"),
 | |
| 		),
 | |
| 		Down: key.NewBinding(
 | |
| 			key.WithKeys("down", "j"),
 | |
| 		),
 | |
| 	}
 | |
| }
 |