Настроить поведение линтеров R в Sublime 3
Я использую lintr
в Sublime 3
с помощью SublimeLinter 3
и SublimeLinter-contrib-lintr
плагин. На lintr
README.md
В файле есть краткое упоминание о том, как настроить какие линтеры следует использовать:
{
"user": {
"linters": {
"r": {
"linters": "with_defaults(line_length_linter(120))"
}
}
}
}
Тем не менее, я использую его в сочетании с SublimeLinter-contrib-lintr
и я не могу заставить его работать. мой SublimeLinter.sublime-settings
файл выглядит так:
{
"user": {
"debug": true,
"delay": 0.25,
"error_color": "D02000",
"gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
"gutter_theme_excludes": [],
"lint_mode": "background",
"linters": {
"lintr": {
"@disable": false,
"args": [],
"cache": "TRUE",
"excludes": [],
"linters": "default_linters"
}
},
"mark_style": "outline",
"no_column_highlights_line": false,
"passive_warnings": false,
"paths": {
"linux": [],
"osx": [],
"windows": [
"C:/Program Files/R/R-3.3.3/bin/x64"
]
},
"python_paths": {
"linux": [],
"osx": [],
"windows": []
},
"rc_search_limit": 3,
"shell_timeout": 10,
"show_errors_on_save": false,
"show_marks_in_minimap": true,
"syntax_map": {
"r extended": "r"
},
"warning_color": "DDB700",
"wrap_find": true
}
}
lintr
Пакет содержит кучу линтеров (см. эту ссылку). Чего бы я хотел достичь - это отказаться от некоторых из них (например, не использовать, например, assignment_linter
). У вас есть идеи, как этого добиться? Это должно быть возможно, верно?
Изменить 1:
Я заметил, что, изменив "linters": "default_linters"
в "linters": "assignment_linter"
только ошибки подпадают под assignment_linter
будет выбран Я пытался расширить его с помощью массива, но он не работает:
...
"lintr": {
"@disable": false,
"args": [],
"cache": "TRUE",
"excludes": [],
"linters": [
"assignment_linter",
"object_name_linter"
]
}
...
Внутри Sublime 3
консоль, сообщение об ошибке сообщения с этой попыткой: Error: unexpected '[' in "lint(cache = TRUE, commandArgs(TRUE), ["
,
Редактировать 2: возможное решение
Смотря на with_defaults
внутри lintr
В пакете я нашел два способа выбора только тех линтеров, которые мне интересны. Предполагая, что я хочу только assignment_linter
а также no_tab_linter
Конфигурация:
"linters": "default_linters[c('assignment_linter', 'no_tab_linter')]"
или же"linters": "with_defaults(assignment_linter, no_tab_linter, default = NULL)"
Это работает, но есть ли другие менее подверженные ошибкам подходы? При таком подходе, если я хочу отказаться только от одного линтера, я должен перечислить все остальные.
0 ответов
Что касается вашего вопроса для "Edit 2", вы можете отказаться от одного линтера следующим образом:
{
"user": {
"linters": {
"r": {
"linters": "with_defaults(some_default_linter = NULL)"
}
}
}
}
... где some_default_linter
имя линтера из списка lintr::default_linters
.