func Fprint(output io.Writer, node ast.Node) error {
	return DefaultConfig.Fprint(output, node)
}
Fprint "pretty-prints" an HCL node to output
It calls Config.Fprint with default settings.
package printer
import (
	"bytes"
	"io"
	"text/tabwriter"
	"github.com/hashicorp/hcl/hcl/ast"
	"github.com/hashicorp/hcl/hcl/parser"
)
var DefaultConfig = Config{
	SpacesWidth: 2,
}
type Config struct {
	SpacesWidth int  
}
func (c *Config) Fprint(output io.Writer, node ast.Node) error {
	p := &printer{
		cfg:                *c,
		comments:           make([]*ast.CommentGroup, 0),
		standaloneComments: make([]*ast.CommentGroup, 0),
	}
	p.collectComments(node)
	if _, err := output.Write(p.unindent(p.output(node))); err != nil {
		return err
	}
	var err error
	if tw, _ := output.(*tabwriter.Writer); tw != nil {
		err = tw.Flush()
	}
	return err
}