summaryrefslogtreecommitdiff
path: root/lib/repl.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/repl.js')
-rw-r--r--lib/repl.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/repl.js b/lib/repl.js
index b6876bb8c6..98b0d2415d 100644
--- a/lib/repl.js
+++ b/lib/repl.js
@@ -98,7 +98,8 @@ const experimentalREPLAwait = require('internal/options').getOptionValue(
);
const {
isRecoverableError,
- kStandaloneREPL
+ kStandaloneREPL,
+ setupPreview,
} = require('internal/repl/utils');
const {
getOwnNonIndexProperties,
@@ -204,6 +205,9 @@ function REPLServer(prompt,
}
}
+ const preview = options.terminal &&
+ (options.preview !== undefined ? !!options.preview : true);
+
this.inputStream = options.input;
this.outputStream = options.output;
this.useColors = !!options.useColors;
@@ -804,9 +808,20 @@ function REPLServer(prompt,
}
});
+ const {
+ clearPreview,
+ showInputPreview
+ } = setupPreview(
+ this,
+ kContextId,
+ kBufferedCommandSymbol,
+ preview
+ );
+
// Wrap readline tty to enable editor mode and pausing.
const ttyWrite = self._ttyWrite.bind(self);
self._ttyWrite = (d, key) => {
+ clearPreview();
key = key || {};
if (paused && !(self.breakEvalOnSigint && key.ctrl && key.name === 'c')) {
pausedBuffer.push(['key', [d, key]]);
@@ -819,6 +834,7 @@ function REPLServer(prompt,
self.clearLine();
}
ttyWrite(d, key);
+ showInputPreview();
return;
}