#![cfg_attr(nightly, feature(never_type))] #![cfg_attr(nightly, feature(box_syntax))] #![cfg_attr(nightly, feature(const_fn))] #![allow(dead_code)] use cfg_if::cfg_if; mod ext; use ext::*; mod error; #[allow(unused_imports)] use error::{ WrapErr as _, Assign as _, Result as VidelResult, }; #[allow(unused_imports)] use color_eyre::{ eyre::{ self, Result as ReportedResult, }, }; mod consts; mod util; mod hash; mod metadata; mod resolve; mod database; mod config; mod args; async fn begin() -> ReportedResult { color_eyre::install()?; Ok(0) } #[tokio::main] async fn main() { std::process::exit(match begin().await { Ok(0) => return, Err(err) => { eprintln!("\nexited with error: {}", err); 1 }, Ok(v) => v }) }