Prettier inserts a syntax error when there is a comment after an if statement
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Comienza con la reproducción mínima en PHP del issue usando el formateador de línea de comandos y compara después su salida con la herramienta de informes o el playground. Sigue la ruta de formateo de bloques PHP y comentarios finales responsable de insertar la etiqueta de apertura adicional. Se considera terminado cuando el caso comment-after-if se formatea sin un \u003c?php adicional y sigue siendo sintácticamente válido.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When prettier is used via command line or via VSCode shortcut, prettier inserts an extra <?php string, creating a syntax error.
Input:
<?php if (true): // example comment
?>
<h1>Heading</h1>
<?php endif; ?>
Output:
<?php if (true):<?php
// example comment
?>
<h1>Heading</h1>
<?php endif; ?>
This behavior, however, is not present within the reporting tool, where the output is as expected: @prettier/plugin-php v0.25.0
Playground link
The .prettierrc file:
{
"useTabs": false,
"tabWidth": 2,
"trailingComma": "es5",
"semi": true,
"singleQuote": true,
"arrowParens": "avoid",
"printWidth": 120,
"plugins": ["@prettier/plugin-php"]
}
- Prettier version: 3.8.3
- PHP Plugin version: 0.25.0
Further information
This issue only happens when a comment is right after an if statement, and the comment is the last thing inside the php block. Here are examples of cases where the code is formatted correctly:
<?php
// example comment
if (true): ?>
<h1>Heading</h1>
<?php endif; ?>
<?php
$test = 'Foo';
if (true):
// example comment
$test = 'Bar'; ?>
<h1>Heading</h1>
<?php
endif; ?>
Those examples are after they were formatted using the command line prettier.
The second example is somewhat questionable, as I suspect the endif statement should not be moved to a new line - before the formatting happened it was in a single line, like in the first example.
- Lenguaje dominante
- PHP
- Estrellas
- 1.9k
- Forks
- 139
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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.
Más de prettier/plugin-php
-
PHP 8.3 not allowed in options? Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
prettier/plugin-php#2416 · 2 comentarios · 6 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
prettier/plugin-php#2498 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
prettier/plugin-php#2495 ·
-
strange format issue Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
prettier/plugin-php#2490 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
prettier/plugin-php#2455 ·
Todos los issues de prettier/plugin-php
Issues similares
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
-
[6.x]: "Cannot use object of type stdClass as array" loading Users index (regression of #19182) Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getgrav/grav-plugin-api#45 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
RSS-Bridge/rss-bridge#5098 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
phingofficial/phing#2025 ·