From 4a90f262c65ce104b7ef32dfb9d3c3c6be2b304c Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 17 Mar 2016 15:34:40 +0000 Subject: [PATCH] fix zero length tab complete behaviour --- src/TabComplete.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/TabComplete.js b/src/TabComplete.js index 3005411e13..c82d8e4644 100644 --- a/src/TabComplete.js +++ b/src/TabComplete.js @@ -83,10 +83,10 @@ class TabComplete { this._notifyStateChange(); } - startTabCompleting() { + startTabCompleting(passive) { this.completing = true; this.currentIndex = 0; - this._calculateCompletions(); + this._calculateCompletions(passive); } /** @@ -137,7 +137,7 @@ class TabComplete { this.inPassiveMode = passive; if (!this.completing) { - this.startTabCompleting(); + this.startTabCompleting(passive); } if (shiftKey) { @@ -270,7 +270,7 @@ class TabComplete { }); } - _calculateCompletions() { + _calculateCompletions(passive) { this.originalText = this.textArea.value; // cache starting text // grab the partial word from the text which we'll be tab-completing @@ -283,6 +283,11 @@ class TabComplete { var [ , boundaryGroup, partialGroup] = res; this.isFirstWord = partialGroup.length === this.originalText.length; + if (partialGroup.length === 0 && passive) { + this.stopTabCompleting(); + return; + } + this.matchedList = [ new Entry(partialGroup) // first entry is always the original partial ];