Files
continuwuity/src/clap.rs
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
892 B
Rust
Raw Normal View History

2024-03-12 22:20:03 -04:00
//! Integration with `clap`
2024-03-13 02:12:14 -04:00
use std::path::PathBuf;
2024-03-12 22:20:03 -04:00
use clap::Parser;
/// Returns the current version of the crate with extra info if supplied
///
/// Set the environment variable `CONDUIT_VERSION_EXTRA` to any UTF-8 string to
/// include it in parenthesis after the SemVer version. A common value are git
/// commit hashes.
fn version() -> String {
let cargo_pkg_version = env!("CARGO_PKG_VERSION");
match option_env!("CONDUIT_VERSION_EXTRA") {
Some(x) => format!("{} ({})", cargo_pkg_version, x),
None => cargo_pkg_version.to_owned(),
}
}
2024-03-12 22:20:03 -04:00
/// Commandline arguments
#[derive(Parser, Debug)]
#[clap(version = version(), about, long_about = None)]
2024-03-12 22:20:03 -04:00
pub struct Args {
#[arg(short, long)]
/// Optional argument to the path of a conduwuit config TOML file
2024-03-13 02:12:14 -04:00
pub config: Option<PathBuf>,
2024-03-12 22:20:03 -04:00
}
/// Parse commandline arguments into structured data
pub fn parse() -> Args { Args::parse() }