#![deny(clippy::all)]
#![warn(clippy::pedantic)]
mod cli;
mod existence;
mod parse;
mod pipeline_state;
mod scan;
mod scan_context;
mod scan_exec;
mod scan_runner;
mod scan_runner_finding;
mod strategy_filter;
mod util;
mod vector_filter;
mod verdict_builder;
use clap::Parser;
use cli::{Cli, Command};
#[tokio::main]
async fn main() {
let cli = Cli::parse();
let format = cli.format;
let result = match cli.command {
Command::Existence(args) => {
eprintln!("warning: `existence` is deprecated; use `scan --strategy <id>` instead");
existence::run(args, format).await
}
Command::Scan(args) => scan::run(args, format).await,
};
if let Err(e) = result {
eprintln!("error: {e}");
std::process::exit(1);
}
}