diff options
Diffstat (limited to 'src/windows.py')
-rw-r--r-- | src/windows.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/windows.py b/src/windows.py index ea4bfca2..bfe3102e 100644 --- a/src/windows.py +++ b/src/windows.py @@ -732,6 +732,7 @@ class Input(Win): 'M-f': self.jump_word_right, "M-[1;5C": self.jump_word_right, "KEY_BACKSPACE": self.key_backspace, + "M-KEY_BACKSPACE": self.delete_word, '^?': self.key_backspace, '^J': self.add_line_break, } @@ -756,6 +757,19 @@ class Input(Win): def is_empty(self): return len(self.text) == 0 + def delete_word(self): + """ + Delete the word behind the cursor. + """ + if not len(self.text) or self.pos == 0: + return + separators = string.punctuation+' ' + while self.pos > 0 and self.text[self.pos+self.line_pos-1] in separators: + self.key_backspace() + while self.pos > 0 and self.text[self.pos+self.line_pos-1] not in separators: + self.key_backspace() + return True + def jump_word_left(self): """ Move the cursor one word to the left |