From bb822989534540cf472337e970db9841951272a0 Mon Sep 17 00:00:00 2001 From: Ross Adamson Date: Tue, 19 Nov 2019 12:47:26 -0700 Subject: [PATCH] Fix caret position after tab autocomplete --- index.js | 6 ++---- package-lock.json | 21 ++++++++++++++++----- package.json | 1 - 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/index.js b/index.js index 682f528..8f4093f 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,6 @@ * `autocomplete` type prompt */ -var ansiEscapes = require('ansi-escapes'); var chalk = require('chalk'); var figures = require('figures'); var Base = require('inquirer/lib/prompts/base'); @@ -210,10 +209,9 @@ class AutocompletePrompt extends Base { if (keyName === 'tab' && this.opt.suggestOnly) { if (this.currentChoices.getChoice(this.selected)) { - this.rl.write(ansiEscapes.cursorLeft); + this.rl.clearLine(); var autoCompleted = this.currentChoices.getChoice(this.selected).value; - this.rl.write(ansiEscapes.cursorForward(autoCompleted.length)); - this.rl.line = autoCompleted; + this.rl.write(autoCompleted); this.render(); } } else if (keyName === 'down') { diff --git a/package-lock.json b/package-lock.json index 7680be8..d38766d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,11 +46,6 @@ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", "dev": true }, - "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha1-7D6LTp+AZPwCw6ybZfHCdb2o75I=" - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -509,6 +504,14 @@ "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + } } }, "lodash": { @@ -844,6 +847,14 @@ "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + } } }, "is-callable": { diff --git a/package.json b/package.json index b28ef3d..34af129 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "sinon": "^4.1.2" }, "dependencies": { - "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", "figures": "^2.0.0", "run-async": "^2.3.0"