Prettier inserts a syntax error when there is a comment after an if statement
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
Piste de recherche
Commencez par la reproduction PHP minimale de l’issue à l’aide du formateur en ligne de commande, puis comparez sa sortie avec l’outil de rapport ou le playground. Suivez le chemin de formatage des blocs PHP et des commentaires en fin de ligne responsable de l’insertion de la balise d’ouverture supplémentaire. C’est terminé lorsque le cas comment-after-if est formaté sans \u003c?php supplémentaire et reste syntaxiquement valide.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- PHP
- Étoiles
- 1.9k
- Forks
- 139
- Métriques de merge des PR
- Aucune PR mergée en 30 j
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.
Autres issues de prettier/plugin-php
-
PHP 8.3 not allowed in options? Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
prettier/plugin-php#2416 · 2 commentaires · 6 réactions ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 64/100
prettier/plugin-php#2498 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
prettier/plugin-php#2495 ·
-
strange format issue Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
prettier/plugin-php#2490 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
prettier/plugin-php#2455 ·
Toutes les issues de prettier/plugin-php
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getgrav/grav-plugin-api#45 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
RSS-Bridge/rss-bridge#5098 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
phingofficial/phing#2025 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
silverstripe/developer-docs#911 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100