diff options
author | Michael Davis | 2022-02-27 07:20:21 +0000 |
---|---|---|
committer | GitHub | 2022-02-27 07:20:21 +0000 |
commit | 39f7ba36e03c42c2c401a77fb3f10e9d6eb94fd0 (patch) | |
tree | dceffd02548dd5b5324c08fe488bf21e532e637b /helix-term/src/ui/popup.rs | |
parent | c1251aecc75d9a28121373d2ac8c6ce81c9ed56d (diff) |
ignore Enter keypress when menu has no selection (#1704)
* ignore Enter keypress when menu has no selection
supersedes #1622
Builds on the work in #1285. I want to allow Enter to create a newline
when there is no selection in the autocomplete menu.
This occurs somewhat often when using LSP autocomplete in Elixir which
uses `do/end` blocks (and I set the autocomplete menu delay to 0 which
exacerbates the problem):
```elixir
defmodule MyModule do
def do_foo(x) do
x
end
def other_function(y) do|
end
```
Here the cursor is `|` in insert mode. The LSP suggests `do_foo` but I
want to create a newline. Hitting Enter currently closes the menu,
so I end up having to hit Enter twice when the module contains any
local with a `do` prefix, which can be inconsistent. With this change,
we ignore the Enter keypress to end up creating the newline in this case.
* pop compositor layer when ignoring Enter keypress
* move closing function out of consumed event result closure
* explicitly label close_fn as an 'Option<Callback>'
Diffstat (limited to 'helix-term/src/ui/popup.rs')
0 files changed, 0 insertions, 0 deletions