prettier / prettier/plugin-php

Format multiple-catch

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

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

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

説明

We're currently not respecting line length limitations in multiple-catch blocks, which we could.


@prettier/plugin-php v0.14.0
Playground link

Input:

<?php

try {
    do_something();
} catch (\Some\Rather\Obscure\Exception | \Another\Obscure\Exception $exception) {
    handle_exception();
}

Current Output:

<?php

try {
    do_something();
} catch (\Some\Rather\Obscure\Exception | \Another\Obscure\Exception $exception) {
    handle_exception();
}

Improved Output:

<?php

try {
    do_something();
} catch (
    \Some\Rather\Obscure\Exception |
    \Another\Obscure\Exception $exception
) {
    handle_exception();
}


To be honest, the improved output is not perfect (the $exception variable is a little bit "obscured" next to the exception class), but it's better than the current behavior IMO.

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

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

はじめの一歩

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

調査の方向性

提供されている Playground の再現例から始め、PHP printer で multiple-catch のフォーマット処理を調べてください。issue ではファイルもテストも指定されていません。完了の条件は、示されている catch-block の構造を維持しながら、例外リストが設定された行長に収まるように折り返され、関連する formatter のテストが通ることです。

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

評価

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

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

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