1package logs
2
3import (
4 "github.com/charmbracelet/bubbles/v2/key"
5)
6
7type KeyMap struct {
8 Back key.Binding
9}
10
11func DefaultKeyMap() KeyMap {
12 return KeyMap{
13 Back: key.NewBinding(
14 key.WithKeys("esc", "backspace"),
15 key.WithHelp("esc/backspace", "back to chat"),
16 ),
17 }
18}
19
20// KeyBindings implements layout.KeyMapProvider
21func (k KeyMap) KeyBindings() []key.Binding {
22 return []key.Binding{
23 k.Back,
24 }
25}
26
27// FullHelp implements help.KeyMap.
28func (k KeyMap) FullHelp() [][]key.Binding {
29 m := [][]key.Binding{}
30 slice := k.KeyBindings()
31 for i := 0; i < len(slice); i += 4 {
32 end := min(i+4, len(slice))
33 m = append(m, slice[i:end])
34 }
35 return m
36}
37
38// ShortHelp implements help.KeyMap.
39func (k KeyMap) ShortHelp() []key.Binding {
40 return []key.Binding{
41 k.Back,
42 }
43}