1// +build !windows
2// +build !appengine
3
4package colorable
5
6import (
7	"io"
8	"os"
9
10	_ "github.com/mattn/go-isatty"
11)
12
13// NewColorable returns new instance of Writer which handles escape sequence.
14func NewColorable(file *os.File) io.Writer {
15	if file == nil {
16		panic("nil passed instead of *os.File to NewColorable()")
17	}
18
19	return file
20}
21
22// NewColorableStdout returns new instance of Writer which handles escape sequence for stdout.
23func NewColorableStdout() io.Writer {
24	return os.Stdout
25}
26
27// NewColorableStderr returns new instance of Writer which handles escape sequence for stderr.
28func NewColorableStderr() io.Writer {
29	return os.Stderr
30}
31
32// EnableColorsStdout enable colors if possible.
33func EnableColorsStdout(enabled *bool) func() {
34	if enabled != nil {
35		*enabled = true
36	}
37	return func() {}
38}
39