summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js')
-rw-r--r--tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
index 33f2ead18a..4e0bcab0f6 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
@@ -67,6 +67,10 @@ class RawListPrompt extends Base {
events.keypress
.pipe(takeUntil(validation.success))
.forEach(this.onKeypress.bind(this));
+ events.normalizedUpKey.pipe(takeUntil(events.line)).forEach(this.onUpKey.bind(this));
+ events.normalizedDownKey
+ .pipe(takeUntil(events.line))
+ .forEach(this.onDownKey.bind(this));
// Init the prompt
this.render();
@@ -146,6 +150,34 @@ class RawListPrompt extends Base {
this.render();
}
+
+ /**
+ * When user press up key
+ */
+
+ onUpKey() {
+ this.onArrowKey('up');
+ }
+
+ /**
+ * When user press down key
+ */
+
+ onDownKey() {
+ this.onArrowKey('down');
+ }
+
+ /**
+ * When user press up or down key
+ * @param {String} type Arrow type: up or down
+ */
+
+ onArrowKey(type) {
+ var index = this.rl.line.length ? Number(this.rl.line) - 1 : 0;
+ index += type === 'up' ? -1 : 1;
+ this.rl.line = String(index + 1);
+ this.onKeypress();
+ }
}
/**