diff --git a/src/config.rs b/src/config.rs index 8b3b6bf2..7574ca7a 100644 --- a/src/config.rs +++ b/src/config.rs @@ -108,6 +108,7 @@ pub enum Step { CustomCommands, Yadm, Sheldon, + Choosenim, } #[derive(Deserialize, Default, Debug)] diff --git a/src/main.rs b/src/main.rs index 17e589e7..0a3b2070 100644 --- a/src/main.rs +++ b/src/main.rs @@ -256,6 +256,7 @@ fn run() -> Result<()> { )))] runner.execute(Step::Atom, "apm", || generic::run_apm(run_type))?; runner.execute(Step::Rustup, "rustup", || generic::run_rustup(&base_dirs, run_type))?; + runner.execute(Step::Choosenim, "choosenim", || generic::run_choosenim(&ctx))?; runner.execute(Step::Cargo, "cargo", || generic::run_cargo_update(run_type))?; runner.execute(Step::Flutter, "Flutter", || generic::run_flutter_upgrade(run_type))?; runner.execute(Step::Go, "Go", || generic::run_go(&base_dirs, run_type))?; diff --git a/src/steps/generic.rs b/src/steps/generic.rs index 60b9abfe..3ab97e74 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -95,6 +95,16 @@ pub fn run_rustup(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { run_type.execute(&rustup).arg("update").check_run() } +pub fn run_choosenim(ctx: &ExecutionContext) -> Result<()> { + let choosenim = utils::require("choosenim")?; + + print_separator("choosenim"); + let run_type = ctx.run_type(); + + run_type.execute(&choosenim).args(&["update", "self"]).check_run()?; + run_type.execute(&choosenim).args(&["update", "stable"]).check_run() +} + pub fn run_krew_upgrade(run_type: RunType) -> Result<()> { let krew = utils::require("kubectl-krew")?;