prettier / prettier/plugin-php
chained method wrapping inconsistent when comments inside arguments
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- PHP
- Estrellas
- 1.9k
- Forks
- 139
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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,
]),
]);
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce los dos casos del playground enlazado, comparando el wrapping de métodos encadenados con y sin el comentario dentro del argumento de secondMethod. Sigue cómo el formateador gestiona los comentarios y las llamadas encadenadas, y después añade un fixture de regresión usando la entrada y las salidas proporcionadas. Se considera terminado cuando el comentario ya no cambia inesperadamente el wrapping y el fixture pasa.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100