keys.go

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