perltidyで整形
Perl整形用モジュール perltidy と連動して選択中の文字列を整形するマクロです。
perltidy は、インデントだけでなく、見やすくなるような空白の自動挿入、指定文字数をオーバーしないように自動改行などに対応しています。
#language="PerlScript" use Jcode; use Perl::Tidy; my $document = $Window->document; $document->selection->SelectAll() if ( $document->selection->Text eq '' ); my $text = $document->selection->Text; Jcode::convert( \$text, 'euc', 'sjis' ); my $perltidyrc = <<EOF; -l=78 -i=4 -ci=4 -vt=2 -cti=0 -pt=1 -bt=1 -sbt=1 -bbt=1 -nsfs -nolq -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" EOF my @dest; perltidy( 'source' => \$text, 'destination' => \@dest, perltidyrc => \$perltidyrc ); $text = join( "", @dest ); Jcode::convert( \$text, 'sjis', 'euc' ); $Window->document->Write($text);
perltidyのインストール
スタート⇒ファイル名を指定して実行⇒ppm と書いて[OK]
ppm> i Perl::Tidy
これでインストールは完了です。
「Perlベストプラクティス」と推奨の設定にしています。 個人的には、 78文字で折り返しではなく200文字くらいが好みなので-l=200に書き換えて使用しています