Blame vendor/github.com/kr/pretty/pretty.go

Packit Service 4d2de5
// Package pretty provides pretty-printing for Go values. This is
Packit Service 4d2de5
// useful during debugging, to avoid wrapping long output lines in
Packit Service 4d2de5
// the terminal.
Packit Service 4d2de5
//
Packit Service 4d2de5
// It provides a function, Formatter, that can be used with any
Packit Service 4d2de5
// function that accepts a format string. It also provides
Packit Service 4d2de5
// convenience wrappers for functions in packages fmt and log.
Packit Service 4d2de5
package pretty
Packit Service 4d2de5
Packit Service 4d2de5
import (
Packit Service 4d2de5
	"fmt"
Packit Service 4d2de5
	"io"
Packit Service 4d2de5
	"log"
Packit Service 4d2de5
	"reflect"
Packit Service 4d2de5
)
Packit Service 4d2de5
Packit Service 4d2de5
// Errorf is a convenience wrapper for fmt.Errorf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Errorf(f, x, y) is equivalent to
Packit Service 4d2de5
// fmt.Errorf(f, Formatter(x), Formatter(y)).
Packit Service 4d2de5
func Errorf(format string, a ...interface{}) error {
Packit Service 4d2de5
	return fmt.Errorf(format, wrap(a, false)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Fprintf is a convenience wrapper for fmt.Fprintf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Fprintf(w, f, x, y) is equivalent to
Packit Service 4d2de5
// fmt.Fprintf(w, f, Formatter(x), Formatter(y)).
Packit Service 4d2de5
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, error error) {
Packit Service 4d2de5
	return fmt.Fprintf(w, format, wrap(a, false)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Log is a convenience wrapper for log.Printf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Log(x, y) is equivalent to
Packit Service 4d2de5
// log.Print(Formatter(x), Formatter(y)), but each operand is
Packit Service 4d2de5
// formatted with "%# v".
Packit Service 4d2de5
func Log(a ...interface{}) {
Packit Service 4d2de5
	log.Print(wrap(a, true)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Logf is a convenience wrapper for log.Printf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Logf(f, x, y) is equivalent to
Packit Service 4d2de5
// log.Printf(f, Formatter(x), Formatter(y)).
Packit Service 4d2de5
func Logf(format string, a ...interface{}) {
Packit Service 4d2de5
	log.Printf(format, wrap(a, false)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Logln is a convenience wrapper for log.Printf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Logln(x, y) is equivalent to
Packit Service 4d2de5
// log.Println(Formatter(x), Formatter(y)), but each operand is
Packit Service 4d2de5
// formatted with "%# v".
Packit Service 4d2de5
func Logln(a ...interface{}) {
Packit Service 4d2de5
	log.Println(wrap(a, true)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Print pretty-prints its operands and writes to standard output.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Print(x, y) is equivalent to
Packit Service 4d2de5
// fmt.Print(Formatter(x), Formatter(y)), but each operand is
Packit Service 4d2de5
// formatted with "%# v".
Packit Service 4d2de5
func Print(a ...interface{}) (n int, errno error) {
Packit Service 4d2de5
	return fmt.Print(wrap(a, true)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Printf is a convenience wrapper for fmt.Printf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Printf(f, x, y) is equivalent to
Packit Service 4d2de5
// fmt.Printf(f, Formatter(x), Formatter(y)).
Packit Service 4d2de5
func Printf(format string, a ...interface{}) (n int, errno error) {
Packit Service 4d2de5
	return fmt.Printf(format, wrap(a, false)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Println pretty-prints its operands and writes to standard output.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Print(x, y) is equivalent to
Packit Service 4d2de5
// fmt.Println(Formatter(x), Formatter(y)), but each operand is
Packit Service 4d2de5
// formatted with "%# v".
Packit Service 4d2de5
func Println(a ...interface{}) (n int, errno error) {
Packit Service 4d2de5
	return fmt.Println(wrap(a, true)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Sprint is a convenience wrapper for fmt.Sprintf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Sprint(x, y) is equivalent to
Packit Service 4d2de5
// fmt.Sprint(Formatter(x), Formatter(y)), but each operand is
Packit Service 4d2de5
// formatted with "%# v".
Packit Service 4d2de5
func Sprint(a ...interface{}) string {
Packit Service 4d2de5
	return fmt.Sprint(wrap(a, true)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
// Sprintf is a convenience wrapper for fmt.Sprintf.
Packit Service 4d2de5
//
Packit Service 4d2de5
// Calling Sprintf(f, x, y) is equivalent to
Packit Service 4d2de5
// fmt.Sprintf(f, Formatter(x), Formatter(y)).
Packit Service 4d2de5
func Sprintf(format string, a ...interface{}) string {
Packit Service 4d2de5
	return fmt.Sprintf(format, wrap(a, false)...)
Packit Service 4d2de5
}
Packit Service 4d2de5
Packit Service 4d2de5
func wrap(a []interface{}, force bool) []interface{} {
Packit Service 4d2de5
	w := make([]interface{}, len(a))
Packit Service 4d2de5
	for i, x := range a {
Packit Service 4d2de5
		w[i] = formatter{v: reflect.ValueOf(x), force: force}
Packit Service 4d2de5
	}
Packit Service 4d2de5
	return w
Packit Service 4d2de5
}