Add global `--config` argument to override configuration values
Dependencies
- [2]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [3]
L4JXJHWXpijul/*: reorganize imports and remove extern crate - [4]
FVQYZQFLCreate dialoguer themes based on global config - [5]
EJ7TFFOWRe-adding Cargo.lock - [6]
ND62U46TGet nix base builds working again - [7]
WTPFQPO5Add global `no_prompt` flag - [8]
2MKP7CB7Move dependencies into workspace `Cargo.toml` - [9]
Z4PPQZUGRefactor `pijul-config` to support layered configuration - [10]
YW6NICQVMigrate codebase to refactored `pijul_config` crate - [11]
HM6QW3CYHandle missing configurations in `pijul_config` - [12]
6ZHY3XTGUpdating deprecated methods in clap - [13]
ZSFJT4SFAllow remotes to have a different push and pull address - [14]
FMKKWCFVBetter clap attributes - [15]
YVA72CP2Default feedback for the `pijul git` command - [16]
HGJETVANCreate `pijul_config::global_config_directory()` - [17]
I52XSRUHMassive cleanup, and simplification
Change contents
- replacement in pijul-config/src/lib.rs at line 69
pub fn load(repository_path: &Path) -> Result<Self, anyhow::Error> {pub fn load(repository_path: &Path,config_overrides: Vec<(String, String)>,) -> Result<Self, anyhow::Error> { - edit in pijul-config/src/lib.rs at line 131
// 4. Command-line configuration overridesfor (key, value) in config_overrides {layers = layers.join((key, value));} - edit in pijul-config/src/lib.rs at line 229[4.538]
/// Parse a command-line configuration argument into a key/value pairpub fn parse_config_arg(argument: &str) -> Result<(String, String), anyhow::Error> {let (key, value) = argument.split_once('=').ok_or(anyhow::anyhow!("Unable to find '=' character"))?;Ok((key.to_string(), value.to_string()))} - replacement in pijul/src/main.rs at line 5
use pijul_config::Config;use pijul_config::{Config, parse_config_arg}; - edit in pijul/src/main.rs at line 17
/// Override a configuration value, in the form `--config key=value`#[clap(long, global = true, value_parser = parse_config_arg)]pub config: Vec<(String, String)>, - replacement in pijul/src/main.rs at line 222
let config = Config::load(&repository_path)?;let config = Config::load(&repository_path, opts.config)?; - edit in pijul/Cargo.toml at line 34
figment.workspace = true - edit in Cargo.lock at line 2189
"figment",