docs(encoder): correct the multi-line string claim

Assisted-by: DeepSeek V4.1 Flash
This commit is contained in:
2026-09-19 11:38:17 +02:00
parent 815141440e
commit 0149a5b4d1
2 changed files with 7 additions and 8 deletions
+3 -4
View File
@@ -412,10 +412,9 @@ omitted, because TOML forbids an empty `[[a]]`. Other empty arrays emit as
### Long strings
By default every string is emitted as a basic `"..."` string with the escapes
TOML requires, and a string containing a newline is emitted as an escaped
multi-line basic string. `UseLiteralMultiline(threshold)` switches strings that
contain a newline and are at least `threshold` bytes long to the literal
`'''...'''` form, which carries the newlines verbatim:
TOML requires, a newline among them as `\n`. `UseLiteralMultiline(threshold)`
switches strings that contain a newline and are at least `threshold` bytes long
to the literal `'''...'''` form, which carries the newlines verbatim:
```go
out, err := interpres.NewEncoder().UseLiteralMultiline(80).Marshal(cfg)
+4 -4
View File
@@ -261,14 +261,14 @@ func MarshalContext(ctx context.Context, v any) ([]byte, error) {
// An Encoder encodes Go values into TOML.
//
// All options default to behaviour that preserves byte-for-byte compatibility
// with previous releases and passes the toml-test compliance suite:
// All options default to the behaviour earlier releases used, and the defaults
// pass the toml-test compliance suite in both directions:
//
// GroupByKind: true (scalars first, then tables, then arrays of tables)
// OmitEmptyArrays: false (a nil/empty []string slice emits [] as a value;
// a nil/empty []Item struct slice is still skipped)
// LiteralMultilineAt: 0 (always emit basic multi-line strings with
// escape sequences, never literal ones)
// LiteralMultilineAt: 0 (always emit the escaped basic form, never a
// literal one)
//
// Use the chainable option methods to opt out. The option state is private;
// callers that need the underlying knobs reach for the methods rather than