From 16bdfdfe8159f3813221b9023b5b49bd6c570863 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Sat, 14 Oct 2017 18:39:50 +0100 Subject: Add support for italic on ^Ci. Fixes #2722. --- poezio/windows/base_wins.py | 6 +++++- poezio/windows/funcs.py | 2 ++ poezio/windows/inputs.py | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'poezio/windows') diff --git a/poezio/windows/base_wins.py b/poezio/windows/base_wins.py index a9229d32..a009c763 100644 --- a/poezio/windows/base_wins.py +++ b/poezio/windows/base_wins.py @@ -95,7 +95,7 @@ class Win(object): \x191}Bonj\x192}our → 'Bonj' in red and 'our' in green next_attr_char is the \x19 delimiter attr_char is the char following it, it can be - one of 'u', 'b', 'c[0-9]' + one of 'u', 'b', 'i', 'c[0-9]' """ if y is not None and x is not None: self.move(y, x) @@ -113,6 +113,8 @@ class Win(object): self._win.attron(curses.A_UNDERLINE) elif attr_char == 'b': self._win.attron(curses.A_BOLD) + elif attr_char == 'i': + self._win.attron(curses.A_ITALIC) if (attr_char in string.digits or attr_char == '-') and attr_char != '': color_str = text[next_attr_char+1:text.find('}', next_attr_char)] if ',' in color_str: @@ -125,6 +127,8 @@ class Win(object): self._win.attron(curses.A_UNDERLINE) elif char == 'b': self._win.attron(curses.A_BOLD) + elif char == 'i': + self._win.attron(curses.A_ITALIC) else: # this will reset previous bold/uderline sequences if any was used self._win.attroff(curses.A_UNDERLINE) diff --git a/poezio/windows/funcs.py b/poezio/windows/funcs.py index 9d596bcc..ea2941c8 100644 --- a/poezio/windows/funcs.py +++ b/poezio/windows/funcs.py @@ -43,6 +43,8 @@ def parse_attrs(text, previous=None): attrs.append('u') elif attr_char == 'b': attrs.append('b') + elif attr_char == 'i': + attrs.append('i') if attr_char in DIGITS and attr_char: color_str = text[next_attr_char+1:text.find('}', next_attr_char)] if color_str: diff --git a/poezio/windows/inputs.py b/poezio/windows/inputs.py index ae1440b3..fca12e9d 100644 --- a/poezio/windows/inputs.py +++ b/poezio/windows/inputs.py @@ -482,6 +482,8 @@ class Input(Win): self._win.attron(curses.A_UNDERLINE) elif attr_char == 'b': self._win.attron(curses.A_BOLD) + elif attr_char == 'i': + self._win.attron(curses.A_ITALIC) elif attr_char in string.digits and attr_char != '': self._win.attron(to_curses_attr((int(attr_char), -1))) format_char = find_first_format_char(text, chars) -- cgit v1.2.3