prettier / prettier/plugin-php

multi-line comment duplicated, leaking outside PHP blocks

オープン
#1,228 コメント 7 件 リアクション 9 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug comments inline
主要言語
PHP
スター
1.9k
フォーク
139
PR マージ指標
30日以内にマージされた PR はありません

説明

The obvious problem is that the multi-line comment is being duplicated and jumping outside the PHP block. But it's weirder, variations are below the main report example.

@prettier/plugin-php v0.11.2
Playground link

Input:

<?php ?>
<?php ?>

<?php
/**
 * comment
 */

$var = 0;
$var = 1;
?>
<?php ?>

Output:


<?php  ?>

 /**
 * comment
 */<?php
/**
 * comment
 */
?>
$var = 0;
$var = 1;
?>

Additional examples (links go to playground variations):

  • Add a blank line between the first two <?php ?> blocks: Works correctly.
  • Remove all blank lines between <?php ?> blocks: Works correctly (mostly, whitespace)
  • Add a single character to the comment (comments): Works correctly (mostly, whitespace)
  • Add two characters to the comment (commentss): Broken

I didn't run into this with empty PHP blocks, here's the are some examples with code in the PHP blocks, behavior appears to be the same:

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、リンクされた Playground の例を使って報告されている複数行コメントの重複を再現し、次に、空行、コメントの長さ、コードブロックに関する列挙されたバリエーションを比較します。コメントと PHP ブロック境界を担当する PHP のフォーマット処理経路を追跡します。報告されたケース全体で、コメントが一度だけ出力され、PHP ブロック内に留まれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
php
領域
tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。