feat: workspace!!!
This commit is contained in:
44
single/src/main.rs
Normal file
44
single/src/main.rs
Normal file
@@ -0,0 +1,44 @@
|
||||
mod single;
|
||||
|
||||
use clap::Parser;
|
||||
use color_eyre::{eyre::Result, Report};
|
||||
use manifest_dir_macros::directory_relative_path;
|
||||
use protostar::xdg::parse_desktop_file;
|
||||
use stardust_xr_fusion::client::Client;
|
||||
use std::path::PathBuf;
|
||||
use tracing_subscriber::EnvFilter;
|
||||
|
||||
use crate::single::Single;
|
||||
|
||||
#[derive(Debug, Parser)]
|
||||
#[clap(author, version, about, long_about = None)]
|
||||
struct Args {
|
||||
// #[clap(short, long)]
|
||||
desktop_file: PathBuf,
|
||||
}
|
||||
|
||||
#[tokio::main(flavor = "current_thread")]
|
||||
async fn main() -> Result<()> {
|
||||
tracing_subscriber::fmt()
|
||||
.compact()
|
||||
.with_env_filter(EnvFilter::from_env("LOG_LEVEL"))
|
||||
.init();
|
||||
color_eyre::install()?;
|
||||
let args = Args::parse();
|
||||
let (client, event_loop) = Client::connect_with_async_loop().await?;
|
||||
client.set_base_prefixes(&[directory_relative_path!("res")]);
|
||||
|
||||
let protostar = Single::create_from_desktop_file(
|
||||
client.get_root(),
|
||||
[0.0, 0.0, 0.0],
|
||||
parse_desktop_file(args.desktop_file).map_err(Report::msg)?,
|
||||
)?;
|
||||
|
||||
let _root = client.wrap_root(protostar)?;
|
||||
|
||||
tokio::select! {
|
||||
_ = tokio::signal::ctrl_c() => (),
|
||||
e = event_loop => e??,
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user