mirror of
https://github.com/mikefarah/yq.git
synced 2026-09-06 02:03:24 +08:00
fix: TOML colorization now works when NO_COLOR env is set (#2584)
The colorizeToml function intended to force colors by setting color.NoColor = false, but SprintFunc() still respects the NO_COLOR environment variable. This caused TestTomlColourization to fail in CI environments where NO_COLOR=1 is set. Fixed by calling EnableColor() on each color object, which explicitly forces colors regardless of environment settings. Vibe-coded with Cursor (Claude Opus 4)
This commit is contained in:
@@ -632,6 +632,11 @@ func TestTomlScenarios(t *testing.T) {
|
||||
// TestTomlColourization tests that colourization correctly distinguishes
|
||||
// between table section headers and inline arrays
|
||||
func TestTomlColourization(t *testing.T) {
|
||||
// Save and restore color state
|
||||
oldNoColor := color.NoColor
|
||||
color.NoColor = false
|
||||
defer func() { color.NoColor = oldNoColor }()
|
||||
|
||||
// Test that inline arrays are not coloured as table sections
|
||||
encoder := &tomlEncoder{prefs: TomlPreferences{ColorsEnabled: true}}
|
||||
|
||||
@@ -655,8 +660,9 @@ alpha = "test"
|
||||
// for actual table sections, not for inline arrays.
|
||||
|
||||
// Get the ANSI codes for section colour (Yellow + Bold)
|
||||
sectionColour := color.New(color.FgYellow, color.Bold).SprintFunc()
|
||||
sampleSection := sectionColour("[database]")
|
||||
sectionColourObj := color.New(color.FgYellow, color.Bold)
|
||||
sectionColourObj.EnableColor()
|
||||
sampleSection := sectionColourObj.Sprint("[database]")
|
||||
|
||||
// Extract just the ANSI codes from the sample
|
||||
// ANSI codes start with \x1b[
|
||||
|
||||
Reference in New Issue
Block a user