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("ctrl+l", "ctrl+m"),
38 key.WithHelp("ctrl+l", "models"),
39 ),
40 Sessions: key.NewBinding(
41 key.WithKeys("ctrl+s"),
42 key.WithHelp("ctrl+s", "sessions"),
43 ),
44 }
45}