强制Ale将Perl :: Critic违规显示为警告而不是错误

我正在使用带有Ale插件的
vim.默认情况下,perlcritic违规显示为错误.我希望看到它们显示为警告.根据:help g:ale_type_map我应该可以做到这一点,但我不清楚究竟是怎么做的.

让g:ale_type_map = {‘perl’:{‘E’:’W’}}会将perl错误更改为警告.

让g:ale_type_map = {‘perl’:{‘ES’:’WS’}}似乎对批评者​​的违规行为没有任何影响.这两个都没有:

let g:ale_type_map = {'perlcritic': {'ES': 'WS', 'E': 'W'}}
let g:ale_type_map = {'perl_perlcritic': {'ES': 'WS', 'E': 'W'}}

关于这方面的文档相当稀疏,所以我不清楚这是一个语法,linter名称还是完全不同的问题.

最佳答案 在听取了作者的意见后,这是正确的语法,允许您为perltidy和Perl :: Critic设置选项:

let g:ale_type_map = {
\    'perl': {'ES': 'WS'}, 
\    'perlcritic': {'ES': 'WS', 'E': 'W'},
\}

我的问题是,我的简单测试用例是发出了perl警告以及Perl :: Critic违规.天沟将perl警告显示为错误,但是窗格的底部显示了Perl :: Critic违规,这非常令人困惑.在摆脱警告后,我能够将Perl :: Critic违规视为警告.在Ale中已经有一个已经公开的问题要解决这个问题,但我认为在这里为有问题的人发布答案会很有帮助.

主要的一点是ale_type_map是一个dict,所以如果你尝试多次设置它,最后一个条目就会赢.如果你想要处理多个短线,上面的语法就是你想要的.

点赞