我无法弄清楚如何使用lintr关闭特定的linters。文档提供了一个示例(对于vim / syntastic,这就是我正在使用的),这不是很清楚:
let g:syntastic_r_lintr_linters = "with_defaults(line_length_linter(120))"
显然这一切都是改变默认值。我是否需要列出我想在这里使用的所有短线?有没有办法排除一对夫妇?
我认为有类似
的东西let g:syntastic_r_lintr_linters_nonportable_path_linter = 0
但我找不到合适的语法。
显然g:syntastic_r_lintr_linters
应该是一个短名单。但目前尚不清楚应该使用什么语法。
如果我们忘记了vim语法并且直接前往R包lintr
(vim / syntastic调用)和linters
lint
参数,那么这可行:
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))
所以也许它应该是一个命名列表?
答案 0 :(得分:1)
关闭特定链接的正确语法是将此(例如)添加到vimrc:
let g:syntastic_r_lintr_linters = "with_defaults(single_quotes_linter=NULL)"
这不在文档中。我不得不在github上挖掘一些旧的(封闭的)问题来找到它。
此外,lintr::lint
确实期望linters
参数的命名列表,但现在将接受未命名的列表(请参阅https://github.com/jimhester/lintr/issues/224)。所以这应该可以从头开始制作一个列表:
let g:syntastic_r_lintr_linters = "list(assignment_linter, single_quotes_linter")