retronews

a featureful fork of the luke8086/retronews hn+lobste.rs tui
Log | Files | Refs | README | LICENSE

commit afd5d95037ec36e0e429367a693d114f5c9ea4cf
parent 87e52d54291f1aa2bef2e0b2f091914e9ff6cb23
Author: luke8086 <55237178+luke8086@users.noreply.github.com>
Date:   Mon, 25 Jul 2022 22:54:16 +0000

Refactoring for Colors

Diffstat:
Mretronews.py | 47+++++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/retronews.py b/retronews.py @@ -40,32 +40,31 @@ QUOTE_REX = re.compile(r"^(> ?)+") class Colors: - menu: int + _last_index: int = 0 def __init__(self): - idx = 0 - - def init_pair(fg: int, bg: int) -> int: - nonlocal idx - idx = idx + 1 - curses.init_pair(idx, fg, bg) - return curses.color_pair(idx) - - self.default = init_pair(curses.COLOR_WHITE, -1) - self.menu = init_pair(curses.COLOR_GREEN, curses.COLOR_BLUE) - self.menu_active = init_pair(curses.COLOR_YELLOW, curses.COLOR_BLUE) - self.date = init_pair(curses.COLOR_CYAN, -1) - self.author = init_pair(curses.COLOR_YELLOW, -1) - self.unread_comments = init_pair(curses.COLOR_GREEN, -1) - self.subject = init_pair(curses.COLOR_GREEN, -1) - self.starred_subject = init_pair(curses.COLOR_CYAN, -1) - self.tree = init_pair(curses.COLOR_RED, -1) - self.quote = init_pair(curses.COLOR_YELLOW, -1) - self.nested_quote = init_pair(curses.COLOR_BLUE, -1) - self.code = init_pair(curses.COLOR_GREEN, -1) - self.url = init_pair(curses.COLOR_MAGENTA, -1) - self.cursor = init_pair(curses.COLOR_BLACK, curses.COLOR_CYAN) - self.empty_pager_line = init_pair(curses.COLOR_GREEN, -1) + pair = self._add_pair + + self.author = pair(curses.COLOR_YELLOW, -1) + self.code = pair(curses.COLOR_GREEN, -1) + self.cursor = pair(curses.COLOR_BLACK, curses.COLOR_CYAN) + self.date = pair(curses.COLOR_CYAN, -1) + self.default = pair(curses.COLOR_WHITE, -1) + self.empty_pager_line = pair(curses.COLOR_GREEN, -1) + self.menu = pair(curses.COLOR_GREEN, curses.COLOR_BLUE) + self.menu_active = pair(curses.COLOR_YELLOW, curses.COLOR_BLUE) + self.nested_quote = pair(curses.COLOR_BLUE, -1) + self.quote = pair(curses.COLOR_YELLOW, -1) + self.starred_subject = pair(curses.COLOR_CYAN, -1) + self.subject = pair(curses.COLOR_GREEN, -1) + self.tree = pair(curses.COLOR_RED, -1) + self.unread_comments = pair(curses.COLOR_GREEN, -1) + self.url = pair(curses.COLOR_MAGENTA, -1) + + def _add_pair(self, fg: int, bg: int) -> int: + self._last_index = self._last_index + 1 + curses.init_pair(self._last_index, fg, bg) + return curses.color_pair(self._last_index) @dataclass