Skip to main content

envvault/cli/commands/
version.rs

1//! `envvault version` — display version and check for updates.
2
3use console::style;
4
5use crate::errors::Result;
6
7/// Execute the `version` command.
8pub fn execute() -> Result<()> {
9    let current = env!("CARGO_PKG_VERSION");
10    println!("envvault {current}");
11
12    // Check for updates (behind feature flag, never fails).
13    match crate::version_check::check_latest_version(current) {
14        Some(latest) => {
15            println!(
16                "\n{} A newer version is available: {} → {}",
17                style("Update available!").yellow().bold(),
18                style(current).red(),
19                style(&latest).green().bold()
20            );
21            println!("  Run {} to update", style("envvault update").cyan());
22        }
23        None => {
24            println!("{}", style("You're up to date!").green());
25        }
26    }
27
28    Ok(())
29}