Author: xbolva00 Date: Wed Sep 5 15:06:58 2018 New Revision: 341497 URL: http://llvm.org/viewvc/llvm-project?rev=341497&view=rev Log: Set Windows console mode to enable support for ansi escape codes
Summary: Windows console now supports supports ANSI escape codes, but we need to enable it using SetConsoleMode with ENABLE_VIRTUAL_TERMINAL_PROCESSING flag. https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences. Syntax hightlighting now works fine on Windows: https://i.imgur.com/P0i04A7.png Reviewers: JDevlieghere, teemperor, zturner Reviewed By: zturner Subscribers: abidh, lldb-commits Differential Revision: https://reviews.llvm.org/D51615 Modified: lldb/trunk/source/Core/Debugger.cpp Modified: lldb/trunk/source/Core/Debugger.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Debugger.cpp?rev=341497&r1=341496&r2=341497&view=diff ============================================================================== --- lldb/trunk/source/Core/Debugger.cpp (original) +++ lldb/trunk/source/Core/Debugger.cpp Wed Sep 5 15:06:58 2018 @@ -50,6 +50,7 @@ #if defined(_WIN32) #include "lldb/Host/windows/PosixApi.h" // for PATH_MAX +#include "lldb/Host/windows/windows.h" #endif #include "llvm/ADT/None.h" // for None @@ -58,6 +59,7 @@ #include "llvm/ADT/iterator.h" // for iterator_facade_... #include "llvm/Support/DynamicLibrary.h" #include "llvm/Support/FileSystem.h" +#include "llvm/Support/Process.h" #include "llvm/Support/Threading.h" #include "llvm/Support/raw_ostream.h" // for raw_fd_ostream @@ -804,6 +806,13 @@ Debugger::Debugger(lldb::LogOutputCallba // Turn off use-color if we don't write to a terminal with color support. if (!m_output_file_sp->GetFile().GetIsTerminalWithColors()) SetUseColor(false); + +#if defined(_WIN32) && defined(ENABLE_VIRTUAL_TERMINAL_PROCESSING) + // Enabling use of ANSI color codes because LLDB is using them to highlight + // text. + llvm::sys::Process::UseANSIEscapeCodes(true); + SetUseColor(true); +#endif } Debugger::~Debugger() { Clear(); } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits