私が歌川です

@utgwkk が書いている

現状の癖を反映した.perltidyrcとperltidyの令和最新情報

今はそんなに頻繁にPerlを書いているわけではないけど、以下の記事を書いた時点から更新があったのでちょっと書く。

blog.utgw.net

.perltidyrc

--add-newlines
--add-semicolons
--add-whitespace
--block-brace-tightness=0
--brace-tightness=1
--break-at-old-comma-breakpoints
--character-encoding=utf8
--comma-arrow-breakpoints=1
--continuation-indentation=4
--cuddled-else
--indent-block-comments
--indent-columns=4
--logical-padding
--long-block-line-count=1
--maximum-line-length=0
--no-blanks-before-comments
--no-indent-closing-brace
--no-opening-sub-brace-on-new-line
--no-space-for-semicolon
--paren-tightness=2
--quiet
--static-side-comments
--trim-qw

--static-side-comments オプションを追加

デフォルトでは --no-static-side-comments なのでずっと無効だったけど、perltidy v20210717に上げたら挙動が変わって ## で始まる行末コメントの前のスペースの数が変わった。 ## no critic を指定するために書いていたところの差分が増えてしまうので --static-side-comments オプションを足して回避した。

リストの閉じ括弧のインデントがうまく下がるようになった

これは.perltidyrcの変更とは関係なく、perltidy v20210111以降で確認した。

以下のPRの差分にあるように、これまで以下のようなリストの閉じ括弧が要素と同じレベルだけインデントされて見栄えが悪くなるという問題があったが、これが解決されている。いろいろな設定を試したけど直せなかったので、おそらくperltidyのフォーマッタ自体に改善が加えられたのであろう。

github.com

my @a = (
    qw(
        foo
        bar
        baz
    ),
    qw(
        hoge
        fuga
        piyo
    ),
);

関係ありそうなissueが立っていた。perltidy v20210111で修正されてcloseされているのでたぶんこれ?

github.com

これが解決されたのでperltidyに対する目立った不満が1つ消えたことになる。ありがたい。

その他の最新情報

BugLog.podという文書を見ると、直近でも多くの不具合が修正されていることが分かる。どんどん最新のperltidyを使うとよさそう。