diff options
author | Pedro Ferrari <ferrari_pedro@yahoo.com> | 2019-07-29 17:00:33 -0300 |
---|---|---|
committer | Irina Truong <i.chernyavska@gmail.com> | 2019-07-29 13:00:33 -0700 |
commit | 19c3e0eeb81f4a231d0ebfd2c18c47215f85e572 (patch) | |
tree | 136144b9b5762ffa4556cd70233ac28c9d9b3800 | |
parent | f85642da67285a2b1d991d1d0970d261a715efb1 (diff) |
Add key bindings to consistently move up and down in history (#1084)
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | changelog.rst | 2 | ||||
-rw-r--r-- | pgcli/key_bindings.py | 16 |
3 files changed, 18 insertions, 1 deletions
@@ -99,6 +99,7 @@ Contributors: * Alexander Zawadzki * Pablo A. Bianchi (pabloab) * Sebastian Janko (sebojanko) + * Pedro Ferrari (petobens) Creator: -------- diff --git a/changelog.rst b/changelog.rst index 4947bd02..571f88cd 100644 --- a/changelog.rst +++ b/changelog.rst @@ -11,6 +11,7 @@ Bug fixes: * Error connecting to PostgreSQL 12beta1 (#1058). (Thanks: `Irina Truong`_) * Empty query caused error message (Thanks: `Sebastian Janko`_) +* History navigation bindings in multiline queries (#1004) (Thanks: `Pedro Ferrari`_) 2.1.1 ===== @@ -995,3 +996,4 @@ Improvements: .. _`Telmo "Trooper"`: https://github.com/telmotrooper .. _`Alexander Zawadzki`: https://github.com/zadacka .. _`Sebastian Janko`: https://github.com/sebojanko +.. _`Pedro Ferrari`: https://github.com/petobens diff --git a/pgcli/key_bindings.py b/pgcli/key_bindings.py index 626cd142..c839256e 100644 --- a/pgcli/key_bindings.py +++ b/pgcli/key_bindings.py @@ -3,7 +3,11 @@ from __future__ import unicode_literals import logging from prompt_toolkit.enums import EditingMode from prompt_toolkit.key_binding import KeyBindings -from prompt_toolkit.filters import completion_is_selected, has_completions +from prompt_toolkit.filters import ( + completion_is_selected, + has_completions, + has_selection, +) _logger = logging.getLogger(__name__) @@ -96,4 +100,14 @@ def pgcli_bindings(pgcli): _logger.debug("Detected alt-enter key.") event.app.current_buffer.insert_text("\n") + @kb.add("c-p", filter=~has_selection) + def _(event): + """Move up in history.""" + event.current_buffer.history_backward(count=event.arg) + + @kb.add("c-n", filter=~has_selection) + def _(event): + """Move down in history.""" + event.current_buffer.history_forward(count=event.arg) + return kb |