prettier / prettier/plugin-php
chained method wrapping inconsistent when comments inside arguments
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PHP
- Sterne
- 1.9k
- Forks
- 139
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
When a comment is added inside the argument of secondMethod below, it changes the way that the chained methods are wrapped in a way that doesn't seem intuitive for it to affect.
@prettier/plugin-php v0.19.3
Playground link
Input:
<?php
$builder->firstMethod()->secondMethod([
new ClassName('c-' . $some_long_variable, [
EXTEND::THIS, LINE::SO, IT::HASNEWLINES
]),
new ClassName('c-' . $some_long_variable, [
EXTEND::THIS, LINE::SO, IT::HASNEWLINES
]),
]);
Output:
<?php
$builder
->firstMethod()
->secondMethod([
new ClassName("c-" . $some_long_variable, [
EXTEND::THIS,
LINE::SO,
IT::HASNEWLINES,
]),
new ClassName("c-" . $some_long_variable, [
EXTEND::THIS,
LINE::SO,
IT::HASNEWLINES,
]),
]);
@prettier/plugin-php v0.19.3
Playground link
Input:
<?php
$builder->firstMethod()->secondMethod([
new ClassName('c-' . $some_long_variable, [
EXTEND::THIS, LINE::SO, IT::HASNEWLINES
]),
// comment
new ClassName('c-' . $some_long_variable, [
EXTEND::THIS, LINE::SO, IT::HASNEWLINES
]),
]);
Output:
<?php
$builder->firstMethod()->secondMethod([
new ClassName("c-" . $some_long_variable, [
EXTEND::THIS,
LINE::SO,
IT::HASNEWLINES,
]),
// comment
new ClassName("c-" . $some_long_variable, [
EXTEND::THIS,
LINE::SO,
IT::HASNEWLINES,
]),
]);
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
Reproduziere die beiden Fälle aus dem verlinkten Playground und vergleiche das Wrapping von Methodenverkettungen mit und ohne den Kommentar innerhalb des Arguments von secondMethod. Verfolge, wie der Formatter Kommentare und verkettete Aufrufe behandelt, und füge dann eine Regression-Fixture mit der bereitgestellten Eingabe und den Ausgaben hinzu. Als erledigt gilt die Aufgabe, wenn der Kommentar das Wrapping nicht mehr unerwartet verändert und die Fixture erfolgreich durchläuft.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100