log.go | 44 +++++++++++++++++++++++++------------------- main.go | 4 ++++ status.go | 2 +- usage.go | 2 +- diff --git a/log.go b/log.go index 0320b6ed47ce6a60c4172f2a43c0ed9312d3bfd628a09c16db95c29c44777b6e..a2276002c8bad40e364fc71fecab37a61e8d294c364a59f0e950ba52e4c2a0e2 100644 --- a/log.go +++ b/log.go @@ -31,23 +31,25 @@ "golang.org/x/term" ) const ( - EnvLevel = "REDO_LEVEL" - EnvDebug = "REDO_DEBUG" - EnvLogWait = "REDO_LOG_WAIT" - EnvLogLock = "REDO_LOG_LOCK" - EnvLogPid = "REDO_LOG_PID" - EnvLogJS = "REDO_LOG_JS" - EnvNoColor = "NO_COLOR" + EnvLevel = "REDO_LEVEL" + EnvNoProgress = "REDO_NO_PROGRESS" + EnvDebug = "REDO_DEBUG" + EnvLogWait = "REDO_LOG_WAIT" + EnvLogLock = "REDO_LOG_LOCK" + EnvLogPid = "REDO_LOG_PID" + EnvLogJS = "REDO_LOG_JS" + EnvNoColor = "NO_COLOR" ) var ( - Level = 0 - NoColor bool - Debug bool - LogWait bool - LogLock bool - LogJS bool - MyPid int + Level = 0 + NoColor bool + NoProgress bool + Debug bool + LogWait bool + LogLock bool + LogJS bool + MyPid int CDebug string CRedo string @@ -59,11 +61,12 @@ CJS string CReset string CNone string = "NONE" - flagDebug = flag.Bool("debug", false, fmt.Sprintf("enable debug logging (%s=1)", EnvDebug)) - flagLogWait = flag.Bool("log-wait", false, fmt.Sprintf("enable wait messages logging (%s=1)", EnvLogWait)) - flagLogLock = flag.Bool("log-lock", false, fmt.Sprintf("enable lock messages logging (%s=1)", EnvLogLock)) - flagLogPid = flag.Bool("log-pid", false, fmt.Sprintf("append PIDs (%s=1)", EnvLogPid)) - flagLogJS = flag.Bool("log-js", false, fmt.Sprintf("enable jobserver messages logging (%s=1)", EnvLogJS)) + flagNoProgress = flag.Bool("no-progress", false, fmt.Sprintf("no progress printing (%s=1), also implies -no-status", EnvNoProgress)) + flagDebug = flag.Bool("debug", false, fmt.Sprintf("enable debug logging (%s=1)", EnvDebug)) + flagLogWait = flag.Bool("log-wait", false, fmt.Sprintf("enable wait messages logging (%s=1)", EnvLogWait)) + flagLogLock = flag.Bool("log-lock", false, fmt.Sprintf("enable lock messages logging (%s=1)", EnvLogLock)) + flagLogPid = flag.Bool("log-pid", false, fmt.Sprintf("append PIDs (%s=1)", EnvLogPid)) + flagLogJS = flag.Bool("log-js", false, fmt.Sprintf("enable jobserver messages logging (%s=1)", EnvLogJS)) LogMutex sync.Mutex LogLenPrev int @@ -117,6 +120,9 @@ return } p += "wait " case CRedo: + if NoProgress { + return + } p += "redo " case CLock: if !(LogLock || Debug) { diff --git a/main.go b/main.go index 739875ab24dc447774b25615f7c6fe20ca5f929af2fbef4a9c943d0d483126b5..93f88f3a4cf0de54df479c907affd1bcfaa430f756a787092f9db0dccfa36a87 100644 --- a/main.go +++ b/main.go @@ -119,6 +119,9 @@ } if *flagStderrSilent { mustSetenv(EnvStderrSilent, "1") } + if *flagNoProgress { + mustSetenv(EnvNoProgress, "1") + } if *flagDebug { mustSetenv(EnvDebug, "1") } @@ -136,6 +139,7 @@ mustSetenv(EnvLogJS, "1") } StderrKeep = os.Getenv(EnvStderrKeep) == "1" StderrSilent = os.Getenv(EnvStderrSilent) == "1" + NoProgress = os.Getenv(EnvNoProgress) == "1" Debug = os.Getenv(EnvDebug) == "1" LogWait = os.Getenv(EnvLogWait) == "1" LogLock = os.Getenv(EnvLogLock) == "1" diff --git a/status.go b/status.go index 84e52325418d9e18f5ddb96db4c4b408286a311f8111f6d84ef697bea5125834..06ce3e97b18fe0ef4b361520fab06b123cd0463834dbd4a74a57161685f901d9 100644 --- a/status.go +++ b/status.go @@ -40,7 +40,7 @@ flagNoStatus = flag.Bool("no-status", false, "disable statusline (REDO_NO_STATUS=1)") ) func statusInit() { - if *flagNoStatus { + if NoProgress || *flagNoStatus { return } if v := os.Getenv(EnvNoStatus); v == "1" { diff --git a/usage.go b/usage.go index 4ef37176e5de3a27b2f823dd54486efe1d7a25b482fcbf5f3b8aabd9d0110292..74c99860db56cdec63dd6add67e9702c2ed44a98c079381ff6733f1ce40a5e6f 100644 --- a/usage.go +++ b/usage.go @@ -26,7 +26,7 @@ "strings" ) const ( - Version = "0.6.2" + Version = "0.7.0" Warranty = `This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.