X Tutup
Skip to content

Commit 99aedab

Browse files
committed
readline compatibility: make C-w (delete word) yank deleted word to cut buffer
1 parent a5ab00f commit 99aedab

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

bpython/cli.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,18 @@ def bs(self, delete_tabs=True):
324324

325325
def bs_word(self):
326326
pos = len(self.s) - self.cpos - 1
327+
deleted = []
327328
# First we delete any space to the left of the cursor.
328329
while pos >= 0 and self.s[pos] == ' ':
330+
deleted.append(self.s[pos])
329331
pos -= self.bs()
330332
# Then we delete a full word.
331333
while pos >= 0 and self.s[pos] != ' ':
334+
deleted.append(self.s[pos])
332335
pos -= self.bs()
333336

337+
return ''.join(reversed(deleted))
338+
334339
def check(self):
335340
"""Check if paste mode should still be active and, if not, deactivate
336341
it and force syntax highlighting."""
@@ -823,7 +828,7 @@ def p_key(self, key):
823828
return ''
824829

825830
elif key in key_dispatch[config.clear_word_key]:
826-
self.bs_word()
831+
self.cut_buffer = self.bs_word()
827832
self.complete()
828833
return ''
829834

0 commit comments

Comments
 (0)
X Tutup