bisync: fix --colors flag

quick fix to get around lack of support in fs.Infof etc.
This commit is contained in:
nielash 2023-12-23 15:31:33 -05:00
parent 0f549520ef
commit 8d3bcc025a
3 changed files with 11 additions and 2 deletions

View File

@ -189,8 +189,6 @@ type bisyncTest struct {
TestFn bisync.TestFunc
}
const TerminalColorMode = fs.TerminalColorModeAlways
var color = bisync.Color
// TestBisync is a test engine for bisync test cases.
@ -206,6 +204,7 @@ func TestBisync(t *testing.T) {
if *argRefreshTimes {
ci.RefreshTimes = true
}
bisync.Colors = true
baseDir, err := os.Getwd()
require.NoError(t, err, "get current directory")

View File

@ -62,8 +62,13 @@ func quotePath(path string) string {
return escapePath(path, true)
}
var Colors bool // Colors controls whether terminal colors are enabled
// Color handles terminal colors for bisync
func Color(style string, s string) string {
if !Colors {
return s
}
terminal.Start()
return style + s + terminal.Reset
}

View File

@ -17,6 +17,7 @@ import (
"github.com/rclone/rclone/cmd/bisync/bilib"
"github.com/rclone/rclone/fs"
"github.com/rclone/rclone/fs/accounting"
"github.com/rclone/rclone/fs/log"
"github.com/rclone/rclone/fs/operations"
"github.com/rclone/rclone/lib/atexit"
"github.com/rclone/rclone/lib/terminal"
@ -80,6 +81,10 @@ func Bisync(ctx context.Context, fs1, fs2 fs.Fs, optArg *Options) (err error) {
ci := fs.GetConfig(ctx)
opt.OrigBackupDir = ci.BackupDir
if ci.TerminalColorMode == fs.TerminalColorModeAlways || (ci.TerminalColorMode == fs.TerminalColorModeAuto && !log.Redirected()) {
Colors = true
}
err = b.setCompareDefaults(ctx)
if err != nil {
return err