diff --git a/src/main.rs b/src/main.rs index ce8ec21..9a65734 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,10 +16,32 @@ fn main() -> Result<()> { let config_path = get_config_path()?; let config_str = std::fs::read_to_string(config_path.as_path()).unwrap_or_default(); let config: Replacements<'_> = toml::from_str(&config_str)?; + if check_args() { + return Ok(()); + } loop_clipboard(config); return Ok(()); } +fn check_args() -> bool { + let args: Vec = std::env::args().collect(); + let version_args = vec!["version", "-v", "--version"]; + for arg in args { + if version_args.contains(&arg.deref()) { + print_version(); + return true; + } + } + return false; +} + +fn print_version() { + println!( + "{}", + concat!(env!("CARGO_PKG_NAME"), " ", env!("CARGO_PKG_VERSION")) + ); +} + fn get_config_path() -> Result { let mut config_path = config_dir().ok_or_else(|| anyhow!("Failed to get config dir"))?; config_path.push("substitutor");