Merge pull request #3492 from laloch/abbrevs-completions-confirm

abbrevs: do not handle return key while a completion is selected
This commit is contained in:
Morten Enemark Lund 2020-03-31 14:17:24 +02:00 committed by GitHub
commit 0d8c0b613a
Failed to generate hash of commit

View file

@ -5,7 +5,7 @@ This expands input words from `abbrevs` disctionary as you type.
""" """
import builtins import builtins
from prompt_toolkit.filters import IsMultiline from prompt_toolkit.filters import completion_is_selected, IsMultiline
from prompt_toolkit.keys import Keys from prompt_toolkit.keys import Keys
from xonsh.built_ins import DynamicAccessProxy from xonsh.built_ins import DynamicAccessProxy
from xonsh.platform import ptk_shell_type from xonsh.platform import ptk_shell_type
@ -55,8 +55,12 @@ def custom_keybindings(bindings, **kw):
expand_abbrev(buffer) expand_abbrev(buffer)
buffer.insert_text(" ") buffer.insert_text(" ")
@handler(Keys.ControlJ, filter=IsMultiline() & insert_mode) @handler(
@handler(Keys.ControlM, filter=IsMultiline() & insert_mode) Keys.ControlJ, filter=IsMultiline() & insert_mode & ~completion_is_selected
)
@handler(
Keys.ControlM, filter=IsMultiline() & insert_mode & ~completion_is_selected
)
def multiline_carriage_return(event): def multiline_carriage_return(event):
buffer = event.app.current_buffer buffer = event.app.current_buffer
current_char = buffer.document.current_char current_char = buffer.document.current_char