}
}
-func isTerminal() bool {
- return terminal.IsTerminal(os.Stdout)
-}
-
func (c *commandeer) fullBuild(noBuildLock bool) error {
var (
g errgroup.Group
if !c.h.quiet {
fmt.Println("Start building sites … ")
fmt.Println(hugo.BuildVersionString())
- if isTerminal() {
+ if terminal.IsTerminal(os.Stdout) {
defer func() {
fmt.Print(showCursor + clearLine)
}()
}
func getLogWriters(outHandle, logHandle io.Writer) (io.Writer, io.Writer) {
- isTerm := terminal.IsTerminal(os.Stdout)
+ isTerm := terminal.PrintANSIColors(os.Stdout)
if logHandle != ioutil.Discard && isTerm {
// Remove any Ansi coloring from log output
logHandle = ansiCleaner{w: logHandle}
-// Copyright 2018 The Hugo Authors. All rights reserved.
+// Copyright 2022 The Hugo Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
noticeColor = "\033[1;36m%s\033[0m"
)
+// PrintANSIColors returns false if NO_COLOR env variable is set,
+// else IsTerminal(f).
+func PrintANSIColors(f *os.File) bool {
+ if os.Getenv("NO_COLOR") != "" {
+ return false
+ }
+ return IsTerminal(f)
+}
+
// IsTerminal return true if the file descriptor is terminal and the TERM
// environment variable isn't a dumb one.
func IsTerminal(f *os.File) bool {
msg := fmt.Sprintf(format, args...)
- if terminal.IsTerminal(os.Stdout) {
+ if terminal.PrintANSIColors(os.Stdout) {
return terminal.Notice(msg)
}