himalaya 0.7.0

Command-line interface for email management.
Documentation
use super::THEME;
use crate::account::{
    DeserializedAccountConfig, DeserializedBaseAccountConfig, DeserializedMaildirAccountConfig,
};
use anyhow::Result;
use dialoguer::Input;
use dirs::home_dir;
use himalaya_lib::MaildirConfig;

#[cfg(feature = "maildir-backend")]
pub(crate) fn configure(base: DeserializedBaseAccountConfig) -> Result<DeserializedAccountConfig> {
    let input = if let Some(home) = home_dir() {
        Input::with_theme(&*THEME)
            .default(home.join("Mail").display().to_string())
            .with_prompt("Enter the path to your maildir")
            .interact_text()?
    } else {
        Input::with_theme(&*THEME)
            .with_prompt("Enter the path to your maildir")
            .interact_text()?
    };

    Ok(DeserializedAccountConfig::Maildir(
        DeserializedMaildirAccountConfig {
            base,
            backend: MaildirConfig {
                root_dir: input.into(),
            },
        },
    ))
}