diff --git a/option.go b/option.go index f14aa19..492d6af 100644 --- a/option.go +++ b/option.go @@ -228,7 +228,7 @@ func OptionAddASCIICodeBind(b ...ASCIICodeBind) Option { // New returns a Prompt with powerful auto-completion. func New(executor Executor, completer Completer, opts ...Option) *Prompt { - defaultWriter := NewStandardOutputWriter() + defaultWriter := NewStdoutWriter() registerConsoleWriter(defaultWriter) pt := &Prompt{ diff --git a/output_posix.go b/output_posix.go index 3c04ed1..e8ec2c1 100644 --- a/output_posix.go +++ b/output_posix.go @@ -42,11 +42,25 @@ func (w *PosixWriter) Flush() error { var _ ConsoleWriter = &PosixWriter{} -// NewStandardOutputWriter returns ConsoleWriter object to write to stdout. +var ( + // Deprecated: Please use NewStdoutWriter + NewStandardOutputWriter = NewStdoutWriter +) + +// NewStdoutWriter returns ConsoleWriter object to write to stdout. // This generates VT100 escape sequences because almost terminal emulators // in POSIX OS built on top of a VT100 specification. -func NewStandardOutputWriter() ConsoleWriter { +func NewStdoutWriter() ConsoleWriter { return &PosixWriter{ fd: syscall.Stdout, } } + +// NewStderrWriter returns ConsoleWriter object to write to stderr. +// This generates VT100 escape sequences because almost terminal emulators +// in POSIX OS built on top of a VT100 specification. +func NewStderrWriter() ConsoleWriter { + return &PosixWriter{ + fd: syscall.Stderr, + } +} diff --git a/output_windows.go b/output_windows.go index c5f2e62..e93bd95 100644 --- a/output_windows.go +++ b/output_windows.go @@ -27,10 +27,23 @@ func (w *WindowsWriter) Flush() error { var _ ConsoleWriter = &WindowsWriter{} -// NewStandardOutputWriter returns ConsoleWriter object to write to stdout. +var ( + // Deprecated: Please use NewStdoutWriter + NewStandardOutputWriter = NewStdoutWriter +) + +// NewStdoutWriter returns ConsoleWriter object to write to stdout. // This generates win32 control sequences. -func NewStandardOutputWriter() ConsoleWriter { +func NewStdoutWriter() ConsoleWriter { return &WindowsWriter{ out: colorable.NewColorableStdout(), } } + +// NewStderrWriter returns ConsoleWriter object to write to stderr. +// This generates win32 control sequences. +func NewStderrWriter() ConsoleWriter { + return &WindowsWriter{ + out: colorable.NewColorableStderr(), + } +}