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:
| M | retronews.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