prettier / prettier/plugin-php
chained method wrapping inconsistent when comments inside arguments
Personne n'a encore pris cette issue.
- Langage dominant
- PHP
- Étoiles
- 1.9k
- Forks
- 139
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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,
]),
]);
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez les deux cas du playground lié, en comparant le wrapping des méthodes chaînées avec et sans le commentaire dans l’argument de secondMethod. Suivez la manière dont le formateur gère les commentaires et les appels chaînés, puis ajoutez un fixture de régression utilisant l’entrée et les sorties fournies. Le travail est terminé lorsque le commentaire ne modifie plus le wrapping de manière inattendue et que le fixture passe.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100