Support styling on native MS-Windows console

gdb/ChangeLog:
2019-03-08  Eli Zaretskii  <eliz@gnu.org>

	PR/24315
	* utils.c (can_emit_style_escape) [_WIN32]: Don't disable styling
	on MS-Windows if $TERM is not defined.

	* cli/cli-style.c: Set cli_styling to 1 in the MinGW build.

	* posix-hdep.c (gdb_console_fputs):
	* mingw-hdep.c (rgb_to_16colors, gdb_console_fputs): New
	functions.
	* ui-file.h (gdb_console_fputs): Add prototype.

	* ui-file.c (stdio_file::puts): Call gdb_console_fputs, and fall
	back to fputs only if the former returns zero.
This commit is contained in:
Eli Zaretskii 2019-03-09 08:44:56 +02:00
parent 4639b61ae3
commit e4adb93903
7 changed files with 237 additions and 1 deletions

View file

@ -236,6 +236,12 @@ stdio_file::write_async_safe (const char *buf, long length_buf)
void
stdio_file::puts (const char *linebuffer)
{
/* This host-dependent function (with implementations in
posix-hdep.c and mingw-hdep.c) is given the opportunity to
process the output first in host-dependent way. If it does, it
should return non-zero, to avoid calling fputs below. */
if (gdb_console_fputs (linebuffer, m_file))
return;
/* Calling error crashes when we are called from the exception framework. */
if (fputs (linebuffer, m_file))
{