From 2970f407be7dd7aec13cf4733bf93b700abd2b0f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Mon, 29 May 2023 08:07:23 +0200 Subject: loader: enable colors for Debug{} --- loader/init.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'loader') diff --git a/loader/init.cpp b/loader/init.cpp index ee907675..55cbaa6d 100644 --- a/loader/init.cpp +++ b/loader/init.cpp @@ -1,6 +1,7 @@ #include "impl.hpp" #ifdef _WIN32 +#include #include #if __has_include() #include @@ -38,7 +39,32 @@ static void system_init_() #ifdef _WIN32 (void)::SetConsoleOutputCP(CP_UTF8); if (check_windows_build_number(10, 0, 17035)) + { + for (const auto h : { STD_INPUT_HANDLE, STD_ERROR_HANDLE, STD_OUTPUT_HANDLE }) + { + HANDLE handle = GetStdHandle(h); + if (!handle) + { + puts(""); // put breakpoint here + } + else + { + DWORD mode = 0; + if (!::GetConsoleMode(handle, &mode)) + { + puts(""); // put breakpoint here + } + else + { + if (!::SetConsoleMode(handle, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING)) + { + puts(""); // put breakpoint here + } + } + } + } (void)::SetConsoleCP(CP_UTF8); + } #endif #ifdef __GLIBCXX__ std::set_terminate(__gnu_cxx::__verbose_terminate_handler); -- cgit v1.2.3