devrc 0.6.0

devrc is an easy to use task runner tool on steroids for developers
Documentation
use crate::interpreter::InterpreterKind;
use std::{env, fmt::Debug, path::PathBuf, time::Duration};

use devrc_core::logging::LogLevel;

#[derive(Debug, Clone)]
pub struct Config {
    pub current_dir: Option<PathBuf>,
    pub interpreter: InterpreterKind,
    pub log_level: LogLevel,
    pub dry_run: bool,
    pub default: Vec<String>,
    pub plugins: indexmap::IndexMap<String, PathBuf>,
    pub cache_ttl: Option<Duration>,
}

impl Default for Config {
    fn default() -> Self {
        Config {
            current_dir: env::current_dir().ok(),
            dry_run: false,
            interpreter: InterpreterKind::default(),
            log_level: LogLevel::Info,
            default: vec![],
            plugins: indexmap::IndexMap::new(),
            cache_ttl: None,
        }
    }
}

// #[derive(Debug, Clone)]
// pub struct ExecOptions {
//     pub current_dir: Option<PathBuf>,
//     pub dry_run: bool,
//     pub interpreter: Option<Interpreter>,
//     pub log_level: Option<LogLevel>,
// }

// impl Default for ExecOptions {
//     fn default() -> Self {
//         ExecOptions {
//             current_dir: env::current_dir().ok(),
//             dry_run: false,
//             interpreter: Some(Interpreter::default()),
//             log_level: Some(LogLevel::Info),
//         }
//     }
// }