mirror of
https://codeberg.org/insects/cargo-spiel
synced 2025-05-23 10:33:42 +00:00
fix: properly act like a cargo subcommand
This commit is contained in:
parent
91f29ec4e7
commit
417bba825c
3 changed files with 31 additions and 2 deletions
11
Cargo.lock
generated
11
Cargo.lock
generated
|
@ -160,6 +160,7 @@ version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum",
|
"axum",
|
||||||
"clap",
|
"clap",
|
||||||
|
"clap-cargo",
|
||||||
"include_dir",
|
"include_dir",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -183,6 +184,16 @@ dependencies = [
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap-cargo"
|
||||||
|
version = "0.15.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d546f0e84ff2bfa4da1ce9b54be42285767ba39c688572ca32412a09a73851e5"
|
||||||
|
dependencies = [
|
||||||
|
"anstyle",
|
||||||
|
"clap",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.38"
|
version = "4.5.38"
|
||||||
|
|
|
@ -11,6 +11,7 @@ include = ["/public", "/src"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
axum = { version = "0.8.4", features = ["macros"] }
|
axum = { version = "0.8.4", features = ["macros"] }
|
||||||
clap = { version = "4.5.38", features = ["derive"] }
|
clap = { version = "4.5.38", features = ["derive"] }
|
||||||
|
clap-cargo = "0.15.2"
|
||||||
include_dir = "0.7.4"
|
include_dir = "0.7.4"
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { version = "1.0.219", features = ["derive"] }
|
||||||
serde_json = "1.0.140"
|
serde_json = "1.0.140"
|
||||||
|
|
21
src/main.rs
21
src/main.rs
|
@ -5,15 +5,32 @@ use tokio::runtime::Builder;
|
||||||
|
|
||||||
mod server;
|
mod server;
|
||||||
|
|
||||||
|
pub const CLAP_STYLING: clap::builder::styling::Styles = clap::builder::styling::Styles::styled()
|
||||||
|
.header(clap_cargo::style::HEADER)
|
||||||
|
.usage(clap_cargo::style::USAGE)
|
||||||
|
.literal(clap_cargo::style::LITERAL)
|
||||||
|
.placeholder(clap_cargo::style::PLACEHOLDER)
|
||||||
|
.error(clap_cargo::style::ERROR)
|
||||||
|
.valid(clap_cargo::style::VALID)
|
||||||
|
.invalid(clap_cargo::style::INVALID);
|
||||||
|
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[command(version)]
|
#[command(name = "cargo")]
|
||||||
|
#[command(bin_name = "cargo")]
|
||||||
|
#[command(styles = CLAP_STYLING)]
|
||||||
|
enum Cli {
|
||||||
|
Spiel(CliArgs),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(clap::Args, Debug)]
|
||||||
|
#[command(version, about, long_about = None)]
|
||||||
struct CliArgs {
|
struct CliArgs {
|
||||||
/// Directory of the Cargo project
|
/// Directory of the Cargo project
|
||||||
pub project: Option<PathBuf>,
|
pub project: Option<PathBuf>,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = CliArgs::parse();
|
let Cli::Spiel(args) = Cli::parse();
|
||||||
let runtime = Builder::new_current_thread()
|
let runtime = Builder::new_current_thread()
|
||||||
.worker_threads(2)
|
.worker_threads(2)
|
||||||
.enable_io()
|
.enable_io()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue