//! Zink compiler. #![deny(missing_docs)] #![cfg(feature = "cli")] use ccli::{clap, App, Parser, Result}; use zinkc::cli::Compile; /// The Zink Compiler. #[derive(Debug, Parser)] #[command(name = "zinkc", version, arg_required_else_help(true))] pub struct Zinkc { #[clap(flatten)] command: Compile, /// Verbose mode (-v, -vv, -vvv, etc.) #[clap(short, long, action = clap::ArgAction::Count)] verbose: u8, } impl App for Zinkc { fn verbose(&self) -> u8 { self.verbose } fn run(&self) -> anyhow::Result<()> { self.command.run() } } /// The main function. fn main() -> Result<()> { Zinkc::start() }