From 897aa5bd70b07831f98e884c63f52333f5a67439 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Thu, 5 May 2011 23:28:06 +0200 Subject: M-backspace deletes a word --- src/windows.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') 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 -- cgit v1.2.3