Enable plain TTY logging mode + loose-data processing
This commit is contained in:
+17
-3
@@ -139,6 +139,20 @@ func isInteractiveTTY(w io.Writer) bool {
|
||||
return (info.Mode() & os.ModeCharDevice) != 0
|
||||
}
|
||||
|
||||
func spinnerEnabledFor(w io.Writer, level logLevel) bool {
|
||||
mode := strings.TrimSpace(strings.ToLower(os.Getenv("SOW_TOOLS_TTY_MODE")))
|
||||
switch mode {
|
||||
case "plain", "off", "0", "false", "no":
|
||||
return false
|
||||
case "spinner", "on", "1", "true", "yes":
|
||||
return level == logLevelNormal && isInteractiveTTY(w)
|
||||
case "", "auto":
|
||||
return isInteractiveTTY(w) && strings.TrimSpace(os.Getenv("CI")) == "" && level == logLevelNormal
|
||||
default:
|
||||
return isInteractiveTTY(w) && strings.TrimSpace(os.Getenv("CI")) == "" && level == logLevelNormal
|
||||
}
|
||||
}
|
||||
|
||||
var commands = []command{
|
||||
{
|
||||
name: "build",
|
||||
@@ -605,7 +619,7 @@ func newProjectConsole(ctx context, p *project.Project, commandName string) *pro
|
||||
commandName: commandName,
|
||||
commandLabel: projectCommandLabel(commandName),
|
||||
level: ctx.logLevel,
|
||||
spinnerEnabled: isInteractiveTTY(ctx.stderr) && strings.TrimSpace(os.Getenv("CI")) == "" && ctx.logLevel == logLevelNormal,
|
||||
spinnerEnabled: spinnerEnabledFor(ctx.stderr, ctx.logLevel),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -787,7 +801,7 @@ func newBuildHAKConsole(ctx context, p *project.Project, opts buildHAKOptions) *
|
||||
projectName: p.Config.Module.Name,
|
||||
planOnly: opts.planOnly,
|
||||
level: opts.logLevel,
|
||||
spinnerEnabled: isInteractiveTTY(ctx.stderr) && strings.TrimSpace(os.Getenv("CI")) == "" && opts.logLevel == logLevelNormal,
|
||||
spinnerEnabled: spinnerEnabledFor(ctx.stderr, opts.logLevel),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -962,7 +976,7 @@ func newTopdataConsole(ctx context, p *project.Project, commandName string) *top
|
||||
commandName: commandName,
|
||||
commandLabel: topdataCommandLabel(commandName),
|
||||
level: ctx.logLevel,
|
||||
spinnerEnabled: isInteractiveTTY(ctx.stderr) && strings.TrimSpace(os.Getenv("CI")) == "" && ctx.logLevel == logLevelNormal,
|
||||
spinnerEnabled: spinnerEnabledFor(ctx.stderr, ctx.logLevel),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user