nodejs / nodejs/node

readline: prompt opt-out behavior

Offen
#12,606 10 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

confirmed-bug help wanted readline
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

Beschreibung

  • Version: v8.0.0-rc.0
  • Platform: Windows 4 x64
  • Subsystem: readline

I am not sure if this is a bug or a feature.

Consider this simple echo interface:

'use strict';

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

rl.on('line', (line) => {
  console.log(line);
});

It does not use rl.prompt() anywhere and with a common input there will be no default prompt:

GIF 1:

1


However, if a user press DELETE, BACKSPACE or UP button, default prompt immediately and somehow unexpectedly appears shifting the whole line:

GIF 2:

2


This can be prevented by setting the prompt option into the empty line. However, I am not sure if this opt-out rule is an intended behavior.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die bereitgestellte readline-Echo-Schnittstelle unter Windows auszuführen und das nach DELETE, BACKSPACE oder UP erscheinende Prompt zu reproduzieren. Vergleiche das Verhalten mit einem ausdrücklich leeren Prompt und untersuche anschließend die Einstiegspunkte für readline-Eingaben und die Prompt-Behandlung; abgeschlossen bedeutet, dass das Opt-out-Verhalten definiert ist und das unerwartete Prompt-Verhalten behoben oder dokumentiert wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, nodejs
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.