From 9d56c4079a05e76bb36c471dbb6967630594bd5c Mon Sep 17 00:00:00 2001 From: Prince J Wesley Date: Wed, 22 Jun 2016 16:24:52 +0530 Subject: [PATCH] repl: fix tab completion for defined commands PR-URL: https://github.com/nodejs/node/pull/7364 Reviewed-By: Anna Henningsen Reviewed-By: Jeremiah Senkpiel --- 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 01a595984d..18c81c438d 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -721,11 +721,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 eb4e68ad18..d92377efeb 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']); +}));