mirror of https://github.com/dbcli/pgcli
Esc + Enter should sumbit the query in safe multiline mode.
This commit is contained in:
parent
4a853e7df4
commit
d6b3472db0
|
@ -9,7 +9,7 @@ from prompt_toolkit.filters import (
|
|||
vi_mode,
|
||||
)
|
||||
|
||||
from .pgbuffer import buffer_should_be_handled
|
||||
from .pgbuffer import buffer_should_be_handled, safe_multi_line_mode
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -114,7 +114,7 @@ def pgcli_bindings(pgcli):
|
|||
_logger.debug("Detected enter key.")
|
||||
event.current_buffer.validate_and_handle()
|
||||
|
||||
@kb.add("escape", "enter", filter=~vi_mode)
|
||||
@kb.add("escape", "enter", filter=~vi_mode & ~safe_multi_line_mode(pgcli))
|
||||
def _(event):
|
||||
"""Introduces a line break regardless of multi-line mode or not."""
|
||||
_logger.debug("Detected alt-enter key.")
|
||||
|
|
|
@ -22,6 +22,14 @@ mode, which by default will insert new lines on Enter.
|
|||
"""
|
||||
|
||||
|
||||
def safe_multi_line_mode(pgcli):
|
||||
@Condition
|
||||
def cond():
|
||||
_logger.debug('Multi-line mode state: "%s" / "%s"', pgcli.multi_line, pgcli.multiline_mode)
|
||||
return pgcli.multi_line and (pgcli.multiline_mode == "safe")
|
||||
return cond
|
||||
|
||||
|
||||
def buffer_should_be_handled(pgcli):
|
||||
@Condition
|
||||
def cond():
|
||||
|
|
Loading…
Reference in New Issue