summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-10-26 14:32:32 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-10-26 14:33:44 +0200
commitdf021317a964a482cd1cd579de5a12d50faf0d08 (patch)
tree5c8b357a86e99698296b01134f39ba4a6b9f14fe
parent78578632f545283741a01f024a6ccedc0b695a30 (diff)
commands: Only show Ansi escape codes if in a terminal
-rw-r--r--commands/helpers.go7
-rw-r--r--commands/helpers_others.go23
-rw-r--r--commands/helpers_windows.go23
-rw-r--r--commands/hugo.go22
4 files changed, 25 insertions, 50 deletions
diff --git a/commands/helpers.go b/commands/helpers.go
index be6edaf99..1386e425f 100644
--- a/commands/helpers.go
+++ b/commands/helpers.go
@@ -23,6 +23,13 @@ import (
"github.com/spf13/cobra"
)
+const (
+ ansiEsc = "\u001B"
+ clearLine = "\r\033[K"
+ hideCursor = ansiEsc + "[?25l"
+ showCursor = ansiEsc + "[?25h"
+)
+
type flagsToConfigHandler interface {
flagsToConfig(cfg config.Provider)
}
diff --git a/commands/helpers_others.go b/commands/helpers_others.go
deleted file mode 100644
index b6a97e2bd..000000000
--- a/commands/helpers_others.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018 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.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// +build !windows
-
-package commands
-
-const (
- ansiEsc = "\u001B"
- clearLine = "\r\033[K"
- hideCursor = ansiEsc + "[?25l"
- showCursor = ansiEsc + "[?25h"
-)
diff --git a/commands/helpers_windows.go b/commands/helpers_windows.go
deleted file mode 100644
index fd02c3a03..000000000
--- a/commands/helpers_windows.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018 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.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// +build windows
-
-package commands
-
-const (
- ansiEsc = ""
- clearLine = ""
- hideCursor = ""
- showCursor = ""
-)
diff --git a/commands/hugo.go b/commands/hugo.go
index 1cfbdcf7c..ce11626eb 100644
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -27,6 +27,7 @@ import (
"github.com/gohugoio/hugo/common/herrors"
"github.com/gohugoio/hugo/common/loggers"
+ "github.com/gohugoio/hugo/common/terminal"
"syscall"
@@ -264,6 +265,17 @@ func setValueFromFlag(flags *flag.FlagSet, key string, cfg config.Provider, targ
}
}
+func isTerminal() bool {
+ return terminal.IsTerminal(os.Stdout)
+
+}
+func ifTerminal(s string) string {
+ if !isTerminal() {
+ return ""
+ }
+ return s
+}
+
func (c *commandeer) fullBuild() error {
var (
g errgroup.Group
@@ -271,10 +283,12 @@ func (c *commandeer) fullBuild() error {
)
if !c.h.quiet {
- fmt.Print(hideCursor + "Building sites … ")
- defer func() {
- fmt.Print(showCursor + clearLine)
- }()
+ fmt.Print(ifTerminal(hideCursor) + "Building sites … ")
+ if isTerminal() {
+ defer func() {
+ fmt.Print(showCursor + clearLine)
+ }()
+ }
}
copyStaticFunc := func() error {