summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorJohn Letey <johnletey@gmail.com>2020-04-26 14:58:39 +0100
committerGitHub <noreply@github.com>2020-04-26 15:58:39 +0200
commita3fef5becf82481fb91f29799d4d53d9b3711a65 (patch)
tree8a141c6dd8e12466e86d986634e96981c13698e3 /src/main.rs
parentdecd4e2a5d74175c9bd6370a1cf9980b18cb6970 (diff)
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 <andytom@users.noreply.github.com> Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs23
1 files changed, 21 insertions, 2 deletions
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()