summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Slenders <jonathan@slenders.be>2016-07-15 22:50:57 +0200
committerJonathan Slenders <jonathan@slenders.be>2016-07-15 22:50:57 +0200
commitbd5a2dbe2e539a826aebe661a73ada0531ff36ea (patch)
treeca5fa1eb8d1e8c473b967a3d73d9b03f9e3e576d
parent60d03a2d897a39c7a90dab8388cad5977d69e58b (diff)
Delete in front of the cursor when a negative argument has been given to backspace.
-rw-r--r--prompt_toolkit/key_binding/bindings/named_commands.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/prompt_toolkit/key_binding/bindings/named_commands.py b/prompt_toolkit/key_binding/bindings/named_commands.py
index 6aaa0c40..dff8cb4a 100644
--- a/prompt_toolkit/key_binding/bindings/named_commands.py
+++ b/prompt_toolkit/key_binding/bindings/named_commands.py
@@ -188,7 +188,13 @@ def delete_char(event):
@register('backward-delete-char')
def backward_delete_char(event):
" Delete the character behind the cursor. "
- deleted = event.current_buffer.delete_before_cursor(count=event.arg)
+ if event.arg < 0:
+ # When a negative argument has been given, this should delete in front
+ # of the cursor.
+ deleted = event.current_buffer.delete(count=-event.arg)
+ else:
+ deleted = event.current_buffer.delete_before_cursor(count=event.arg)
+
if not deleted:
event.cli.output.bell()