Add some common readline bindings to the line editor

This commit is contained in:
Kovid Goyal 2021-10-14 14:29:44 +05:30
parent 3a247be758
commit ed5accd702
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -135,20 +135,20 @@ class LineEdit:
def on_key(self, key_event: KeyEvent) -> bool: def on_key(self, key_event: KeyEvent) -> bool:
if key_event.type is EventType.RELEASE: if key_event.type is EventType.RELEASE:
return False return False
if key_event.matches('home'): if key_event.matches('home') or key_event.matches('ctrl+a'):
return self.home() return self.home()
if key_event.matches('end'): if key_event.matches('end') or key_event.matches('ctrl+e'):
return self.end() return self.end()
if key_event.matches('backspace'): if key_event.matches('backspace'):
self.backspace() self.backspace()
return True return True
if key_event.matches('delete'): if key_event.matches('delete') or key_event.matches('ctrl+d'):
self.delete() self.delete()
return True return True
if key_event.matches('left'): if key_event.matches('left') or key_event.matches('ctrl+b'):
self.left() self.left()
return True return True
if key_event.matches('right'): if key_event.matches('right') or key_event.matches('ctrl+f'):
self.right() self.right()
return True return True
return False return False