cli/command/formatter/tabwriter/tabwriter.go:579:10: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli/connhelper/connhelper.go:43:2: singleCaseSwitch: should rewrite switch statement to if statement (gocritic) switch scheme := u.Scheme; scheme { ^ cli/compose/loader/loader.go:666:10: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ opts/hosts_test.go:173:10: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli-plugins/manager/candidate_test.go:78:4: ifElseChain: rewrite if-else to switch statement (gocritic) if tc.err != "" { ^ cli/command/checkpoint/formatter.go:15:2: singleCaseSwitch: should rewrite switch statement to if statement (gocritic) switch source { ^ cli/command/image/formatter_history.go:25:2: singleCaseSwitch: should rewrite switch statement to if statement (gocritic) switch source { ^ cli/command/service/scale.go:107:2: ifElseChain: rewrite if-else to switch statement (gocritic) if serviceMode.Replicated != nil { ^ cli/command/service/update.go:804:9: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli/command/service/update.go:222:2: ifElseChain: rewrite if-else to switch statement (gocritic) if sendAuth { ^ cli/command/container/formatter_diff.go:17:2: singleCaseSwitch: should rewrite switch statement to if statement (gocritic) switch source { ^ cli/command/container/start.go:79:2: ifElseChain: rewrite if-else to switch statement (gocritic) if opts.Attach || opts.OpenStdin { ^ cli/command/container/utils.go:84:11: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli/command/container/exec_test.go:200:11: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli/command/container/logs_test.go:52:11: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli/command/container/opts_test.go:1014:10: elseif: can replace 'else {if cond {}}' with 'else if cond {}' (gocritic) } else { ^ cli/command/system/info.go:297:7: singleCaseSwitch: should rewrite switch statement to if statement (gocritic) switch o.Key { ^ cli/command/system/version.go:164:4: singleCaseSwitch: should rewrite switch statement to if statement (gocritic) switch component.Name { ^ cli/command/system/info_test.go:478:4: ifElseChain: rewrite if-else to switch statement (gocritic) if tc.expectedOut != "" { ^ Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
61 lines
1.3 KiB
Go
61 lines
1.3 KiB
Go
package container
|
|
|
|
import (
|
|
"github.com/docker/cli/cli/command/formatter"
|
|
"github.com/docker/docker/api/types/container"
|
|
)
|
|
|
|
const (
|
|
defaultDiffTableFormat = "table {{.Type}}\t{{.Path}}"
|
|
|
|
changeTypeHeader = "CHANGE TYPE"
|
|
pathHeader = "PATH"
|
|
)
|
|
|
|
// NewDiffFormat returns a format for use with a diff Context
|
|
func NewDiffFormat(source string) formatter.Format {
|
|
if source == formatter.TableFormatKey {
|
|
return defaultDiffTableFormat
|
|
}
|
|
return formatter.Format(source)
|
|
}
|
|
|
|
// DiffFormatWrite writes formatted diff using the Context
|
|
func DiffFormatWrite(ctx formatter.Context, changes []container.FilesystemChange) error {
|
|
render := func(format func(subContext formatter.SubContext) error) error {
|
|
for _, change := range changes {
|
|
if err := format(&diffContext{c: change}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
return ctx.Write(newDiffContext(), render)
|
|
}
|
|
|
|
type diffContext struct {
|
|
formatter.HeaderContext
|
|
c container.FilesystemChange
|
|
}
|
|
|
|
func newDiffContext() *diffContext {
|
|
diffCtx := diffContext{}
|
|
diffCtx.Header = formatter.SubHeaderContext{
|
|
"Type": changeTypeHeader,
|
|
"Path": pathHeader,
|
|
}
|
|
return &diffCtx
|
|
}
|
|
|
|
func (d *diffContext) MarshalJSON() ([]byte, error) {
|
|
return formatter.MarshalJSON(d)
|
|
}
|
|
|
|
func (d *diffContext) Type() string {
|
|
return d.c.Kind.String()
|
|
}
|
|
|
|
func (d *diffContext) Path() string {
|
|
return d.c.Path
|
|
}
|