popcodeorg / popcodeorg/popcode

Handle multi-line statements in the console

Offen
#1,264 4 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
JavaScript
Sterne
191
Forks
143
Ø Merge
4 T. 11 Std.
Gemergte PRs (30 T.)
5

Beschreibung

If a student types the following into the console and presses Enter:

if (name === "Pop") {

The console should recognize that it is an incomplete statement, and allow the student to keep typing (with an expanded input area to accommodate the new line).

This seems hard—how do we distinguish between an incomplete multiline statement and a statement that is syntactically invalid for some other reason? Perhaps Esprima or one of our other linters/parsers throws a specific “unexpected end of input” type error that we can rely on.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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 Verarbeitung der Konsoleneingabe nachzuverfolgen und zu untersuchen, wie der Parser oder Linter für die Beispielanweisung ein unerwartetes Ende der Eingabe meldet. Ermittle, wie unvollständige Eingaben von anderen Syntaxfehlern unterschieden werden können und wie sich der Eingabebereich für fortgesetzte Zeilen erweitert. Als erledigt gilt die Aufgabe, wenn das Beispiel über mehrere Zeilen fortgesetzt werden kann, während tatsächlich ungültige Anweisungen weiterhin Fehler melden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
frontend, web-dev
Issue-Typ
Feature
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.