如何将 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 / 等