on main help sign in
feat: update implementation to main
commitc31760be64e67dc946b09750219d3ae711402ab2 authorRaphael Amorim <rapha850@gmail.com> dateMon 16 Jun 2025, 15:02 (1 year ago) parent4f864e0
5 files changed+27−11
internal/tui/components/chat/chat.go+1−1 internal/tui/components/chat/editor/editor.go+1−8 internal/tui/components/chat/editor/keys.go+9 internal/tui/components/core/layout/layout.go−2 internal/tui/components/core/list/keys.go+16
internal/tui/components/chat/chat.go+1−1
@@ -500,6 +500,6 @@ func (m *messageListCmp) IsFocused() bool {
500500}
501501
502502func (m *messageListCmp) Bindings() []key.Binding {
503− bindings := layout.KeyMapToSlice(m.defaultListKeyMap)
503+ bindings := m.defaultListKeyMap.KeyBindings()
504504 return bindings
505505}
internal/tui/components/chat/editor/editor.go+1−8
@@ -18,7 +18,6 @@ import (
1818 "github.com/charmbracelet/crush/internal/session"
1919 "github.com/charmbracelet/crush/internal/tui/components/chat"
2020 "github.com/charmbracelet/crush/internal/tui/components/completions"
21− "github.com/charmbracelet/crush/internal/tui/components/core/layout"
2221 "github.com/charmbracelet/crush/internal/tui/components/dialogs"
2322 "github.com/charmbracelet/crush/internal/tui/components/dialogs/filepicker"
2423 "github.com/charmbracelet/crush/internal/tui/components/dialogs/quit"
@@ -49,12 +48,6 @@ type editorCmp struct {
4948 isCompletionsOpen bool
5049}
5150
52−type DeleteAttachmentKeyMaps struct {
53− AttachmentDeleteMode key.Binding
54− Escape key.Binding
55− DeleteAllAttachments key.Binding
56−}
57−
5851var DeleteKeyMaps = DeleteAttachmentKeyMaps{
5952 AttachmentDeleteMode: key.NewBinding(
6053 key.WithKeys("ctrl+r"),
@@ -372,7 +365,7 @@ func (c *editorCmp) IsFocused() bool {
372365}
373366
374367func (c *editorCmp) Bindings() []key.Binding {
375− return layout.KeyMapToSlice(c.keyMap)
368+ return c.keyMap.KeyBindings()
376369}
377370
378371func NewEditorCmp(app *app.App) util.Model {
internal/tui/components/chat/editor/keys.go+9
@@ -27,6 +27,15 @@ func DefaultEditorKeyMap() EditorKeyMap {
2727 }
2828}
2929
30+// KeyBindings implements layout.KeyMapProvider
31+func (k EditorKeyMap) KeyBindings() []key.Binding {
32+ return []key.Binding{
33+ k.AddFile,
34+ k.SendMessage,
35+ k.OpenEditor,
36+ }
37+}
38+
3039type DeleteAttachmentKeyMaps struct {
3140 AttachmentDeleteMode key.Binding
3241 Escape key.Binding
internal/tui/components/core/layout/layout.go−2
@@ -1,8 +1,6 @@
11package layout
22
33import (
4− "reflect"
5−
64 "github.com/charmbracelet/bubbles/v2/key"
75 tea "github.com/charmbracelet/bubbletea/v2"
86)
internal/tui/components/core/list/keys.go+16
@@ -50,4 +50,20 @@ func DefaultKeyMap() KeyMap {
5050 key.WithKeys("shift+g", "end"),
5151 ),
5252 }
53+}
54+
55+// KeyBindings implements layout.KeyMapProvider
56+func (k KeyMap) KeyBindings() []key.Binding {
57+ return []key.Binding{
58+ k.Down,
59+ k.Up,
60+ k.NDown,
61+ k.NUp,
62+ k.DownOneItem,
63+ k.UpOneItem,
64+ k.HalfPageDown,
65+ k.HalfPageUp,
66+ k.Home,
67+ k.End,
68+ }
5369}