package middleware import ( "bytes" "fmt" "code.google.com/p/go.crypto/ssh/terminal" ) var ( // Normal colors nBlack = []byte{'\033', '[', '3', '0', 'm'} nRed = []byte{'\033', '[', '3', '1', 'm'} nGreen = []byte{'\033', '[', '3', '2', 'm'} nYellow = []byte{'\033', '[', '3', '3', 'm'} nBlue = []byte{'\033', '[', '3', '4', 'm'} nMagenta = []byte{'\033', '[', '3', '5', 'm'} nCyan = []byte{'\033', '[', '3', '6', 'm'} nWhite = []byte{'\033', '[', '3', '7', 'm'} // Bright colors bBlack = []byte{'\033', '[', '3', '0', ';', '1', 'm'} bRed = []byte{'\033', '[', '3', '1', ';', '1', 'm'} bGreen = []byte{'\033', '[', '3', '2', ';', '1', 'm'} bYellow = []byte{'\033', '[', '3', '3', ';', '1', 'm'} bBlue = []byte{'\033', '[', '3', '4', ';', '1', 'm'} bMagenta = []byte{'\033', '[', '3', '5', ';', '1', 'm'} bCyan = []byte{'\033', '[', '3', '6', ';', '1', 'm'} bWhite = []byte{'\033', '[', '3', '7', ';', '1', 'm'} reset = []byte{'\033', '[', '0', 'm'} ) var isTTY = terminal.IsTerminal(1) // colorWrite func cW(buf *bytes.Buffer, color []byte, s string, args ...interface{}) { if isTTY { buf.Write(color) } fmt.Fprintf(buf, s, args...) if isTTY { buf.Write(reset) } }