// Implements fmt.Formatter for errors that implement causer.
//
// This Format method supports %v and %+v. In the %v form, the error is
// printed on one line. In the %+v form, the error is split across multiple
// lines on each error in the error chain.
Implements fmt.Formatter for errors that implement causer.

This Format method supports %v and %+v. In the %v form, the error is
printed on one line. In the %+v form, the error is split across multiple
lines on each error in the error chain.
// Implements fmt . Formatter for errors that implement causer . // // This Format method supports %v and % + v . In the %v form the error is // printed on one line . In the % + v form the error is split across multiple // lines on each error in the error chain .
func formatCauser(c causer, w fmt.State, v rune) {
	multiline := w.Flag('+') && v == 'v'
	verb := "%v"
	if multiline {
		verb = "%+v"
	}
	c.writeMessage(w, verb)
	io.WriteString(w, ":")
	if multiline {
		io.WriteString(w, "\n")
	} else {
		io.WriteString(w, " ")
	}
	fmt.Fprintf(w, verb, c.cause())
}
func formatCauser ( c causer , w fmt . State , v rune ) { multiline := w . Flag ( '+' ) && v == 'v' verb := " " if multiline { verb = " " } c . writeMessage ( w , verb ) io . WriteString ( w , " " ) if multiline { io . WriteString ( w , " \n " ) } else { io . WriteString ( w , " " ) } fmt . Fprintf ( w , verb , c . cause ( ) ) }
Implements fmt.Formatter for errors that implement causer.
Implements fmt . Formatter for errors that implement causer .
// "context: " or "context:\n"