The config file supports a [defaults] section:
[defaults]
algorithms = ["sha256", "md5"]
output = "custom.parquet"
These values get parsed into DefaultsSection in config.rs, but build.rs never reads them. Clap's own defaults (sha256 and hashes.parquet) always win because the config isn't consulted for fallback values.
The priority chain documented in the README — "CLI flags > env vars > .shaha.toml > defaults" — doesn't actually work for algorithms and output. They're dead config fields.
Fix: BuildArgs should check config values when the user didn't explicitly pass -a or -o. Alternatively, if this section was always aspirational, remove it from the config struct to avoid confusion.
The config file supports a
[defaults]section:These values get parsed into
DefaultsSectioninconfig.rs, butbuild.rsnever reads them. Clap's own defaults (sha256andhashes.parquet) always win because the config isn't consulted for fallback values.The priority chain documented in the README — "CLI flags > env vars > .shaha.toml > defaults" — doesn't actually work for
algorithmsandoutput. They're dead config fields.Fix:
BuildArgsshould check config values when the user didn't explicitly pass-aor-o. Alternatively, if this section was always aspirational, remove it from the config struct to avoid confusion.