From b68007273c5d74a7acfe96c487525a2a5201c169 Mon Sep 17 00:00:00 2001 From: Prince J Wesley Date: Wed, 22 Jun 2016 16:24:52 +0530 Subject: [PATCH] repl: tab completion for defined commands --- lib/repl.js | 4 ++-- test/parallel/test-repl-tab-complete.js | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/repl.js b/lib/repl.js index db5754ec041196..d313e75f362f27 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -724,11 +724,11 @@ REPLServer.prototype.complete = function(line, callback) { // REPL commands (e.g. ".break"). var match = null; - match = line.match(/^\s*(\.\w*)$/); + match = line.match(/^\s*\.(\w*)$/); if (match) { completionGroups.push(Object.keys(this.commands)); completeOn = match[1]; - if (match[1].length > 1) { + if (match[1].length) { filter = match[1]; } diff --git a/test/parallel/test-repl-tab-complete.js b/test/parallel/test-repl-tab-complete.js index eb4e68ad18d772..d92377efebf791 100644 --- a/test/parallel/test-repl-tab-complete.js +++ b/test/parallel/test-repl-tab-complete.js @@ -260,3 +260,10 @@ putIn.run(['.clear']); testMe.complete('var log = console.lo', common.mustCall((error, data) => { assert.deepStrictEqual(data, [['console.log'], 'console.lo']); })); + +// tab completion for defined commands +putIn.run(['.clear']); + +testMe.complete('.b', common.mustCall((error, data) => { + assert.deepStrictEqual(data, [['break'], 'b']); +}));