From c7455de10af6bbe2b2bdafee2cb682e813817ed2 Mon Sep 17 00:00:00 2001 From: Thomas Lacroix Date: Thu, 23 Apr 2020 14:02:38 +0200 Subject: [PATCH] Adds flag to disable quotes in TextFormatter --- text_formatter.go | 6 ++++++ text_formatter_test.go | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/text_formatter.go b/text_formatter.go index 2d15a23..431b5fd 100644 --- a/text_formatter.go +++ b/text_formatter.go @@ -37,6 +37,9 @@ type TextFormatter struct { // Force quoting of all values ForceQuote bool + // DisableQuote disables quoting for all values + DisableQuote bool + // Override coloring based on CLICOLOR and CLICOLOR_FORCE. - https://bixense.com/clicolors/ EnvironmentOverrideColors bool @@ -292,6 +295,9 @@ func (f *TextFormatter) needsQuoting(text string) bool { if f.QuoteEmptyFields && len(text) == 0 { return true } + if f.DisableQuote { + return false + } for _, ch := range text { if !((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || diff --git a/text_formatter_test.go b/text_formatter_test.go index 5d94ebb..debf621 100644 --- a/text_formatter_test.go +++ b/text_formatter_test.go @@ -66,6 +66,14 @@ func TestQuoting(t *testing.T) { checkQuoting(false, errors.New("invalid")) checkQuoting(true, errors.New("invalid argument")) + // Test for quoting disabled + tf.DisableQuote = true + checkQuoting(false, "") + checkQuoting(false, "abcd") + checkQuoting(false, "foo\n\rbar") + checkQuoting(false, errors.New("invalid argument")) + tf.DisableQuote = false + // Test for quoting empty fields. tf.QuoteEmptyFields = true checkQuoting(true, "")