如何将 R styleR 与预提交和 renv 一起使用
How to use R styleR with pre-commit and renv
我已经用 rvenv 创建了一个虚拟环境,所以现在我的项目根目录中有 rvenv/
。我还安装了 styler
,并希望有一个预提交挂钩将其应用于 R 代码。
从这里开始:https://github.com/lorenzwalthert/precommit/blob/master/.pre-commit-hooks.yaml 如下:
- id: style-files
name: style-files
description: style files with styler
args: [--style_pkg=styler, '--style_transformers=tidyverse_style(scope = "tokens")']
entry: inst/bin/style-files
language: script
files: '(\.R|\.Rmd|\.Rnw|\.r|\.rmd|\.rnw)$'
我对应该给 entry:
的路径感到困惑,在这个片段中它是通往全球版本 styler
的路径(或者至少,我假设是这样) .但是我希望能够在我假设的虚拟环境中使用我安装的版本。
我的问题是 - 如何去做。如果我不应该使用安装在 renv/
中的版本,那么我很高兴听到(并使用)关于创建预提交挂钩以设置适用于我和其他人的 R 文件样式的最佳实践系统。
编辑
按照下面的答案,我也必须安装 docopt (as outlined here)。
通常你依靠远程存储库来提供配置(这样你就不需要所有 args
/ entry
/ 等等。设置
例如,如果您想使用您列出的存储库中的 style-files
,您可以在 .pre-commit-config.yaml
:
中进行设置
repos:
- repo: https://github.com/lorenzwalthert/precommit
rev: v0.1.2
hooks:
- id: style-files
您可以从那里自定义 args
/ 等
我已经用 rvenv 创建了一个虚拟环境,所以现在我的项目根目录中有 rvenv/
。我还安装了 styler
,并希望有一个预提交挂钩将其应用于 R 代码。
从这里开始:https://github.com/lorenzwalthert/precommit/blob/master/.pre-commit-hooks.yaml 如下:
- id: style-files
name: style-files
description: style files with styler
args: [--style_pkg=styler, '--style_transformers=tidyverse_style(scope = "tokens")']
entry: inst/bin/style-files
language: script
files: '(\.R|\.Rmd|\.Rnw|\.r|\.rmd|\.rnw)$'
我对应该给 entry:
的路径感到困惑,在这个片段中它是通往全球版本 styler
的路径(或者至少,我假设是这样) .但是我希望能够在我假设的虚拟环境中使用我安装的版本。
我的问题是 - 如何去做。如果我不应该使用安装在 renv/
中的版本,那么我很高兴听到(并使用)关于创建预提交挂钩以设置适用于我和其他人的 R 文件样式的最佳实践系统。
编辑
按照下面的答案,我也必须安装 docopt (as outlined here)。
通常你依靠远程存储库来提供配置(这样你就不需要所有 args
/ entry
/ 等等。设置
例如,如果您想使用您列出的存储库中的 style-files
,您可以在 .pre-commit-config.yaml
:
repos:
- repo: https://github.com/lorenzwalthert/precommit
rev: v0.1.2
hooks:
- id: style-files
您可以从那里自定义 args
/ 等