Add NewStderrWriter (#102)

* Add NewStderrWriter
This commit is contained in:
Masashi SHIBATA 2018-10-23 12:13:07 +09:00 committed by GitHub
parent e03be11d07
commit 1e50403714
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 5 deletions

@ -228,7 +228,7 @@ func OptionAddASCIICodeBind(b ...ASCIICodeBind) Option {
// New returns a Prompt with powerful auto-completion. // New returns a Prompt with powerful auto-completion.
func New(executor Executor, completer Completer, opts ...Option) *Prompt { func New(executor Executor, completer Completer, opts ...Option) *Prompt {
defaultWriter := NewStandardOutputWriter() defaultWriter := NewStdoutWriter()
registerConsoleWriter(defaultWriter) registerConsoleWriter(defaultWriter)
pt := &Prompt{ pt := &Prompt{

@ -42,11 +42,25 @@ func (w *PosixWriter) Flush() error {
var _ ConsoleWriter = &PosixWriter{} 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 // This generates VT100 escape sequences because almost terminal emulators
// in POSIX OS built on top of a VT100 specification. // in POSIX OS built on top of a VT100 specification.
func NewStandardOutputWriter() ConsoleWriter { func NewStdoutWriter() ConsoleWriter {
return &PosixWriter{ return &PosixWriter{
fd: syscall.Stdout, 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,
}
}

@ -27,10 +27,23 @@ func (w *WindowsWriter) Flush() error {
var _ ConsoleWriter = &WindowsWriter{} 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. // This generates win32 control sequences.
func NewStandardOutputWriter() ConsoleWriter { func NewStdoutWriter() ConsoleWriter {
return &WindowsWriter{ return &WindowsWriter{
out: colorable.NewColorableStdout(), out: colorable.NewColorableStdout(),
} }
} }
// NewStderrWriter returns ConsoleWriter object to write to stderr.
// This generates win32 control sequences.
func NewStderrWriter() ConsoleWriter {
return &WindowsWriter{
out: colorable.NewColorableStderr(),
}
}