mirror of
https://github.com/sst/opencode.git
synced 2025-12-23 10:11:41 +00:00
fix(tui): Allow modals to handle ESC key before force closing (#3279)
This commit is contained in:
parent
10ebe9ae09
commit
6adc16ca8a
1 changed files with 8 additions and 2 deletions
|
|
@ -162,9 +162,15 @@ func (a Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||
// 1. Handle active modal
|
||||
if a.modal != nil {
|
||||
switch keyString {
|
||||
// Escape always closes current modal
|
||||
// Escape closes current modal, but give modal a chance to handle it first
|
||||
case "esc":
|
||||
cmd := a.modal.Close()
|
||||
// give the modal a chance to handle the esc
|
||||
updatedModal, cmd := a.modal.Update(msg)
|
||||
a.modal = updatedModal.(layout.Modal)
|
||||
if cmd != nil {
|
||||
return a, cmd
|
||||
}
|
||||
cmd = a.modal.Close()
|
||||
a.modal = nil
|
||||
return a, cmd
|
||||
case "ctrl+c":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue