禁用整个文件的评论家 - Parse::RecDescent 预编译解析器 & PerlCritic/Tidyall
Disable critic for an entire file - Parse::RecDescent precompiled parser & PerlCritic/Tidyall
我正在尝试从完整性检查中删除错误[当我将代码推送到我的 git 存储库时,有一个钩子使用 perltidy
& [=18= 检查代码]... 使用 tidyall
作为处理程序。]
我遇到的具体问题是预编译语法分析器....这不是我想要深入研究和解决的问题(抱歉 - 这超出了我的舒适范围)
如果我在文件开头添加一个简单的 ## no critic
,那么
perlcritic path/to/class/file.pm
回来
path/to/class/file.pm source OK
然而
tidyall --check-only -r .
带着
回来了
perlcritic /tmp/Code-TidyAll-Frb0/path/to/class/file.pm failed
exited with 2 - output was:
Unrestricted '## no critic' annotation at line 6, column 1. (Miscellanea::ProhibitUnrestrictedNoCritic, severity 3)
我知道我可以在 tidyall.ini
文件中解决这个问题:
[PerlCritic lib]
select = **/*.{pm}
ignore = **/class/file.pm
...不过我觉得应该有一个 cleaner 解决方案。
(或者,为什么 tidyall
和 critic
不一样?)
why doesn't tidyall
critique the same as critic
?
命令行上的简单 perlcritic
默认严重性为 5,除非您在 ~/.perlcriticrc
中配置了不同的内容。规则 ProhibitUnrestrictedNoCritic
默认为严重性 3,因此您的 tidyall
是 运行 Perl::Critic
,严重性至少为 3。根据其文档,您可以通过以下方式更改它tidyall.ini
:
[PerlCritic]
argv = -severity 4
然后 tidyall
的检查 应该 与命令行中的 perlcritic -4
相同。 (除非您在 .perlcriticrc
中配置了自定义严重性级别。)
更新: 根据您的评论,您想检查 "brutal" 级别的所有内容。在这种情况下,您可以创建一个包含行 [-Miscellanea::ProhibitUnrestrictedNoCritic]
的 perlcriticrc
文件,这将禁用该策略,然后通过添加命令行参数 [=25= 指向该文件 perlcritic
].
我正在尝试从完整性检查中删除错误[当我将代码推送到我的 git 存储库时,有一个钩子使用 perltidy
& [=18= 检查代码]... 使用 tidyall
作为处理程序。]
我遇到的具体问题是预编译语法分析器....这不是我想要深入研究和解决的问题(抱歉 - 这超出了我的舒适范围)
如果我在文件开头添加一个简单的 ## no critic
,那么
perlcritic path/to/class/file.pm
回来
path/to/class/file.pm source OK
然而
tidyall --check-only -r .
带着
回来了perlcritic /tmp/Code-TidyAll-Frb0/path/to/class/file.pm failed
exited with 2 - output was:
Unrestricted '## no critic' annotation at line 6, column 1. (Miscellanea::ProhibitUnrestrictedNoCritic, severity 3)
我知道我可以在 tidyall.ini
文件中解决这个问题:
[PerlCritic lib]
select = **/*.{pm}
ignore = **/class/file.pm
...不过我觉得应该有一个 cleaner 解决方案。
(或者,为什么 tidyall
和 critic
不一样?)
why doesn't
tidyall
critique the same ascritic
?
命令行上的简单 perlcritic
默认严重性为 5,除非您在 ~/.perlcriticrc
中配置了不同的内容。规则 ProhibitUnrestrictedNoCritic
默认为严重性 3,因此您的 tidyall
是 运行 Perl::Critic
,严重性至少为 3。根据其文档,您可以通过以下方式更改它tidyall.ini
:
[PerlCritic]
argv = -severity 4
然后 tidyall
的检查 应该 与命令行中的 perlcritic -4
相同。 (除非您在 .perlcriticrc
中配置了自定义严重性级别。)
更新: 根据您的评论,您想检查 "brutal" 级别的所有内容。在这种情况下,您可以创建一个包含行 [-Miscellanea::ProhibitUnrestrictedNoCritic]
的 perlcriticrc
文件,这将禁用该策略,然后通过添加命令行参数 [=25= 指向该文件 perlcritic
].