on main help sign in
feat: paste/close bindings in user cmd dialog (#1221)

Co-authored-by: Crush <crush@charm.land>

commit8c9ce8e765d0b0db1e6cf8065983db19d2997a03 authorAmolith <amolith@secluded.site> dateWed 15 Oct 2025, 02:26 (1 year ago) parent9c46329
2 files changed+22−1
internal/tui/components/dialogs/commands/arguments.go+8−1 internal/tui/components/dialogs/commands/keys.go+14
internal/tui/components/dialogs/commands/arguments.go+8−1
@@ -128,12 +128,19 @@ func (c *commandArgumentsDialogCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
128128 c.inputs[c.focusIndex].Blur()
129129 c.focusIndex = (c.focusIndex - 1 + len(c.inputs)) % len(c.inputs)
130130 c.inputs[c.focusIndex].Focus()
131−
131+ case key.Matches(msg, c.keys.Paste):
132+ return c, textinput.Paste
133+ case key.Matches(msg, c.keys.Close):
134+ return c, util.CmdHandler(dialogs.CloseDialogMsg{})
132135 default:
133136 var cmd tea.Cmd
134137 c.inputs[c.focusIndex], cmd = c.inputs[c.focusIndex].Update(msg)
135138 return c, cmd
136139 }
140+ case tea.PasteMsg:
141+ var cmd tea.Cmd
142+ c.inputs[c.focusIndex], cmd = c.inputs[c.focusIndex].Update(msg)
143+ return c, cmd
137144 }
138145 return c, nil
139146}
internal/tui/components/dialogs/commands/keys.go+14
@@ -76,6 +76,8 @@ type ArgumentsDialogKeyMap struct {
7676 Confirm key.Binding
7777 Next key.Binding
7878 Previous key.Binding
79+ Paste key.Binding
80+ Close key.Binding
7981}
8082
8183func DefaultArgumentsDialogKeyMap() ArgumentsDialogKeyMap {
@@ -93,6 +95,14 @@ func DefaultArgumentsDialogKeyMap() ArgumentsDialogKeyMap {
9395 key.WithKeys("shift+tab", "up"),
9496 key.WithHelp("shift+tab/↑", "previous"),
9597 ),
98+ Paste: key.NewBinding(
99+ key.WithKeys("ctrl+v"),
100+ key.WithHelp("ctrl+v", "paste"),
101+ ),
102+ Close: key.NewBinding(
103+ key.WithKeys("esc", "alt+esc"),
104+ key.WithHelp("esc", "cancel"),
105+ ),
96106 }
97107}
98108
@@ -102,6 +112,8 @@ func (k ArgumentsDialogKeyMap) KeyBindings() []key.Binding {
102112 k.Confirm,
103113 k.Next,
104114 k.Previous,
115+ k.Paste,
116+ k.Close,
105117 }
106118}
107119
@@ -122,5 +134,7 @@ func (k ArgumentsDialogKeyMap) ShortHelp() []key.Binding {
122134 k.Confirm,
123135 k.Next,
124136 k.Previous,
137+ k.Paste,
138+ k.Close,
125139 }
126140}