Merge pull request #66216 from Calinou/windows-enable-ansi-escape-codes-3.x
This commit is contained in:
commit
8a6763cf74
1 changed files with 15 additions and 0 deletions
|
@ -3998,6 +3998,21 @@ OS_Windows::OS_Windows(HINSTANCE _hInstance) {
|
||||||
AudioDriverManager::add_driver(&driver_xaudio2);
|
AudioDriverManager::add_driver(&driver_xaudio2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Enable ANSI escape code support on Windows 10 v1607 (Anniversary Update) and later.
|
||||||
|
// This lets the engine and projects use ANSI escape codes to color text just like on macOS and Linux.
|
||||||
|
//
|
||||||
|
// NOTE: The engine does not use ANSI escape codes to color error/warning messages; it uses Windows API calls instead.
|
||||||
|
// Therefore, error/warning messages are still colored on Windows versions older than 10.
|
||||||
|
HANDLE stdoutHandle;
|
||||||
|
stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||||
|
DWORD outMode = 0;
|
||||||
|
outMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||||
|
|
||||||
|
if (!SetConsoleMode(stdoutHandle, outMode)) {
|
||||||
|
// Windows 8.1 or below, or Windows 10 prior to Anniversary Update.
|
||||||
|
print_verbose("Can't set the ENABLE_VIRTUAL_TERMINAL_PROCESSING Windows console mode.");
|
||||||
|
}
|
||||||
|
|
||||||
Vector<Logger *> loggers;
|
Vector<Logger *> loggers;
|
||||||
loggers.push_back(memnew(WindowsTerminalLogger));
|
loggers.push_back(memnew(WindowsTerminalLogger));
|
||||||
_set_logger(memnew(CompositeLogger(loggers)));
|
_set_logger(memnew(CompositeLogger(loggers)));
|
||||||
|
|
Loading…
Reference in a new issue