diff options
Diffstat (limited to 'tcvt.py')
-rwxr-xr-x | tcvt.py | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -597,6 +597,8 @@ class Terminal: func(self) elif char == ord(b'm'): self.feed_esc_opbr_next(char, bytearray(b'0')) + elif char == ord(b'?'): + self.mode = (self.feed_esc_opbr_quest_next, bytearray()) elif char in bytearray(b'0123456789'): self.mode = (self.feed_esc_opbr_next, bytearray((char,))) else: @@ -637,6 +639,18 @@ class Terminal: else: raise ValueError("feed esc [ %r m" % code) + def feed_esc_opbr_quest_next(self, char, prev): + self.feed_reset() + if char in bytearray(b'0123456789'): + self.mode = (self.feed_esc_opbr_quest_next, + prev + bytearray((char,))) + elif char == ord('h') and int(prev) == 2004: + pass # ignore enabling bracketed paste mode for now + elif char == ord('l') and int(prev) == 2004: + pass # ignore disabling bracketed paste mode for now + else: + raise ValueError("feed esc [ ? %r %r" % (prev, char)) + feed_esc_opbr_next_table = { ord('A'): do_cuu, ord('B'): do_cud, |