如何使用perltidy格式化布尔运算符



据我所知,perltidy在代码格式化方面非常方便和有用。然而,我还没有找到微调perltidy的方法。例如,我需要格式化&&||,使它们前后有两个空格。像这样:

$some && $x > 7;

我能做吗?如果是,如何?

PPI构建自己的整洁脚本很容易,可以在perltidy之后运行。概念证明:

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行的唯一||运算符周围插入了额外的空格。

perltidy没有在运算符前后添加两个空格的选项。

此外,如果手动添加2个空格,然后运行perltidy,则默认情况下会将这2个空格转换为单个空格。但是,也有跳过选定代码行的选项。

相关内容

  • 没有找到相关文章

最新更新