Use tty.ReadStream and tty.WriteStream for stdio when appropriate
This commit is contained in:
Родитель
87d898929f
Коммит
0b5bf70bff
|
@ -27,7 +27,7 @@ function Interface(output, completer) {
|
|||
|
||||
this.setPrompt('> ');
|
||||
|
||||
this.enabled = tty.isatty(output.fd);
|
||||
this.enabled = output.isTTY;
|
||||
|
||||
if (parseInt(process.env['NODE_NO_READLINE'], 10)) {
|
||||
this.enabled = false;
|
||||
|
|
10
src/node.js
10
src/node.js
|
@ -554,9 +554,12 @@
|
|||
var binding = process.binding('stdio'),
|
||||
net = NativeModule.require('net'),
|
||||
fs = NativeModule.require('fs'),
|
||||
tty = NativeModule.require('tty'),
|
||||
fd = binding.stdoutFD;
|
||||
|
||||
if (binding.isStdoutBlocking()) {
|
||||
if (binding.isatty(fd)) {
|
||||
stdout = new tty.WriteStream(fd);
|
||||
} else if (binding.isStdoutBlocking()) {
|
||||
stdout = new fs.WriteStream(null, {fd: fd});
|
||||
} else {
|
||||
stdout = new net.Stream(fd);
|
||||
|
@ -577,9 +580,12 @@
|
|||
var binding = process.binding('stdio'),
|
||||
net = NativeModule.require('net'),
|
||||
fs = NativeModule.require('fs'),
|
||||
tty = NativeModule.require('tty'),
|
||||
fd = binding.openStdin();
|
||||
|
||||
if (binding.isStdinBlocking()) {
|
||||
if (binding.isatty(fd)) {
|
||||
stdin = new tty.ReadStream(fd);
|
||||
} else if (binding.isStdinBlocking()) {
|
||||
stdin = new fs.ReadStream(null, {fd: fd});
|
||||
} else {
|
||||
stdin = new net.Stream(fd);
|
||||
|
|
Загрузка…
Ссылка в новой задаче