5

我正在使用vim插件Ale。默认情况下,perlcritic违规显示为错误。我希望看到它们显示为警告。根据:help g:ale_type_map我应该能够做到这一点,但我不清楚具体如何。

let g:ale_type_map = {'perl': {'E': 'W'}}会将perl错误变为警告。

let 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 名称或其他问题。

4

1 回答 1

1

在听取作者的意见后,这是正确的语法,它允许您为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是一个字典,所以如果你尝试多次设置它,最后一个条目将获胜。如果你想处理多个 linter,上面的语法就是你想要的。

于 2017-09-07T18:03:35.237 回答