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に書き換えて使用しています
