on main help sign in
feat: add alt/option+esc binding to current esc key behavior
3b6a375Max Justus Spransy
internal/tui/components/chat/editor/editor.go+1−1
@@ -75,7 +75,7 @@ var DeleteKeyMaps = DeleteAttachmentKeyMaps{
75 key.WithHelp("ctrl+r+{i}", "delete attachment at index i"),
75 key.WithHelp("ctrl+r+{i}", "delete attachment at index i"),
76 ),
76 ),
77 Escape: key.NewBinding(
77 Escape: key.NewBinding(
78− key.WithKeys("esc"),
78+ key.WithKeys("esc", "alt+esc"),
79 key.WithHelp("esc", "cancel delete mode"),
79 key.WithHelp("esc", "cancel delete mode"),
80 ),
80 ),
81 DeleteAllAttachments: key.NewBinding(
81 DeleteAllAttachments: key.NewBinding(
internal/tui/components/chat/editor/keys.go+1−1
@@ -61,7 +61,7 @@ var AttachmentsKeyMaps = DeleteAttachmentKeyMaps{
61 key.WithHelp("ctrl+r+{i}", "delete attachment at index i"),
61 key.WithHelp("ctrl+r+{i}", "delete attachment at index i"),
62 ),
62 ),
63 Escape: key.NewBinding(
63 Escape: key.NewBinding(
64− key.WithKeys("esc"),
64+ key.WithKeys("esc", "alt+esc"),
65 key.WithHelp("esc", "cancel delete mode"),
65 key.WithHelp("esc", "cancel delete mode"),
66 ),
66 ),
67 DeleteAllAttachments: key.NewBinding(
67 DeleteAllAttachments: key.NewBinding(
internal/tui/components/chat/messages/messages.go+1−1
@@ -29,7 +29,7 @@ import (
29var CopyKey = key.NewBinding(key.WithKeys("c", "y", "C", "Y"), key.WithHelp("c/y", "copy"))
29var CopyKey = key.NewBinding(key.WithKeys("c", "y", "C", "Y"), key.WithHelp("c/y", "copy"))
30
30
31// ClearSelectionKey is the key binding for clearing the current selection in the chat interface.
31// ClearSelectionKey is the key binding for clearing the current selection in the chat interface.
32−var ClearSelectionKey = key.NewBinding(key.WithKeys("esc"), key.WithHelp("esc", "clear selection"))
32+var ClearSelectionKey = key.NewBinding(key.WithKeys("esc", "alt+esc"), key.WithHelp("esc", "clear selection"))
33
33
34// MessageCmp defines the interface for message components in the chat interface.
34// MessageCmp defines the interface for message components in the chat interface.
35// It combines standard UI model interfaces with message-specific functionality.
35// It combines standard UI model interfaces with message-specific functionality.
internal/tui/components/chat/splash/keys.go+1−1
@@ -46,7 +46,7 @@ func DefaultKeyMap() KeyMap {
46 key.WithHelp("←/→", "switch"),
46 key.WithHelp("←/→", "switch"),
47 ),
47 ),
48 Back: key.NewBinding(
48 Back: key.NewBinding(
49− key.WithKeys("esc"),
49+ key.WithKeys("esc", "alt+esc"),
50 key.WithHelp("esc", "back"),
50 key.WithHelp("esc", "back"),
51 ),
51 ),
52 }
52 }
internal/tui/components/completions/keys.go+1−1
@@ -28,7 +28,7 @@ func DefaultKeyMap() KeyMap {
28 key.WithHelp("enter", "select"),
28 key.WithHelp("enter", "select"),
29 ),
29 ),
30 Cancel: key.NewBinding(
30 Cancel: key.NewBinding(
31− key.WithKeys("esc"),
31+ key.WithKeys("esc", "alt+esc"),
32 key.WithHelp("esc", "cancel"),
32 key.WithHelp("esc", "cancel"),
33 ),
33 ),
34 DownInsert: key.NewBinding(
34 DownInsert: key.NewBinding(
internal/tui/components/dialogs/commands/keys.go+1−1
@@ -31,7 +31,7 @@ func DefaultCommandsDialogKeyMap() CommandsDialogKeyMap {
31 key.WithHelp("tab", "switch selection"),
31 key.WithHelp("tab", "switch selection"),
32 ),
32 ),
33 Close: key.NewBinding(
33 Close: key.NewBinding(
34− key.WithKeys("esc"),
34+ key.WithKeys("esc", "alt+esc"),
35 key.WithHelp("esc", "cancel"),
35 key.WithHelp("esc", "cancel"),
36 ),
36 ),
37 }
37 }
internal/tui/components/dialogs/compact/keys.go+1−1
@@ -33,7 +33,7 @@ func DefaultKeyMap() KeyMap {
33 key.WithHelp("n", "no"),
33 key.WithHelp("n", "no"),
34 ),
34 ),
35 Close: key.NewBinding(
35 Close: key.NewBinding(
36− key.WithKeys("esc"),
36+ key.WithKeys("esc", "alt+esc"),
37 key.WithHelp("esc", "cancel"),
37 key.WithHelp("esc", "cancel"),
38 ),
38 ),
39 }
39 }
internal/tui/components/dialogs/filepicker/keys.go+1−1
@@ -38,7 +38,7 @@ func DefaultKeyMap() KeyMap {
38 ),
38 ),
39
39
40 Close: key.NewBinding(
40 Close: key.NewBinding(
41− key.WithKeys("esc"),
41+ key.WithKeys("esc", "alt+esc"),
42 key.WithHelp("esc", "close/exit"),
42 key.WithHelp("esc", "close/exit"),
43 ),
43 ),
44 }
44 }
internal/tui/components/dialogs/keys.go+1−1
@@ -12,7 +12,7 @@ type KeyMap struct {
12func DefaultKeyMap() KeyMap {
12func DefaultKeyMap() KeyMap {
13 return KeyMap{
13 return KeyMap{
14 Close: key.NewBinding(
14 Close: key.NewBinding(
15− key.WithKeys("esc"),
15+ key.WithKeys("esc", "alt+esc"),
16 ),
16 ),
17 }
17 }
18}
18}
internal/tui/components/dialogs/models/keys.go+1−1
@@ -34,7 +34,7 @@ func DefaultKeyMap() KeyMap {
34 key.WithHelp("tab", "toggle type"),
34 key.WithHelp("tab", "toggle type"),
35 ),
35 ),
36 Close: key.NewBinding(
36 Close: key.NewBinding(
37− key.WithKeys("esc"),
37+ key.WithKeys("esc", "alt+esc"),
38 key.WithHelp("esc", "cancel"),
38 key.WithHelp("esc", "cancel"),
39 ),
39 ),
40 }
40 }
internal/tui/components/dialogs/quit/keys.go+1−1
@@ -37,7 +37,7 @@ func DefaultKeymap() KeyMap {
37 key.WithHelp("tab", "switch options"),
37 key.WithHelp("tab", "switch options"),
38 ),
38 ),
39 Close: key.NewBinding(
39 Close: key.NewBinding(
40− key.WithKeys("esc"),
40+ key.WithKeys("esc", "alt+esc"),
41 key.WithHelp("esc", "cancel"),
41 key.WithHelp("esc", "cancel"),
42 ),
42 ),
43 }
43 }
internal/tui/components/dialogs/sessions/keys.go+1−1
@@ -26,7 +26,7 @@ func DefaultKeyMap() KeyMap {
26 key.WithHelp("↑", "previous item"),
26 key.WithHelp("↑", "previous item"),
27 ),
27 ),
28 Close: key.NewBinding(
28 Close: key.NewBinding(
29− key.WithKeys("esc"),
29+ key.WithKeys("esc", "alt+esc"),
30 key.WithHelp("esc", "cancel"),
30 key.WithHelp("esc", "cancel"),
31 ),
31 ),
32 }
32 }
internal/tui/page/chat/chat.go+7−7
@@ -766,7 +766,7 @@ func (p *chatPage) Bindings() []key.Binding {
766 cancelBinding := p.keyMap.Cancel
766 cancelBinding := p.keyMap.Cancel
767 if p.isCanceling {
767 if p.isCanceling {
768 cancelBinding = key.NewBinding(
768 cancelBinding = key.NewBinding(
769− key.WithKeys("esc"),
769+ key.WithKeys("esc", "alt+esc"),
770 key.WithHelp("esc", "press again to cancel"),
770 key.WithHelp("esc", "press again to cancel"),
771 )
771 )
772 }
772 }
@@ -835,7 +835,7 @@ func (p *chatPage) Help() help.KeyMap {
835 shortList = append(shortList,
835 shortList = append(shortList,
836 // Go back
836 // Go back
837 key.NewBinding(
837 key.NewBinding(
838− key.WithKeys("esc"),
838+ key.WithKeys("esc", "alt+esc"),
839 key.WithHelp("esc", "back"),
839 key.WithHelp("esc", "back"),
840 ),
840 ),
841 )
841 )
@@ -870,7 +870,7 @@ func (p *chatPage) Help() help.KeyMap {
870 key.WithHelp("tab/enter", "complete"),
870 key.WithHelp("tab/enter", "complete"),
871 ),
871 ),
872 key.NewBinding(
872 key.NewBinding(
873− key.WithKeys("esc"),
873+ key.WithKeys("esc", "alt+esc"),
874 key.WithHelp("esc", "cancel"),
874 key.WithHelp("esc", "cancel"),
875 ),
875 ),
876 key.NewBinding(
876 key.NewBinding(
@@ -885,18 +885,18 @@ func (p *chatPage) Help() help.KeyMap {
885 }
885 }
886 if p.app.CoderAgent != nil && p.app.CoderAgent.IsBusy() {
886 if p.app.CoderAgent != nil && p.app.CoderAgent.IsBusy() {
887 cancelBinding := key.NewBinding(
887 cancelBinding := key.NewBinding(
888− key.WithKeys("esc"),
888+ key.WithKeys("esc", "alt+esc"),
889 key.WithHelp("esc", "cancel"),
889 key.WithHelp("esc", "cancel"),
890 )
890 )
891 if p.isCanceling {
891 if p.isCanceling {
892 cancelBinding = key.NewBinding(
892 cancelBinding = key.NewBinding(
893− key.WithKeys("esc"),
893+ key.WithKeys("esc", "alt+esc"),
894 key.WithHelp("esc", "press again to cancel"),
894 key.WithHelp("esc", "press again to cancel"),
895 )
895 )
896 }
896 }
897 if p.app.CoderAgent != nil && p.app.CoderAgent.QueuedPrompts(p.session.ID) > 0 {
897 if p.app.CoderAgent != nil && p.app.CoderAgent.QueuedPrompts(p.session.ID) > 0 {
898 cancelBinding = key.NewBinding(
898 cancelBinding = key.NewBinding(
899− key.WithKeys("esc"),
899+ key.WithKeys("esc", "alt+esc"),
900 key.WithHelp("esc", "clear queue"),
900 key.WithHelp("esc", "clear queue"),
901 )
901 )
902 }
902 }
@@ -1042,7 +1042,7 @@ func (p *chatPage) Help() help.KeyMap {
1042 key.WithHelp("ctrl+r+r", "delete all attachments"),
1042 key.WithHelp("ctrl+r+r", "delete all attachments"),
1043 ),
1043 ),
1044 key.NewBinding(
1044 key.NewBinding(
1045− key.WithKeys("esc"),
1045+ key.WithKeys("esc", "alt+esc"),
1046 key.WithHelp("esc", "cancel delete mode"),
1046 key.WithHelp("esc", "cancel delete mode"),
1047 ),
1047 ),
1048 })
1048 })
internal/tui/page/chat/keys.go+1−1
@@ -23,7 +23,7 @@ func DefaultKeyMap() KeyMap {
23 key.WithHelp("ctrl+f", "add attachment"),
23 key.WithHelp("ctrl+f", "add attachment"),
24 ),
24 ),
25 Cancel: key.NewBinding(
25 Cancel: key.NewBinding(
26− key.WithKeys("esc"),
26+ key.WithKeys("esc", "alt+esc"),
27 key.WithHelp("esc", "cancel"),
27 key.WithHelp("esc", "cancel"),
28 ),
28 ),
29 Tab: key.NewBinding(
29 Tab: key.NewBinding(