}
this._sawReturn = false;
+ this._defaultPrompt = '> ';
EventEmitter.call(this);
callback(null, completer(v));
};
- this.setPrompt('> ');
+ this.setDefaultPrompt();
this.terminal = !!terminal;
this._prompt = prompt;
};
+Interface.prototype.setDefaultPrompt = function(prompt) {
+ if (!util.isUndefined(prompt))
+ this._defaultPrompt = prompt;
+ this._prompt = this._defaultPrompt;
+};
Interface.prototype._setRawMode = function(mode) {
if (util.isFunction(this.input.setRawMode)) {
options.terminal
]);
- self.setPrompt(!util.isUndefined(prompt) ? prompt : '> ');
+ self.setDefaultPrompt(prompt);
this.commands = {};
defineDefaultCommands(this);
};
REPLServer.prototype.displayPrompt = function(preserveCursor) {
- var initial = this._prompt;
- var prompt = initial;
+ var prompt = this._prompt;
if (this.bufferedCommand.length) {
prompt = '...';
var levelInd = new Array(this.lines.level.length).join('..');
prompt += levelInd + ' ';
+ this.setPrompt(prompt);
+ } else {
+ this.setDefaultPrompt();
}
- this.setPrompt(prompt);
this.prompt(preserveCursor);
- this.setPrompt(initial);
};
// A stream to push an array into a REPL
'node repl, in your normal shell.\n' +
'(Press Control-D to exit.)\n',
expect_npm = prompt_npm + prompt_unix,
- server_tcp, server_unix, client_tcp, client_unix, timer;
+ server_tcp, server_unix, client_tcp, client_unix, timer,
+ repl_unix;
// absolute path to test/fixtures/a.js
} else if (read_buffer.indexOf(prompt_multiline) !== -1) {
// Check that you meant to send a multiline test
assert.strictEqual(prompt_multiline, client_unix.expect);
+ assert.equal(repl_unix._prompt, prompt_multiline);
read_buffer = '';
if (client_unix.list && client_unix.list.length > 0) {
send_expect(client_unix.list);
socket.end();
});
- repl.start({
+ repl_unix = repl.start({
prompt: prompt_unix,
input: socket,
output: socket,
useGlobal: true
- }).context.message = message;
+ });
+ repl_unix.context.message = message;
});
server_unix.on('listening', function() {