在 lintr::lint 中指定 linter
Specify linters in lintr::lint
我不知道如何使用 lintr 关闭特定的 linter。文档提供了一个示例(for 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
应该是 linter 列表。但不清楚应该使用什么语法。
如果我们忘记 vim 语法并直接转到 R 包 lintr
(vim/syntastic 调用)和 [=16= 的 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))
所以也许它应该是一个命名列表?
关闭特定 linter 的正确语法是将此(例如)添加到 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")
我不知道如何使用 lintr 关闭特定的 linter。文档提供了一个示例(for 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
应该是 linter 列表。但不清楚应该使用什么语法。
如果我们忘记 vim 语法并直接转到 R 包 lintr
(vim/syntastic 调用)和 [=16= 的 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))
所以也许它应该是一个命名列表?
关闭特定 linter 的正确语法是将此(例如)添加到 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")