【发布时间】:2017-03-20 20:52:00
【问题描述】:
我不知道如何使用 lintr 关闭特定的 linter。该文档提供了一个示例(对于我正在使用的 vim/syntastic),这不是很清楚:
let g:syntastic_r_lintr_linters = "with_defaults(line_length_linter(120))"
显然,这只是更改默认值。我需要在这里列出我想使用的所有 linter 吗?有没有办法只排除一对?
我认为有类似的东西
let g:syntastic_r_lintr_linters_nonportable_path_linter = 0
但我找不到正确的语法。
显然g:syntastic_r_lintr_linters 应该是一个短绒列表。但不清楚应该使用什么语法。
如果我们忘记 vim 语法并直接转到 R 包 lintr(vim/syntastic 调用)和 lint 的 linters 参数,那么这可行:
lint(file.R, linters=assignment_linter)
这不会(没有错误,但不会捕获代码中的错误):
lint(file.R, linters=list(assignment_linter, single_quotes_linter))
这也不是(错误输出):
lint(file.R, linters=list('assignment_linter', 'single_quotes_linter'))
但这确实:
lint('file.R',linters=list('assignment_linter'=assignment_linter,'single_quotes_linter'=single_quotes_linter))
所以也许它应该是一个命名列表?
【问题讨论】:
-
g:syntastic_r_lintr_linters应该是一个 R 的 linter 列表,with_defaults()只是构建这个列表的一种便捷方式。这或多或少是documented。 -
是的,我已经读过,但是 linter 列表不起作用。请参阅上面的编辑