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