From a3fef5becf82481fb91f29799d4d53d9b3711a65 Mon Sep 17 00:00:00 2001 From: John Letey Date: Sun, 26 Apr 2020 14:58:39 +0100 Subject: feat: Modify config keys from shell (#1095) * feat: Modify config keys from shell * chore: Fix clippy * refactor: Add `configure` as alias * chore: Remove redundant code * fix: Soft error if user doesn't pass in valid key * feat: Support integers and booleans * chore: Fix clippy * refactor: Use exit instead of abort Co-Authored-By: Thomas O'Donnell Co-authored-by: Thomas O'Donnell --- src/main.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 1ae1eca0a..c3d1d47cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -116,7 +116,18 @@ fn main() { .arg(&keymap_arg) .arg(&jobs_arg), ) - .subcommand(SubCommand::with_name("configure").about("Edit the starship configuration")) + .subcommand( + SubCommand::with_name("config") + .alias("configure") + .about("Edit the starship configuration") + .arg( + Arg::with_name("name") + .help("Configuration key to edit") + .required(false) + .requires("value"), + ) + .arg(Arg::with_name("value").help("Value to place into that key")), + ) .subcommand(SubCommand::with_name("bug-report").about( "Create a pre-populated GitHub issue with information about your configuration", )) @@ -152,7 +163,15 @@ fn main() { print::module(module_name, sub_m.clone()); } } - ("configure", Some(_)) => configure::edit_configuration(), + ("config", Some(sub_m)) => { + if let Some(name) = sub_m.value_of("name") { + if let Some(value) = sub_m.value_of("value") { + configure::update_configuration(name, value) + } + } else { + configure::edit_configuration() + } + } ("bug-report", Some(_)) => bug_report::create(), ("time", _) => { match SystemTime::now() -- cgit v1.2.3