prettier / prettier/plugin-php
Wrong indentation in match statements with multiple options
まだ誰も着手していません。
- 主要言語
- PHP
- スター
- 1.9k
- フォーク
- 139
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
@prettier/plugin-php v0.22.4
Playground link
Input:
<?php
echo match ($operation) {
"short", "really very long option 2" => SomeClass::fairlyLongMethodNameThatRunsOn($variable, ["short", "short"]),
}
Output:
<?php
echo match ($operation) {
"short",
"really very long option 2"
=> SomeClass::fairlyLongMethodNameThatRunsOn($variable, [
"short",
"short",
]),
};
As you can see, the indentation in the output is off. There's arguments for each individual line being ok, but at the very least, the array entries should by indented one more than their braces (now: same as opening, 1 more than closing), and the closing brace for the array should be indented as much as the line with the opening brace.
As far as I can tell, the length of the individual parts is irrelevant, only that they are in total long enough for a line break to be forced.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
リンクされたPlaygroundの再現例から始め、複数のオプションとそのネストされた配列を持つmatch文について、報告された入力と出力を比較してください。改行とインデントを担うformatterの動作を追跡し、配列のエントリが開始中括弧よりも深くインデントされ、終了中括弧が開始中括弧と揃っていることを、周囲のmatchのフォーマットを乱さずに確認してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- php
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100