Author: David Sanders Date: 2020-10-31T10:36:42-04:00 New Revision: d915d403d7410b17e8ac52f1f435859713a7b354
URL: https://github.com/llvm/llvm-project/commit/d915d403d7410b17e8ac52f1f435859713a7b354 DIFF: https://github.com/llvm/llvm-project/commit/d915d403d7410b17e8ac52f1f435859713a7b354.diff LOG: Use ANSI escape codes for --use-color on Windows On Windows the --use-color option cannot be used for its originally intended purpose of forcing color when piping stdout, since Windows does not use ANSI escape codes by default. This change turns on ANSI escape codes on Windows when forcing color to a non-displayed stdout (e.g. piped). Added: Modified: clang-tools-extra/clang-tidy/ClangTidy.cpp clang-tools-extra/test/clang-tidy/infrastructure/use-color.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp index 1f94ab4977c2..b5f2a1c0fbdb 100644 --- a/clang-tools-extra/clang-tidy/ClangTidy.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp @@ -110,6 +110,9 @@ class ErrorReporter { DiagOpts->ShowColors = Context.getOptions().UseColor.getValueOr( llvm::sys::Process::StandardOutHasColors()); DiagPrinter->BeginSourceFile(LangOpts); + if (DiagOpts->ShowColors && !llvm::sys::Process::StandardOutIsDisplayed()) { + llvm::sys::Process::UseANSIEscapeCodes(true); + } } SourceManager &getSourceManager() { return SourceMgr; } diff --git a/clang-tools-extra/test/clang-tidy/infrastructure/use-color.cpp b/clang-tools-extra/test/clang-tidy/infrastructure/use-color.cpp index 5f0e3509d008..ace70a4a051e 100644 --- a/clang-tools-extra/test/clang-tidy/infrastructure/use-color.cpp +++ b/clang-tools-extra/test/clang-tidy/infrastructure/use-color.cpp @@ -5,7 +5,6 @@ // RUN: clang-tidy -config='UseColor: false' -dump-config | FileCheck -check-prefix=CHECK-CONFIG-NO-COLOR %s // RUN: clang-tidy -help | FileCheck -check-prefix=CHECK-OPT-PRESENT %s -// REQUIRES: ansi-escape-sequences // RUN: clang-tidy -checks='-*, modernize-use-override' -extra-arg=-std=c++11 -use-color=false %s | FileCheck -check-prefix=CHECK-NO-COLOR %s // RUN: clang-tidy -checks='-*, modernize-use-override' -extra-arg=-std=c++11 %s | FileCheck -check-prefix=CHECK-NO-COLOR %s // RUN: clang-tidy -checks='-*, modernize-use-override' -extra-arg=-std=c++11 -use-color %s | FileCheck -check-prefix=CHECK-COLOR %s _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits