renamed sync feature to account-sync, put wizard stuff under feature

This commit is contained in:
Clément DOUIN
2024-01-09 09:28:45 +01:00
parent 921194da5c
commit b0d7e773dc
52 changed files with 1160 additions and 358 deletions
@@ -8,7 +8,7 @@ use log::info;
use std::{fs, path::PathBuf};
use uuid::Uuid;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
use crate::{
account::arg::name::AccountNameFlag,
@@ -31,7 +31,7 @@ pub struct AttachmentDownloadCommand {
#[command(flatten)]
pub envelopes: EnvelopeIdsArgs,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -48,7 +48,7 @@ impl AttachmentDownloadCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -72,7 +72,7 @@ impl AttachmentDownloadCommand {
builder
.set_add_flags(|ctx| ctx.maildir.as_ref().and_then(AddFlagsMaildir::new));
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_peek_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -6,7 +6,7 @@ use email::message::copy::imap::CopyMessagesImap;
use email::message::copy::maildir::CopyMessagesMaildir;
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -30,7 +30,7 @@ pub struct MessageCopyCommand {
#[command(flatten)]
pub envelopes: EnvelopeIdsArgs,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -48,7 +48,7 @@ impl MessageCopyCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -70,7 +70,7 @@ impl MessageCopyCommand {
ctx.maildir.as_ref().and_then(CopyMessagesMaildir::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_copy_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -6,7 +6,7 @@ use email::{flag::add::imap::AddFlagsImap, message::move_::imap::MoveMessagesIma
use email::{flag::add::maildir::AddFlagsMaildir, message::move_::maildir::MoveMessagesMaildir};
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -32,7 +32,7 @@ pub struct MessageDeleteCommand {
#[command(flatten)]
pub envelopes: EnvelopeIdsArgs,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -49,7 +49,7 @@ impl MessageDeleteCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -74,7 +74,7 @@ impl MessageDeleteCommand {
builder
.set_add_flags(|ctx| ctx.maildir.as_ref().and_then(AddFlagsMaildir::new));
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_move_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -10,7 +10,7 @@ use email::message::send::sendmail::SendMessageSendmail;
use email::message::send::smtp::SendMessageSmtp;
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -44,7 +44,7 @@ pub struct MessageForwardCommand {
#[command(flatten)]
pub body: MessageRawBodyArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -60,7 +60,7 @@ impl MessageForwardCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -84,7 +84,7 @@ impl MessageForwardCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+5 -5
View File
@@ -12,7 +12,7 @@ use log::{debug, info};
use mail_builder::MessageBuilder;
use url::Url;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
use crate::{
account::arg::name::AccountNameFlag,
@@ -34,7 +34,7 @@ pub struct MessageMailtoCommand {
#[arg()]
pub url: Url,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -46,7 +46,7 @@ impl MessageMailtoCommand {
pub fn new(url: &str) -> Result<Self> {
Ok(Self {
url: Url::parse(url)?,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
cache: Default::default(),
account: Default::default(),
})
@@ -57,7 +57,7 @@ impl MessageMailtoCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -81,7 +81,7 @@ impl MessageMailtoCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -6,7 +6,7 @@ use email::message::move_::imap::MoveMessagesImap;
use email::message::move_::maildir::MoveMessagesMaildir;
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -30,7 +30,7 @@ pub struct MessageMoveCommand {
#[command(flatten)]
pub envelopes: EnvelopeIdsArgs,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -48,7 +48,7 @@ impl MessageMoveCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -70,7 +70,7 @@ impl MessageMoveCommand {
ctx.maildir.as_ref().and_then(MoveMessagesMaildir::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_move_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -7,7 +7,7 @@ use email::{flag::add::maildir::AddFlagsMaildir, message::peek::maildir::PeekMes
use log::info;
use mml::message::FilterParts;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -76,7 +76,7 @@ pub struct MessageReadCommand {
#[arg(conflicts_with = "no_headers")]
pub headers: Vec<String>,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -93,7 +93,7 @@ impl MessageReadCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -119,7 +119,7 @@ impl MessageReadCommand {
builder
.set_add_flags(|ctx| ctx.maildir.as_ref().and_then(AddFlagsMaildir::new));
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_peek_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -10,7 +10,7 @@ use email::message::send::sendmail::SendMessageSendmail;
use email::message::send::smtp::SendMessageSmtp;
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -47,7 +47,7 @@ pub struct MessageReplyCommand {
#[command(flatten)]
pub body: MessageRawBodyArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -62,7 +62,7 @@ impl MessageReplyCommand {
let folder = &self.folder.name;
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -86,7 +86,7 @@ impl MessageReplyCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -7,7 +7,7 @@ use email::message::add::maildir::AddMaildirMessage;
use log::info;
use std::io::{self, BufRead, IsTerminal};
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -30,7 +30,7 @@ pub struct MessageSaveCommand {
#[command(flatten)]
pub message: MessageRawArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -46,7 +46,7 @@ impl MessageSaveCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -67,7 +67,7 @@ impl MessageSaveCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -11,7 +11,7 @@ use email::message::send::smtp::SendMessageSmtp;
use log::info;
use std::io::{self, BufRead, IsTerminal};
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -31,7 +31,7 @@ pub struct MessageSendCommand {
#[command(flatten)]
pub message: MessageRawArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -45,7 +45,7 @@ impl MessageSendCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -75,7 +75,7 @@ impl MessageSendCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -11,7 +11,7 @@ use email::message::send::smtp::SendMessageSmtp;
use email::message::Message;
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -37,7 +37,7 @@ pub struct MessageWriteCommand {
#[command(flatten)]
pub body: MessageRawBodyArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -51,7 +51,7 @@ impl MessageWriteCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -75,7 +75,7 @@ impl MessageWriteCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
@@ -6,7 +6,7 @@ use email::message::get::imap::GetMessagesImap;
use email::{flag::add::maildir::AddFlagsMaildir, message::peek::maildir::PeekMessagesMaildir};
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -38,7 +38,7 @@ pub struct TemplateForwardCommand {
#[command(flatten)]
pub body: MessageRawBodyArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -54,7 +54,7 @@ impl TemplateForwardCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -78,7 +78,7 @@ impl TemplateForwardCommand {
builder
.set_add_flags(|ctx| ctx.maildir.as_ref().and_then(AddFlagsMaildir::new));
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_peek_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -6,7 +6,7 @@ use email::message::get::imap::GetMessagesImap;
use email::{flag::add::maildir::AddFlagsMaildir, message::peek::maildir::PeekMessagesMaildir};
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -42,7 +42,7 @@ pub struct TemplateReplyCommand {
#[command(flatten)]
pub body: MessageRawBodyArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -59,7 +59,7 @@ impl TemplateReplyCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -83,7 +83,7 @@ impl TemplateReplyCommand {
builder
.set_add_flags(|ctx| ctx.maildir.as_ref().and_then(AddFlagsMaildir::new));
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_peek_messages(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -8,7 +8,7 @@ use log::info;
use mml::MmlCompilerBuilder;
use std::io::{self, BufRead, IsTerminal};
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -34,7 +34,7 @@ pub struct TemplateSaveCommand {
#[command(flatten)]
pub template: TemplateRawArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -50,7 +50,7 @@ impl TemplateSaveCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -71,7 +71,7 @@ impl TemplateSaveCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+4 -4
View File
@@ -12,7 +12,7 @@ use log::info;
use mml::MmlCompilerBuilder;
use std::io::{self, BufRead, IsTerminal};
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
#[allow(unused)]
use crate::{
@@ -34,7 +34,7 @@ pub struct TemplateSendCommand {
#[command(flatten)]
pub template: TemplateRawArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -48,7 +48,7 @@ impl TemplateSendCommand {
let (toml_account_config, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;
@@ -78,7 +78,7 @@ impl TemplateSendCommand {
ctx.maildir.as_ref().and_then(AddMaildirMessage::new)
});
}
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
Some(BackendKind::MaildirForSync) => {
builder.set_add_message(|ctx| {
ctx.maildir_for_sync
+3 -3
View File
@@ -3,7 +3,7 @@ use clap::Parser;
use email::message::Message;
use log::info;
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
use crate::cache::arg::disable::CacheDisableFlag;
use crate::{
account::arg::name::AccountNameFlag, config::TomlConfig,
@@ -23,7 +23,7 @@ pub struct TemplateWriteCommand {
#[command(flatten)]
pub body: TemplateRawBodyArg,
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
#[command(flatten)]
pub cache: CacheDisableFlag,
@@ -37,7 +37,7 @@ impl TemplateWriteCommand {
let (_, account_config) = config.clone().into_account_configs(
self.account.name.as_ref().map(String::as_str),
#[cfg(feature = "sync")]
#[cfg(feature = "account-sync")]
self.cache.disable,
)?;