#![allow(unused)] #[macro_use] mod macros; mod commands; mod editor; mod keymap; mod theme; use editor::Editor; use argh::FromArgs; use std::path::PathBuf; use anyhow::Error; #[derive(FromArgs)] /// A post-modern text editor. pub struct Args { #[argh(positional)] files: Vec, } static EX: smol::Executor = smol::Executor::new(); fn main() -> Result<(), Error> { let args: Args = argh::from_env(); for _ in 0..num_cpus::get() { std::thread::spawn(move || smol::block_on(EX.run(smol::future::pending::<()>()))); } smol::block_on(EX.run(async { editor::Editor::new(args).unwrap().run().await; })); Ok(()) }