diff --git a/text_formatter.go b/text_formatter.go index f08563e..5867b25 100644 --- a/text_formatter.go +++ b/text_formatter.go @@ -34,6 +34,9 @@ type TextFormatter struct { // Force disabling colors. DisableColors bool + // Force quoting of all values + ForceQuote bool + // Override coloring based on CLICOLOR and CLICOLOR_FORCE. - https://bixense.com/clicolors/ EnvironmentOverrideColors bool @@ -283,6 +286,9 @@ func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []strin } func (f *TextFormatter) needsQuoting(text string) bool { + if f.ForceQuote { + return true + } if f.QuoteEmptyFields && len(text) == 0 { return true } diff --git a/text_formatter_test.go b/text_formatter_test.go index 99b5d8c..5d94ebb 100644 --- a/text_formatter_test.go +++ b/text_formatter_test.go @@ -71,6 +71,12 @@ func TestQuoting(t *testing.T) { checkQuoting(true, "") checkQuoting(false, "abcd") checkQuoting(true, errors.New("invalid argument")) + + // Test forcing quotes. + tf.ForceQuote = true + checkQuoting(true, "") + checkQuoting(true, "abcd") + checkQuoting(true, errors.New("invalid argument")) } func TestEscaping(t *testing.T) {