chistedit: use default curses colours
Terminals will define default colours (for example, white text on
black background), but curses doesn't obey those default colours
unless told to do so.
Calling `curses.use_default_colors` makes curses obey the default
terminal colours. One of the most obvious effects is that this allows
transparency on terminals that support it.
This also brings chistedit closer in appearance to crecord, which also
uses default colours.
The call may error out if the terminal doesn't support colors, but as
far as I can tell, everything still works. If we need a more careful
handling of lack of colours, blame me for not doing it now.
--- a/hgext/histedit.py Sun Apr 07 16:53:47 2019 +0200
+++ b/hgext/histedit.py Fri Apr 05 14:54:45 2019 -0400
@@ -1238,6 +1238,11 @@
return displayer.hunk[rule.ctx.rev()].splitlines()
def _chisteditmain(repo, rules, stdscr):
+ try:
+ curses.use_default_colors()
+ except curses.error:
+ pass
+
# initialize color pattern
curses.init_pair(COLOR_HELP, curses.COLOR_WHITE, curses.COLOR_BLUE)
curses.init_pair(COLOR_SELECTED, curses.COLOR_BLACK, curses.COLOR_WHITE)