diff options
Diffstat (limited to 'lib/repl.js')
-rw-r--r-- | lib/repl.js | 18 |
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; } |