Skip to content

feat: add json-key R source override provider - #341

Merged
eitsupi merged 2 commits into
mainfrom
feat/json-key-r-source-override
Aug 31, 2026
Merged

eitsupi merged 2 commits into
mainfrom
feat/json-key-r-source-override

Conversation

@eitsupi

@eitsupi eitsupi commented Aug 31, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add a generic json-key R source override provider with the same fallback and diagnostic behavior as toml-key
  • read string versions from dot-separated JSON object paths while keeping raw parse input out of diagnostics
  • document the explicit opt-in configuration for reading R.Version from renv.lock, including its snapshot semantics
  • update the configuration schema and arf r resolve source metadata
  • separate provider metadata, file reading, and common version resolution so adding providers does not grow the main resolution loop

Design

  • keep RSourceOverride as the serde/schemars tagged enum
  • normalize provider reads as missing, resolved values, or rejected diagnostics
  • encode unsupported and file-backed providers with typed reader variants, so invalid file/key combinations are not representable
  • preserve provider priority, fallback behavior, diagnostic wording, parse-input redaction, and lazy rig caching

Testing

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features --locked -- -D warnings
  • cargo test --all-targets --all-features --workspace --locked

Closes #321

@eitsupi
eitsupi merged commit 68c186c into main Aug 31, 2026
13 checks passed
@eitsupi
eitsupi deleted the feat/json-key-r-source-override branch August 31, 2026 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

adding renv as a detectable R version provider

1 participant