stmo_cli/commands/
update.rs1#![allow(clippy::missing_errors_doc)]
2
3use anyhow::Result;
4use crate::update_checker::installed_via_cargo;
5
6pub fn update() -> Result<()> {
7 if !installed_via_cargo() {
8 eprintln!("stmo-cli was not installed via `cargo install`.");
9 eprintln!("To update, use the same method you used to install it.");
10 anyhow::bail!("Not installed via cargo install");
11 }
12
13 let status = std::process::Command::new("cargo")
14 .args(["install", "stmo-cli"])
15 .status()?;
16
17 if status.success() {
18 println!("stmo-cli updated successfully.");
19 Ok(())
20 } else {
21 anyhow::bail!("cargo install stmo-cli failed");
22 }
23}