Re: [PATCH 00/18] make test "linting" more comprehensive
From: Jeff King <hidden>
Date: 2022-09-11 18:32:16
On Sun, Sep 11, 2022 at 03:01:41AM -0400, Eric Sunshine wrote:
quoted
I wonder if color output for "# chainlint" and "?!" annotations would help, too. It looks like that may be tricky, though, because the annotations re-parsed internally in some cases.I had the exact same thought about coloring the "# chainlint:" lines and "?!FOO?!" annotations, and how helpful that could be to anyone (not just newcomers). Aside from not having much free time these days, a big reason I didn't tackle it was because doing so properly probably means relying upon some third-party Perl module, and I intentionally wanted to keep the linter independent of add-on modules. Even without a "coloring" module of some sort, if Perl had a standard `curses` module (which it doesn't), then it would have been easy enough to ask `curses` for the proper color codes and apply them as needed. I'm old-school, so it doesn't appeal to me, but an alternative would be to assume it's safe to use ANSI color codes, but even that may have to be done carefully (i.e. checking TERM and accepting only some whitelisted entries, and worrying about about Windows consoles).
We're pretty happy to just use ANSI in the rest of Git, but there is a complication on Windows. See compat/winansi.c where we decode those internally into SetConsoleTextAttribute() calls. I think we can live with it as-is for now and see how people react. If lots of people are getting confused by the output, then that motivates finding a solution. If not, then it's probably not worth the time. -Peff