microsoft / microsoft/TypeScript

Report candidates on closing list terminators

Offen
#34,871 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: Error Messages Effort: Difficult Experience Enhancement
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

From @robpalme: https://twitter.com/robpalmer2/status/1190383568612184064

function base_init() {
{
    
}

    function me() {
    
}

https://www.typescriptlang.org/play/?ssl=8&ssc=1&pln=9&pc=1#code/GYVwdgxgLglg9mABAIwIYGcCmB9GYZQAUAlIgN4BQliNiFAvhRbYqJLAogLaYnnO0GFIA

Motivation

When an ending curly brace (or similar) is missing, we can give some better hints to the user.

In some cases, this might be because a stray } throws parsing off.

Suggestion

It would be very cool to explain a possible reason that the user is getting a '}' expected error:

}
~
This '}' occurs at the same indentation level, but corresponds to a different brace.

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, das Beispiel im verlinkten TypeScript Playground zu reproduzieren und die daraus resultierende Diagnose '}' expected zu untersuchen. Ermittle, wie Terminatoren für schließende Listen erkannt werden und wie ein Widerspruch bei der Einrückungsebene gemeldet werden könnte. Als erledigt gilt dies, wenn das Beispiel den vorgeschlagenen Hinweis erzeugt, ohne andere Diagnosen zur Klammeranalyse zu verschlechtern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
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.