use std::env;
use std::io;
use std::path::{Path, PathBuf};
use std::process::exit;
use balls::delivery_bin;
use balls::layout::Xdg;
fn main() {
let args: Vec<String> = env::args().skip(1).collect();
let home = env::var("HOME").unwrap_or_default();
let env = delivery_bin::Env {
plugin: env::var("BALLS_PLUGIN_NAME").ok(),
xdg: Xdg::with(Path::new(&home), env::var("XDG_CONFIG_HOME").ok().as_deref(), env::var("XDG_STATE_HOME").ok().as_deref()),
cwd: env::current_dir().unwrap_or_else(|_| PathBuf::from(".")),
};
exit(delivery_bin::run(&args, &mut io::stdin().lock(), &mut io::stdout().lock(), &env));
}