diff options
Diffstat (limited to 'mingling/src/program.rs')
| -rw-r--r-- | mingling/src/program.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/mingling/src/program.rs b/mingling/src/program.rs new file mode 100644 index 0000000..e4bc3d0 --- /dev/null +++ b/mingling/src/program.rs @@ -0,0 +1,35 @@ +use crate::asset::dispatcher::Dispatcher; +use std::env; + +pub mod setup; + +mod config; +pub use config::*; + +mod flag; +pub use flag::*; + +#[derive(Default)] +pub struct Program { + pub(crate) args: Vec<String>, + pub(crate) dispatcher: Vec<Box<dyn Dispatcher>>, + + pub stdout_setting: ProgramStdoutSetting, + pub user_context: ProgramUserContext, +} + +impl Program { + /// Creates a new Program instance, initializing args from environment. + pub fn new() -> Self { + Program { + args: env::args().collect(), + dispatcher: Vec::new(), + ..Default::default() + } + } + + /// Run the command line program + pub async fn exec(self) { + todo!() + } +} |
