rescript-lang / rescript-lang/rescript
long matches in switch statements mutline-formats records (but moving to next line is better)
Offen
Dieses Issue hat noch niemand übernommen.
formatter
- Vorherrschende Sprache
- OCaml
- Sterne
- 7.5k
- Forks
- 485
- Ø Merge
- 1 T. 2 Std.
- Gemergte PRs (30 T.)
- 55
Beschreibung
switch "" {
| "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" => {a: 1, b: 2, c: 3}
}
formats to:
switch "" {
| "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" => {
a: 1,
b: 2,
c: 3,
}
}
but this would likely be better:
switch "" {
| "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" =>
{a: 1, b: 2, c: 3}
}
the formatter won't let you do that, but splits it to multiplie lines again. workaround i use is to add a comment:
switch "" {
| "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" => //
{a: 1, b: 2, c: 3}
}
minor, but it's still an annoyance
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den Formatter-Einstiegspunkt für switch-Anweisungen und match-Arme zu finden, und reproduziere dann das bereitgestellte Beispiel mit einem langen String. Erledigt ist die Aufgabe, wenn der Formatter einen langen match-Arm in der nächsten Zeile platziert und dessen record kompakt hält, ohne einen Kommentar-Workaround zu erfordern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- ocaml
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100