123456789101112131415161718192021222324252627282930 |
- use crate::cmd::config::{AppConfig, EMU_CONFIG};
- use clap::Parser;
- use tokio::fs::read_to_string;
- #[derive(Parser, Debug)]
- #[command(version, about, long_about = None)]
- struct Args {
- #[arg(short, long, value_name = "EMU配置文件")]
- config: String,
- }
- pub async fn cmd() {
- let args = Args::parse();
- match init_config(args.config).await {
- Ok(()) => {
- println!("{:?}", EMU_CONFIG.get().unwrap());
- }
- Err(e) => {
- eprintln!("配置加载失败: {}", e.to_string());
- }
- }
- }
- /// 配置载入内存
- async fn init_config(config_path: String) -> anyhow::Result<()> {
- let content = read_to_string(config_path).await?;
- let app_config: AppConfig = serde_yml::from_str(content.as_str())?;
- EMU_CONFIG.set(app_config).expect("配置载入内存错误");
- Ok(())
- }
|