mirror of
https://github.com/docker/cli.git
synced 2026-11-01 23:35:23 +03:00
cli/command/formatter: Context.postFormat: remove redundant buffer
A tabwriter is backed by a buffer already, because it needs to re-flow columns
based on content written to it. This buffer was added in [moby@ea61dac9e6] as
part of a new feature to allow for custom delimiters; neither the patch, nor
code-review on the PR mention the extra buffer, so it likely was just overlooked.
This patch;
- removes the redundant buffer
- adds an early return for cases where no tabwriter is used.
[moby@ea61dac9e6]: ea61dac9e6
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -82,20 +82,21 @@ func (c *Context) parseFormat() (*template.Template, error) {
|
||||
}
|
||||
|
||||
func (c *Context) postFormat(tmpl *template.Template, subContext SubContext) {
|
||||
if c.Output == nil {
|
||||
c.Output = io.Discard
|
||||
out := c.Output
|
||||
if out == nil {
|
||||
out = io.Discard
|
||||
}
|
||||
if c.Format.IsTable() {
|
||||
t := tabwriter.NewWriter(c.Output, 10, 1, 3, ' ', 0)
|
||||
buffer := bytes.NewBufferString("")
|
||||
tmpl.Funcs(templates.HeaderFunctions).Execute(buffer, subContext.FullHeader())
|
||||
buffer.WriteTo(t)
|
||||
t.Write([]byte("\n"))
|
||||
c.buffer.WriteTo(t)
|
||||
t.Flush()
|
||||
} else {
|
||||
c.buffer.WriteTo(c.Output)
|
||||
if !c.Format.IsTable() {
|
||||
_, _ = c.buffer.WriteTo(out)
|
||||
return
|
||||
}
|
||||
|
||||
// Write column-headers and rows to the tab-writer buffer, then flush the output.
|
||||
tw := tabwriter.NewWriter(out, 10, 1, 3, ' ', 0)
|
||||
_ = tmpl.Funcs(templates.HeaderFunctions).Execute(tw, subContext.FullHeader())
|
||||
_, _ = tw.Write([]byte{'\n'})
|
||||
_, _ = c.buffer.WriteTo(tw)
|
||||
_ = tw.Flush()
|
||||
}
|
||||
|
||||
func (c *Context) contextFormat(tmpl *template.Template, subContext SubContext) error {
|
||||
|
||||
Reference in New Issue
Block a user