in format.go [48:75]
func Format(dst io.Writer, ast *ast.AST, src common.Source, opts ...FormatOption) error {
unparserOpts := &unparserOption{
wrapOnColumn: defaultWrapOnColumn,
wrapAfterColumnLimit: defaultWrapAfterColumnLimit,
operatorsToWrapOn: defaultOperatorsToWrapOn,
}
var err error
for _, opt := range opts {
unparserOpts, err = opt(unparserOpts)
if err != nil {
return err
}
}
expr := ast.Expr()
un := &formatter{
dst: lenWriter{w: dst},
src: src,
info: ast.SourceInfo(),
options: unparserOpts,
comments: make(map[location]int64),
}
err = un.visit(expr, false)
if err != nil {
return err
}
return nil
}