use std::path::PathBuf; use mingling::{prelude::*, setup::BasicProgramSetup}; mod mem_mgr; pub use mem_mgr::*; #[derive(Debug, Default, Clone)] pub struct Constants { pub store_root: PathBuf, } fn main() { let mut program = ThisProgram::new(); // Setup program.with_setup(BasicProgramSetup); // Json if program.pick_global_flag("--pretty") { program.general_renderer_name = mingling::GeneralRendererSetting::JsonPretty; } else { program.general_renderer_name = mingling::GeneralRendererSetting::Json; } // Resource let store_root = dirs::data_dir().unwrap().join("memm/"); std::fs::create_dir_all(&store_root).unwrap(); program.with_resource(Constants { store_root }); program.exec_and_exit(); } dispatcher!("prompt", CMDPromptDisplay => EntryPromptDisplay); #[chain] pub fn render_prompt(_prev: EntryPromptDisplay) { println!("{}", include_str!("../builtin/PROMPT.md")) } gen_program!();