据我所知,perltidy在代码格式化方面非常方便和有用。但是,我还没有找到一种方法来微调perltidy。例如,我需要格式化&&和||,使它们前后有两个空格。如下所示:$some && $x > 7;我能做到吗?如果可以,怎么做?
perltidy
&&
||
$some && $x > 7;
hyrbngr71#
使用PPI构建自己的整洁脚本非常简单,可以在perltidy之后运行。
PPI
use PPI; my $doc = PPI::Document->new($ARGV[0]); for my $op (@{$doc->find('PPI::Token::Operator')}) { if ($op eq '&&' || $op eq '||') { $op->{content} = " $op "; } } print $doc;
如果我们运行这个脚本,我们会得到:
$ perl je8tidy.pl je8tidy.pl use PPI; my $doc = PPI::Document->new($ARGV[0]); for my $op (@{$doc->find('PPI::Token::Operator')}) { if ($op eq '&&' || $op eq '||') { $op->{content} = " $op "; } } print $doc;
它确实在第4行唯一的||运算符周围插入了额外的空格。
2vuwiymt2#
perltidy没有在运算符前后添加两个空格的选项。此外,如果手动添加2个空格,然后运行perltidy,默认情况下会将这2个空格转换为一个空格。
2条答案
按热度按时间hyrbngr71#
使用
PPI
构建自己的整洁脚本非常简单,可以在perltidy
之后运行。如果我们运行这个脚本,我们会得到:
它确实在第4行唯一的
||
运算符周围插入了额外的空格。2vuwiymt2#
perltidy没有在运算符前后添加两个空格的选项。
此外,如果手动添加2个空格,然后运行
perltidy
,默认情况下会将这2个空格转换为一个空格。