aboutsummaryrefslogtreecommitdiff
path: root/vendor/maunium.net/go/tview/dropdown.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/maunium.net/go/tview/dropdown.go')
-rw-r--r--vendor/maunium.net/go/tview/dropdown.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/vendor/maunium.net/go/tview/dropdown.go b/vendor/maunium.net/go/tview/dropdown.go
index 4e4d888..02c93bd 100644
--- a/vendor/maunium.net/go/tview/dropdown.go
+++ b/vendor/maunium.net/go/tview/dropdown.go
@@ -354,6 +354,7 @@ func (d *DropDown) InputHandler() func(event *tcell.EventKey, setFocus func(p Pr
// Hand control over to the list.
d.open = true
+ optionBefore := d.currentOption
d.list.SetSelectedFunc(func(index int, mainText, secondaryText string, shortcut rune) {
// An option was selected. Close the list again.
d.open = false
@@ -374,6 +375,10 @@ func (d *DropDown) InputHandler() func(event *tcell.EventKey, setFocus func(p Pr
d.prefix = string(r[:len(r)-1])
}
evalPrefix()
+ } else if event.Key() == tcell.KeyEscape {
+ d.open = false
+ d.currentOption = optionBefore
+ setFocus(d)
} else {
d.prefix = ""
}