使用Perl::Tidy对模块进行一致的缩进



在多个平台(不同的Linux发行版和macOS(上测试我的软件时,我正在使用Perl::Tidy和Perl::Critic。

我现在从Linux和macOS上的Perl::Tidy获得了不同的格式,这使得Perl:∶Critic失败,因为代码不整洁。

不同之处在于所用模块的参数缩进。

例如,在Linux上(Fedora使用默认Perl::Tidy v20220217(:

use Carp;
use English qw(-no_match_vars);
use POSIX qw(uname);
use Readonly;

以及在macOS上使用Perl::Tidy v20220613

use Carp;
use English qw(-no_match_vars);
use POSIX   qw(uname);           ## qw is indented to be aligned
use Readonly;

我没有找到定义行为的选项,也无法在运行测试的所有系统上控制Perl::Tidy的版本。

有没有一种方法可以使Perl::Tidy在不考虑版本的情况下一致地缩进这些行?有没有我错过的命令行选项?

目前,我只是忽略块:

#<<<  Perl::Tidy indents "qw" differently on older versions
use Carp;
use English qw(-no_match_vars);
use POSIX   qw(uname);
use Readonly;
#>>>

但也许还有更好的方法。

20220613版本添加了一个新选项来控制这种对齐。来自变更日志:

在"use"语句中为qw引号和空括号添加了垂直对齐(请参阅问题#git 93(。默认情况下,此新对齐方式为"on",并将更改格式,如下所示。如果不需要,可以使用参数-vxl='q'(--validn exclusion list='q'(将其关闭。

# old default, or -vxl='q'
use Getopt::Long qw(GetOptions);
use Fcntl qw(O_RDONLY O_WRONLY O_EXCL O_CREAT);
use Symbol qw(gensym);
use Exporter ();

相关内容

  • 没有找到相关文章

最新更新