Browse Source

repl: fix tab completion for defined commands

PR-URL: https://github.com/nodejs/node/pull/7364
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
v4.x
Prince J Wesley 9 years ago
committed by Myles Borins
parent
commit
c8e9adb135
  1. 4
      lib/repl.js
  2. 7
      test/parallel/test-repl-tab-complete.js

4
lib/repl.js

@ -659,11 +659,11 @@ REPLServer.prototype.complete = function(line, callback) {
// REPL commands (e.g. ".break"). // REPL commands (e.g. ".break").
var match = null; var match = null;
match = line.match(/^\s*(\.\w*)$/); match = line.match(/^\s*\.(\w*)$/);
if (match) { if (match) {
completionGroups.push(Object.keys(this.commands)); completionGroups.push(Object.keys(this.commands));
completeOn = match[1]; completeOn = match[1];
if (match[1].length > 1) { if (match[1].length) {
filter = match[1]; filter = match[1];
} }

7
test/parallel/test-repl-tab-complete.js

@ -306,3 +306,10 @@ putIn.run(['var obj = {1:"a","1a":"b",a:"b"};']);
testMe.complete('obj.', common.mustCall(function(error, data) { testMe.complete('obj.', common.mustCall(function(error, data) {
assert.deepEqual(data, obj_elements); assert.deepEqual(data, obj_elements);
})); }));
// tab completion for defined commands
putIn.run(['.clear']);
testMe.complete('.b', common.mustCall((error, data) => {
assert.deepStrictEqual(data, [['break'], 'b']);
}));

Loading…
Cancel
Save