uribo / textlintr

✅ Natural Language Linter Tools for 'R Markdown' and R Code 💯
https://uribo.github.io/textlintr/
Other
8 stars 1 forks source link

Added overwrite option to `update_lint_rules()` #13

Closed uribo closed 5 years ago

uribo commented 5 years ago

Summary

update_lint_rules()では、引数rulesに与えられたルールを有効化するものだった。ただ、これでは実行時に対象のルールを列挙する必要があり効率が悪かった。

```r # 従来の方法 update_lint_rules("no-todo") jsonlite::read_json(".textlintrc") # $rules # $rules$`no-todo` # [1] TRUE # # # $plugins # $plugins$`@textlint/markdown` # $plugins$`@textlint/markdown`$extensions # $plugins$`@textlint/markdown`$extensions[[1]] # [1] ".Rmd" update_lint_rules("common-misspellings") jsonlite::read_json(".textlintrc") # $rules # $rules$`common-misspellings` # [1] TRUE # # # $plugins # $plugins$`@textlint/markdown` # $plugins$`@textlint/markdown`$extensions # $plugins$`@textlint/markdown`$extensions[[1]] # [1] ".Rmd" ```

新しい挙動では

  1. rules = NULLが与えられた時に、.textlintr/node_modules/にインストールされた全てのルールを有効化する。
  2. ruleに与えられたルールが追加される
  3. overwite = TRUEとした時はルールが上書きされる
```r devtools::load_all() init_textlintr(c("common-misspellings", "preset-jtf-style", "no-todo")) update_lint_rules() jsonlite::read_json(".textlintrc") # $rules # $rules$`no-todo` # [1] TRUE # # $rules$`common-misspellings` # [1] TRUE # # $rules$helper # [1] TRUE # # $rules$`preset-jtf-style` # [1] TRUE # # $rules$prh # [1] TRUE # # # $plugins # $plugins$`@textlint/markdown` # $plugins$`@textlint/markdown`$extensions # [1] ".Rmd" update_lint_rules("no-todo", overwrite = TRUE) jsonlite::read_json(".textlintrc") # $rules # $rules$`no-todo` # [1] TRUE # # # $plugins # $plugins$`@textlint/markdown` # $plugins$`@textlint/markdown`$extensions # $plugins$`@textlint/markdown`$extensions[[1]] # [1] ".Rmd" update_lint_rules("common-misspellings") # jsonlite::read_json(".textlintrc") # $rules # $rules$`no-todo` # [1] TRUE # # $rules$`common-misspellings` # [1] TRUE # # # $plugins # $plugins$`@textlint/markdown` # $plugins$`@textlint/markdown`$extensions # [1] ".Rmd" ```

となっている。

Related Issues

none.