Personally I don't think this is required, but I don't pretend to
represent the tinycc maintainers' opinion. If it is added, however,
then the following should probably be taken into account:

- This mostly works, but it won't work on all terminals, for instance
 the original DEC VT100 has bold but doesn't have colors.

- It's probably better to support disabling it by means other than
 piping stderr into "cat" (so that stdout is not a tty). I.e. using
 an option, probably with value always/never/auto. Preferably it
 should also respect NO_COLOR by default. see https://no-color.org/ .

- This won't work on Windows before 10, e.g. Windows xp/7/8.

- On Windows 10+ this only works if the console/termimal has VT
 enabled - which is disabled by default, or if it runs in
 a terminal which supports VT (like mintty in MSYS2 or cygwin).
 To test if VT is enabled (untested, off the top of my head):
 DWORD mode; int has_vt;
 has_vt = GetConsoleMode(GetStdHandle(STD_ERROR_HANDLE), &mode) &&
 (mode & ENABLE_VIRTUAL_TERMINAL_PROCESSING);
 Note that ENABLE_VIRTUAL_TERMINAL_PROCESSING is new-ish and not
 defined in the tcc windows headers, so the code above would fail if
 compiled in tcc. You can define it as 4 if it's not defined.
 If you go this path, it should be used when compiling on windows
 (not when the target is windows).

- avih

     On Sunday, May 12, 2024 at 02:36:25 AM GMT+3, Nicolas Sauzede 
<nicolas.sauz...@gmail.com> wrote:  
 
 Hi,
I created a very simple mob branch to color warnings/errors output, just like 
GCC and Clang.

    $ git fetch origin 
refs/mob/mob_nsauzede/colored_warning_error:colored_warning_error    $ git 
checkout colored_warning_error
I tested it successfully on Linux (Arch) and Windows (MSYS2, 64 bits GCC 
bootstrap)It uses `isatty(2)` (unistd.h) to detect if the output should be 
colored (default) or not (eg: piped to a file) to behave like GCC and Clang.

What do you think ?
BR,NS.
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
  
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to