diff options
author | Bram | 2022-02-23 03:46:12 +0000 |
---|---|---|
committer | GitHub | 2022-02-23 03:46:12 +0000 |
commit | 40eb1268c72b60f1249389c58892e7c45d268cff (patch) | |
tree | 84f741c7067547b4af3e6b0a867c10639d00ede8 /helix-term/src/ui/menu.rs | |
parent | e1a92fd3998aca2a313d4cbf0aca3157eca0b53f (diff) |
Close some popups automatically (#1285)
* Add Event::Used to use event callback without consuming
* Close popup if contents ignored event
* collect event results before executing callbacks
* don't add new result variant, use Ignored(..) instead
* break in match cases
* Make auto_close configurable
* fix merge
* auto close hover popups
* fix formatting
Diffstat (limited to 'helix-term/src/ui/menu.rs')
-rw-r--r-- | helix-term/src/ui/menu.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/helix-term/src/ui/menu.rs b/helix-term/src/ui/menu.rs index f9a0438c..1839da47 100644 --- a/helix-term/src/ui/menu.rs +++ b/helix-term/src/ui/menu.rs @@ -202,7 +202,7 @@ impl<T: Item + 'static> Component for Menu<T> { fn handle_event(&mut self, event: Event, cx: &mut Context) -> EventResult { let event = match event { Event::Key(event) => event, - _ => return EventResult::Ignored, + _ => return EventResult::Ignored(None), }; let close_fn = EventResult::Consumed(Some(Box::new(|compositor: &mut Compositor, _| { @@ -252,7 +252,7 @@ impl<T: Item + 'static> Component for Menu<T> { // for some events, we want to process them but send ignore, specifically all input except // tab/enter/ctrl-k or whatever will confirm the selection/ ctrl-n/ctrl-p for scroll. // EventResult::Consumed(None) - EventResult::Ignored + EventResult::Ignored(None) } fn required_size(&mut self, viewport: (u16, u16)) -> Option<(u16, u16)> { |