diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-kv/format')
| -rw-r--r-- | vendor/codeberg.org/gruf/go-kv/format/format.go | 4 | ||||
| -rw-r--r-- | vendor/codeberg.org/gruf/go-kv/format/util.go | 13 | 
2 files changed, 15 insertions, 2 deletions
| diff --git a/vendor/codeberg.org/gruf/go-kv/format/format.go b/vendor/codeberg.org/gruf/go-kv/format/format.go index df5a94b7c..7edc4475f 100644 --- a/vendor/codeberg.org/gruf/go-kv/format/format.go +++ b/vendor/codeberg.org/gruf/go-kv/format/format.go @@ -311,7 +311,7 @@ func (f format) AppendString(s string) {  }  func (f format) AppendStringKey(s string) { -	if !strconv.CanBackquote(s) { +	if len(s) > SingleTermLine || !strconv.CanBackquote(s) {  		// Requires quoting AND escaping  		f.Buffer.B = strconv.AppendQuote(f.Buffer.B, s)  	} else if ContainsDoubleQuote(s) { @@ -329,7 +329,7 @@ func (f format) AppendStringKey(s string) {  }  func (f format) AppendStringQuoted(s string) { -	if !strconv.CanBackquote(s) { +	if len(s) > SingleTermLine || !strconv.CanBackquote(s) {  		// Requires quoting AND escaping  		f.Buffer.B = strconv.AppendQuote(f.Buffer.B, s)  	} else if ContainsDoubleQuote(s) { diff --git a/vendor/codeberg.org/gruf/go-kv/format/util.go b/vendor/codeberg.org/gruf/go-kv/format/util.go index c4c42329e..674f81be5 100644 --- a/vendor/codeberg.org/gruf/go-kv/format/util.go +++ b/vendor/codeberg.org/gruf/go-kv/format/util.go @@ -5,6 +5,19 @@ import (  	"unsafe"  ) +const ( +	// SingleTermLine: beyond a certain length of string, all of the +	// extra checks to handle quoting/not-quoting add a significant +	// amount of extra processing time. Quoting in this manner only really +	// effects readability on a single line, so a max string length that +	// encompasses the maximum number of columns on *most* terminals was +	// selected. This was chosen using the metric that 1080p is one of the +	// most common display resolutions, and that a relatively small font size +	// of 7 requires 223 columns. So 256 should be >= $COLUMNS (fullscreen) +	// in 99% of usecases (these figures all pulled out of my ass). +	SingleTermLine = 256 +) +  // ContainsSpaceOrTab checks if "s" contains space or tabs.  func ContainsSpaceOrTab(s string) bool {  	if i := strings.IndexByte(s, ' '); i != -1 { | 
