protobuf-go/encoding/prototext
Joe Tsai 74b1460c5b encoding: add Format helper function and method
The Format function and MarshalOptions.Format method are helper
functions for directly obtaining the formatted string for a message
without having to deal with errors or convert a []byte to string.
It is only intended for human consumption (e.g., debugging or logging).

We also add a MarshalOptions.Multiline option to specify that the output
should use some default indentation in a multiline output.

This assists in the v1 to v2 migration where:
	protoV1.CompactTextString(m) => prototext.MarshalOptions{}.Format(m)
	protoV1.MarshalTextString(m) => prototext.Format(m)

At Google, there are approximately 10x more usages of MarshalTextString than
CompactTextString, so it makes sense that the top-level Format function
does multiline expansion by default.

Fixes #850

Change-Id: I149c9e190a6d99b985d3884df675499a3313e9b3
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/213460
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Herbie Ong <herbie@google.com>
2020-01-30 07:50:58 +00:00
..
decode_test.go internal/testprotos: hide all public testprotos 2020-01-12 08:32:55 +00:00
decode.go encoding/prototext: fix crash in map parsing 2019-12-25 06:02:31 +00:00
doc.go protogen, encoding/jsonpb, encoding/textpb: rename packages 2019-05-14 20:33:22 +00:00
encode_test.go internal/testprotos: hide all public testprotos 2020-01-12 08:32:55 +00:00
encode.go encoding: add Format helper function and method 2020-01-30 07:50:58 +00:00
other_test.go internal/testprotos: hide all public testprotos 2020-01-12 08:32:55 +00:00