func PrintVariant(v *dawg.Variant, verbose bool) error {
	var template string
	if verbose {
		template = variantTmpl
	} else {
		return errors.New("none verbose mode not supported")
	}
	return tmpl(output, template, v)
}
PrintVariant will display a dawg.Variant in a pretty way.
package out
import (
	"errors"
	"io"
	"os"
	"strings"
	"unicode/utf8"
	"github.com/harrybrwn/apizza/cmd/internal/obj"
	"github.com/harrybrwn/apizza/pkg/errs"
	"github.com/harrybrwn/apizza/dawg"
)
var (
	output  io.Writer = os.Stdout
	_output           = os.Stdout  
)
const space = ' '
func SetOutput(w io.Writer) {
	output = w
}
func ResetOutput() {
	output = _output
}
func FormatLine(str string, length int) (lines []string) {
	strLen := utf8.RuneCountInString(str)
	if strLen <= length {
		return []string{str}
	}
	var head = 0
	for head < strLen {
		l, end := lineone(str, head, length)
		lines = append(lines, l)
		head += end
	}
	return lines
}
func FormatLineIndent(str string, linelen, tablen int) (formatted string) {
	lines := FormatLine(str, linelen)
	var line string
	for i := range lines {
		if i != 0 {
			line = strings.Repeat(" ", tablen) + lines[i]
		} else {
			line = lines[i]
		}
		if i != len(lines)-1 {
			line += "\n"
		}
		formatted += line
	}
	return formatted
}
func lineone(str string, start, length int) (string, int) {
	str = str[start:]
	if l := len(str); l < length {
		return str, l
	}
	var i int
	for i = length; i >= 0; i-- {
		if str[i] == space {
			i++
			break
		}
	}
	return str[:i], i
}
func PrintOrder(o *dawg.Order, full, color, price bool) (err error) {
	var (
		t      string
		oPrice float64
	)
	if full {
		t = defaultOrderTmpl
	} else {
		t = cartOrderTmpl
	}
	if price {
		oPrice, err = o.Price()
	}
	var keycolor, endcolor string
	if color {
		keycolor = "\033[01;34m"
		endcolor = "\033[0m"
	}
	data := struct {
		*dawg.Order
		Addr     string
		Price    float64
		KeyColor string
		EndColor string
	}{
		Order:    o,
		Addr:     obj.AddressFmtIndent(o.Address, 11),
		Price:    oPrice,
		KeyColor: keycolor,
		EndColor: endcolor,
	}
	return errs.Pair(err, tmpl(output, t, data))
}