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;