Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
repl: don’t write to input stream in editor mode
Instead of writing to the REPL’s input stream for the alignment
spaces in `.editor` mode, let `readline` handle the spaces
properly (echoing them using `_ttyWrite` and adding them to the
current line buffer).

Fixes: #9189
  • Loading branch information
addaleax committed Oct 20, 2016
commit 979528dd535e5fef51bf2786f474ff95a6b3a9a9
2 changes: 1 addition & 1 deletion lib/repl.js
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,7 @@ function REPLServer(prompt,
const matches = self._sawKeyPress ? cmd.match(/^\s+/) : null;
if (matches) {
const prefix = matches[0];
self.inputStream.write(prefix);
self.write(prefix);
self.line = prefix;
self.cursor = prefix.length;
}
Expand Down
5 changes: 4 additions & 1 deletion test/parallel/test-repl-.editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,15 @@ tests.forEach(run);
// Auto code alignment for .editor mode
function testCodeAligment({input, cursor = 0, line = ''}) {
const stream = new common.ArrayStream();
const outputStream = new common.ArrayStream();

stream.write = () => { throw new Error('Writing not allowed!'); };

const replServer = repl.start({
prompt: '> ',
terminal: true,
input: stream,
output: stream,
output: outputStream,
useColors: false
});

Expand Down