Browse Source

readline: name some anonymous functions

PR-URL: https://github.com/nodejs/node/pull/14297
Refs: https://github.com/nodejs/node/issues/8913
Refs: https://github.com/nodejs/node/pull/14297#pullrequestreview-50206772
Reviewed-By: Khaidi Chu <i@2333.moe>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
v6
Flandre Scarlet 8 years ago
committed by XadillaX
parent
commit
f37e3b143a
  1. 42
      lib/readline.js

42
lib/readline.js

@ -130,9 +130,11 @@ function Interface(input, output, completer, terminal) {
// Check arity, 2 - for async, 1 for sync
if (typeof completer === 'function') {
this.completer = completer.length === 2 ? completer : function(v, cb) {
cb(null, completer(v));
};
this.completer = completer.length === 2 ?
completer :
function completerWrapper(v, cb) {
cb(null, completer(v));
};
}
this.setPrompt(prompt);
@ -175,15 +177,23 @@ function Interface(input, output, completer, terminal) {
}
if (!this.terminal) {
input.on('data', ondata);
input.on('end', onend);
self.once('close', function() {
function onSelfCloseWithoutTerminal() {
input.removeListener('data', ondata);
input.removeListener('end', onend);
});
this._decoder = new StringDecoder('utf8');
}
input.on('data', ondata);
input.on('end', onend);
self.once('close', onSelfCloseWithoutTerminal);
this._decoder = new StringDecoder('utf8');
} else {
function onSelfCloseWithTerminal() {
input.removeListener('keypress', onkeypress);
input.removeListener('end', ontermend);
if (output !== null && output !== undefined) {
output.removeListener('resize', onresize);
}
}
emitKeypressEvents(input, this);
@ -206,13 +216,7 @@ function Interface(input, output, completer, terminal) {
if (output !== null && output !== undefined)
output.on('resize', onresize);
self.once('close', function() {
input.removeListener('keypress', onkeypress);
input.removeListener('end', ontermend);
if (output !== null && output !== undefined) {
output.removeListener('resize', onresize);
}
});
self.once('close', onSelfCloseWithTerminal);
}
input.resume();
@ -460,7 +464,7 @@ Interface.prototype._tabComplete = function(lastKeypressWasTab) {
var self = this;
self.pause();
self.completer(self.line.slice(0, self.cursor), function(err, rv) {
self.completer(self.line.slice(0, self.cursor), function onComplete(err, rv) {
self.resume();
if (err) {
@ -474,7 +478,7 @@ Interface.prototype._tabComplete = function(lastKeypressWasTab) {
// Apply/show completions.
if (lastKeypressWasTab) {
self._writeToOutput('\r\n');
var width = completions.reduce(function(a, b) {
var width = completions.reduce(function completionReducer(a, b) {
return a.length > b.length ? a : b;
}).length + 2; // 2 space padding
var maxColumns = Math.floor(self.columns / width);
@ -495,7 +499,9 @@ Interface.prototype._tabComplete = function(lastKeypressWasTab) {
}
// If there is a common prefix to all matches, then apply that portion.
var f = completions.filter(function(e) { if (e) return e; });
var f = completions.filter(function completionFilter(e) {
if (e) return e;
});
var prefix = commonPrefix(f);
if (prefix.length > completeOn.length) {
self._insertString(prefix.slice(completeOn.length));

Loading…
Cancel
Save