From 802051befeb51da415c46972b5caf36e7c33c53d Mon Sep 17 00:00:00 2001 From: Kevin Burke Date: Fri, 13 Oct 2017 14:14:58 -0700 Subject: [PATCH] Implement encoding.TextMarshaler interface --- .gitignore | 1 + config.go | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a6ef824 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/bazel-* diff --git a/config.go b/config.go index 6ef2351..8cb8ca2 100644 --- a/config.go +++ b/config.go @@ -274,12 +274,20 @@ func (c *Config) Get(alias, key string) (string, error) { } // String returns a string representation of the Config file. -func (c *Config) String() string { +func (c Config) String() string { + return marshal(c).String() +} + +func (c Config) MarshalText() ([]byte, error) { + return marshal(c).Bytes(), nil +} + +func marshal(c Config) *bytes.Buffer { var buf bytes.Buffer for i := range c.Hosts { buf.WriteString(c.Hosts[i].String()) } - return buf.String() + return &buf } // Pattern is a pattern in a Host declaration. Patterns are read-only values;