diff options
author | Roland Walker <walker@pobox.com> | 2021-02-24 14:44:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-24 11:44:00 -0800 |
commit | 72bb7a2a8c47f42e3e1bb1f125aaa37cdd84f12e (patch) | |
tree | b6205c219f08ef119032bbcf5d52798bbfb1b9aa | |
parent | 1310b2f739967e6db01039b626ecfd1d6a77ed20 (diff) |
Make Alt-Enter context-sensitive, inserting a LF (#924)
... linefeed in single-line mode, but dispatching the command in multi-
line mode.
-rw-r--r-- | changelog.md | 1 | ||||
-rw-r--r-- | mycli/key_bindings.py | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/changelog.md b/changelog.md index 9253cff..037ff4b 100644 --- a/changelog.md +++ b/changelog.md @@ -10,6 +10,7 @@ Bug Fixes: Features: --------- * Add `-g` shortcut to option `--login-path`. +* Alt-Enter dispatches the command in multi-line mode. Internal: --------- diff --git a/mycli/key_bindings.py b/mycli/key_bindings.py index 57b917b..4a24c82 100644 --- a/mycli/key_bindings.py +++ b/mycli/key_bindings.py @@ -78,8 +78,12 @@ def mycli_bindings(mycli): @kb.add('escape', 'enter') def _(event): - """Introduces a line break regardless of multi-line mode or not.""" + """Introduces a line break in multi-line mode, or dispatches the + command in single-line mode.""" _logger.debug('Detected alt-enter key.') - event.app.current_buffer.insert_text('\n') + if mycli.multi_line: + event.app.current_buffer.validate_and_handle() + else: + event.app.current_buffer.insert_text('\n') return kb |