From ac8628c08c7cbbd49b7dfa0b3f06acbf958f7d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20DOUIN?= Date: Tue, 15 Mar 2022 13:55:40 +0100 Subject: [PATCH 1/4] fix flag commands (#334) --- CHANGELOG.md | 5 +++++ src/main.rs | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29fe069..e2b062d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- Flag commands [#334] + ## [0.5.9] - 2022-03-12 ### Added @@ -506,5 +510,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#324]: https://github.com/soywod/himalaya/issues/324 [#329]: https://github.com/soywod/himalaya/issues/329 [#331]: https://github.com/soywod/himalaya/issues/331 +[#334]: https://github.com/soywod/himalaya/issues/334 [#335]: https://github.com/soywod/himalaya/issues/335 [#338]: https://github.com/soywod/himalaya/issues/338 diff --git a/src/main.rs b/src/main.rs index 61c647d..66f3900 100644 --- a/src/main.rs +++ b/src/main.rs @@ -288,14 +288,14 @@ fn main() -> Result<()> { ); } Some(msg_args::Cmd::Flag(m)) => match m { - Some(flag_args::Cmd::Set(seq_range, flags)) => { - return flag_handlers::set(seq_range, mbox, &flags, &mut printer, backend); + Some(flag_args::Cmd::Set(seq_range, ref flags)) => { + return flag_handlers::set(seq_range, flags, mbox, &mut printer, backend); } - Some(flag_args::Cmd::Add(seq_range, flags)) => { - return flag_handlers::add(seq_range, mbox, &flags, &mut printer, backend); + Some(flag_args::Cmd::Add(seq_range, ref flags)) => { + return flag_handlers::add(seq_range, flags, mbox, &mut printer, backend); } - Some(flag_args::Cmd::Remove(seq_range, flags)) => { - return flag_handlers::remove(seq_range, mbox, &flags, &mut printer, backend); + Some(flag_args::Cmd::Remove(seq_range, ref flags)) => { + return flag_handlers::remove(seq_range, flags, mbox, &mut printer, backend); } _ => (), }, From b2cffd22f19d8de1c38c8716f99b11d7115a86f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20DOUIN?= Date: Wed, 16 Mar 2022 09:57:24 +0100 Subject: [PATCH 2/4] use cargo workspace feature (#340) For now, everything has been moved as it is in the "cli" workspace. The next step is to separate the "lib" from the "cli". --- .gitignore | 3 - Cargo.lock | 333 ++++++++---------- Cargo.toml | 60 +--- cli/Cargo.toml | 58 +++ {src => cli/src}/backends/backend.rs | 0 {src => cli/src}/backends/id_mapper.rs | 0 {src => cli/src}/backends/imap/imap_args.rs | 0 .../src}/backends/imap/imap_backend.rs | 0 .../src}/backends/imap/imap_envelope.rs | 0 {src => cli/src}/backends/imap/imap_flag.rs | 0 .../src}/backends/imap/imap_handlers.rs | 0 {src => cli/src}/backends/imap/imap_mbox.rs | 0 .../src}/backends/imap/imap_mbox_attr.rs | 0 .../src}/backends/imap/msg_sort_criterion.rs | 0 .../src}/backends/maildir/maildir_backend.rs | 0 .../src}/backends/maildir/maildir_envelope.rs | 0 .../src}/backends/maildir/maildir_flag.rs | 0 .../src}/backends/maildir/maildir_mbox.rs | 0 .../src}/backends/notmuch/notmuch_backend.rs | 0 .../src}/backends/notmuch/notmuch_envelope.rs | 0 .../src}/backends/notmuch/notmuch_mbox.rs | 0 {src => cli/src}/compl/compl_args.rs | 0 {src => cli/src}/compl/compl_handlers.rs | 0 {src => cli/src}/compl/mod.rs | 0 {src => cli/src}/config/account.rs | 0 {src => cli/src}/config/account_args.rs | 0 {src => cli/src}/config/account_config.rs | 0 {src => cli/src}/config/account_handlers.rs | 0 {src => cli/src}/config/config_args.rs | 0 .../config/deserialized_account_config.rs | 0 .../src}/config/deserialized_config.rs | 0 {src => cli/src}/config/format.rs | 0 {src => cli/src}/config/hooks.rs | 0 {src => cli/src}/lib.rs | 0 {src => cli/src}/main.rs | 0 {src => cli/src}/mbox/mbox.rs | 0 {src => cli/src}/mbox/mbox_args.rs | 0 {src => cli/src}/mbox/mbox_handlers.rs | 0 {src => cli/src}/msg/addr_entity.rs | 0 {src => cli/src}/msg/envelope.rs | 0 {src => cli/src}/msg/flag_args.rs | 0 {src => cli/src}/msg/flag_handlers.rs | 0 {src => cli/src}/msg/msg_args.rs | 0 {src => cli/src}/msg/msg_entity.rs | 0 {src => cli/src}/msg/msg_handlers.rs | 0 {src => cli/src}/msg/msg_utils.rs | 0 {src => cli/src}/msg/parts_entity.rs | 0 {src => cli/src}/msg/tpl_args.rs | 0 {src => cli/src}/msg/tpl_handlers.rs | 0 {src => cli/src}/output/mod.rs | 0 {src => cli/src}/output/output_args.rs | 0 {src => cli/src}/output/output_entity.rs | 0 {src => cli/src}/output/output_utils.rs | 0 {src => cli/src}/output/print.rs | 0 {src => cli/src}/output/print_table.rs | 0 {src => cli/src}/output/printer_service.rs | 0 {src => cli/src}/smtp/mod.rs | 0 {src => cli/src}/smtp/smtp_service.rs | 0 {src => cli/src}/ui/choice.rs | 0 {src => cli/src}/ui/editor.rs | 0 {src => cli/src}/ui/mod.rs | 0 {src => cli/src}/ui/table.rs | 0 {src => cli/src}/ui/table_arg.rs | 0 flake.nix | 9 +- lib/Cargo.toml | 6 + lib/src/lib.rs | 8 + vim/doc/.gitignore | 1 + 67 files changed, 226 insertions(+), 252 deletions(-) create mode 100644 cli/Cargo.toml rename {src => cli/src}/backends/backend.rs (100%) rename {src => cli/src}/backends/id_mapper.rs (100%) rename {src => cli/src}/backends/imap/imap_args.rs (100%) rename {src => cli/src}/backends/imap/imap_backend.rs (100%) rename {src => cli/src}/backends/imap/imap_envelope.rs (100%) rename {src => cli/src}/backends/imap/imap_flag.rs (100%) rename {src => cli/src}/backends/imap/imap_handlers.rs (100%) rename {src => cli/src}/backends/imap/imap_mbox.rs (100%) rename {src => cli/src}/backends/imap/imap_mbox_attr.rs (100%) rename {src => cli/src}/backends/imap/msg_sort_criterion.rs (100%) rename {src => cli/src}/backends/maildir/maildir_backend.rs (100%) rename {src => cli/src}/backends/maildir/maildir_envelope.rs (100%) rename {src => cli/src}/backends/maildir/maildir_flag.rs (100%) rename {src => cli/src}/backends/maildir/maildir_mbox.rs (100%) rename {src => cli/src}/backends/notmuch/notmuch_backend.rs (100%) rename {src => cli/src}/backends/notmuch/notmuch_envelope.rs (100%) rename {src => cli/src}/backends/notmuch/notmuch_mbox.rs (100%) rename {src => cli/src}/compl/compl_args.rs (100%) rename {src => cli/src}/compl/compl_handlers.rs (100%) rename {src => cli/src}/compl/mod.rs (100%) rename {src => cli/src}/config/account.rs (100%) rename {src => cli/src}/config/account_args.rs (100%) rename {src => cli/src}/config/account_config.rs (100%) rename {src => cli/src}/config/account_handlers.rs (100%) rename {src => cli/src}/config/config_args.rs (100%) rename {src => cli/src}/config/deserialized_account_config.rs (100%) rename {src => cli/src}/config/deserialized_config.rs (100%) rename {src => cli/src}/config/format.rs (100%) rename {src => cli/src}/config/hooks.rs (100%) rename {src => cli/src}/lib.rs (100%) rename {src => cli/src}/main.rs (100%) rename {src => cli/src}/mbox/mbox.rs (100%) rename {src => cli/src}/mbox/mbox_args.rs (100%) rename {src => cli/src}/mbox/mbox_handlers.rs (100%) rename {src => cli/src}/msg/addr_entity.rs (100%) rename {src => cli/src}/msg/envelope.rs (100%) rename {src => cli/src}/msg/flag_args.rs (100%) rename {src => cli/src}/msg/flag_handlers.rs (100%) rename {src => cli/src}/msg/msg_args.rs (100%) rename {src => cli/src}/msg/msg_entity.rs (100%) rename {src => cli/src}/msg/msg_handlers.rs (100%) rename {src => cli/src}/msg/msg_utils.rs (100%) rename {src => cli/src}/msg/parts_entity.rs (100%) rename {src => cli/src}/msg/tpl_args.rs (100%) rename {src => cli/src}/msg/tpl_handlers.rs (100%) rename {src => cli/src}/output/mod.rs (100%) rename {src => cli/src}/output/output_args.rs (100%) rename {src => cli/src}/output/output_entity.rs (100%) rename {src => cli/src}/output/output_utils.rs (100%) rename {src => cli/src}/output/print.rs (100%) rename {src => cli/src}/output/print_table.rs (100%) rename {src => cli/src}/output/printer_service.rs (100%) rename {src => cli/src}/smtp/mod.rs (100%) rename {src => cli/src}/smtp/smtp_service.rs (100%) rename {src => cli/src}/ui/choice.rs (100%) rename {src => cli/src}/ui/editor.rs (100%) rename {src => cli/src}/ui/mod.rs (100%) rename {src => cli/src}/ui/table.rs (100%) rename {src => cli/src}/ui/table_arg.rs (100%) create mode 100644 lib/Cargo.toml create mode 100644 lib/src/lib.rs create mode 100644 vim/doc/.gitignore diff --git a/.gitignore b/.gitignore index 5b53bdd..2d69402 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,3 @@ # Direnv /.envrc /.direnv - -# Vim plugin doc tags file -/vim/doc/tags diff --git a/Cargo.lock b/Cargo.lock index 171ec19..4eb302d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,33 +13,32 @@ dependencies = [ [[package]] name = "ammonia" -version = "3.1.2" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35" +checksum = "ea9f21d23d82bae9d33c21080572af1fa749788e68234b5d8fa5e39d3e0783ed" dependencies = [ "html5ever", "lazy_static", "maplit", "markup5ever_rcdom", - "matches", "tendril", "url", ] [[package]] name = "ansi_term" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ "winapi", ] [[package]] name = "anyhow" -version = "1.0.44" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" [[package]] name = "atty" @@ -54,18 +53,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -dependencies = [ - "byteorder", -] +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" @@ -81,9 +71,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitvec" -version = "0.19.5" +version = "0.19.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" +checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33" dependencies = [ "funty", "radium", @@ -97,17 +87,11 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - [[package]] name = "cc" -version = "1.0.71" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" [[package]] name = "cfg-if" @@ -123,11 +107,11 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "charset" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f426e64df1c3de26cbf44593c6ffff5dbfd43bbf9de0d075058558126b3fc73" +checksum = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" dependencies = [ - "base64 0.10.1", + "base64", "encoding_rs", ] @@ -146,9 +130,9 @@ dependencies = [ [[package]] name = "clap" -version = "2.33.3" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", @@ -175,9 +159,9 @@ checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8" [[package]] name = "core-foundation" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -224,6 +208,12 @@ dependencies = [ "syn", ] +[[package]] +name = "data-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" + [[package]] name = "dirs-next" version = "2.0.0" @@ -247,9 +237,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.29" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746" +checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" dependencies = [ "cfg-if 1.0.0", ] @@ -278,9 +268,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" dependencies = [ "instant", ] @@ -351,9 +341,9 @@ checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" [[package]] name = "futf" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" dependencies = [ "mac", "new_debug_unreachable", @@ -361,29 +351,28 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.17" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" [[package]] name = "futures-io" -version = "0.3.17" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" +checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" [[package]] name = "futures-task" -version = "0.3.17" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" [[package]] name = "futures-util" -version = "0.3.17" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" dependencies = [ - "autocfg", "futures-core", "futures-io", "futures-task", @@ -395,9 +384,9 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4addc164932852d066774c405dbbdb7914742d2b39e39e1a7ca949c856d054d1" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" dependencies = [ "libc", "winapi", @@ -416,9 +405,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" dependencies = [ "cfg-if 1.0.0", "libc", @@ -476,6 +465,10 @@ dependencies = [ "uuid", ] +[[package]] +name = "himalaya-lib" +version = "0.1.0" + [[package]] name = "hostname" version = "0.3.1" @@ -512,9 +505,9 @@ dependencies = [ [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "humantime" @@ -545,7 +538,7 @@ version = "3.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b26b6f9b2c28b6aa7fabf623e75a8b6bd382ee0951d0e052c1d32c887150fb67" dependencies = [ - "base64 0.13.0", + "base64", "bufstream", "chrono", "imap-proto", @@ -566,9 +559,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" dependencies = [ "autocfg", "hashbrown", @@ -585,9 +578,9 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.8" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" [[package]] name = "lazy_static" @@ -601,7 +594,7 @@ version = "0.10.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d8da8f34d086b081c9cc3b57d3bb3b51d16fc06b5c848a188e2f14d58ac2a5" dependencies = [ - "base64 0.13.0", + "base64", "fastrand", "futures-util", "hostname", @@ -609,7 +602,7 @@ dependencies = [ "idna", "mime", "native-tls", - "nom 7.1.0", + "nom 7.1.1", "once_cell", "quoted_printable", "regex", @@ -618,9 +611,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.106" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a60553f9a9e039a333b4e9b20573b9e9b9c0bb3a11e201ccc48ef4283456d673" +checksum = "ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09" [[package]] name = "lock_api" @@ -633,9 +626,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -667,12 +660,12 @@ dependencies = [ [[package]] name = "mailparse" -version = "0.13.6" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee6e1ca1c8396da58f8128176f6980dd57bec84c8670a479519d3655f2d6734" +checksum = "8cae768a50835557749599277fc59f7c728118724eb34185e8feb633ef266a32" dependencies = [ - "base64 0.13.0", "charset", + "data-encoding", "quoted_printable", ] @@ -800,13 +793,12 @@ dependencies = [ [[package]] name = "nom" -version = "7.1.0" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" dependencies = [ "memchr 2.4.1", "minimal-lexical", - "version_check", ] [[package]] @@ -840,15 +832,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" [[package]] name = "openssl" -version = "0.10.37" +version = "0.10.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc6b9e4403633698352880b22cbe2f0e45dd0177f6fabe4585536e56a3e4f75" +checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -860,15 +852,15 @@ dependencies = [ [[package]] name = "openssl-probe" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.68" +version = "0.9.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c571f25d3f66dd427e417cebf73dbe2361d6125cf6e3a70d143fdf97c9f5150" +checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" dependencies = [ "autocfg", "cc", @@ -894,7 +886,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.5", + "lock_api 0.4.6", "parking_lot_core 0.8.5", ] @@ -921,7 +913,7 @@ dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall 0.2.10", + "redox_syscall 0.2.11", "smallvec", "winapi", ] @@ -948,7 +940,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_shared", + "phf_shared 0.8.0", ] [[package]] @@ -958,7 +950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" dependencies = [ "phf_generator", - "phf_shared", + "phf_shared 0.8.0", ] [[package]] @@ -967,8 +959,8 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" dependencies = [ - "phf_shared", - "rand 0.7.3", + "phf_shared 0.8.0", + "rand", ] [[package]] @@ -981,10 +973,19 @@ dependencies = [ ] [[package]] -name = "pin-project-lite" -version = "0.2.7" +name = "phf_shared" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" [[package]] name = "pin-utils" @@ -994,15 +995,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.22" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" +checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" [[package]] name = "ppv-lite86" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "precomputed-hash" @@ -1012,27 +1013,27 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "proc-macro2" -version = "1.0.32" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" dependencies = [ "unicode-xid", ] [[package]] name = "quote" -version = "1.0.10" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" dependencies = [ "proc-macro2", ] [[package]] name = "quoted_printable" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1238256b09923649ec89b08104c4dfe9f6cb2fea734a5db5384e44916d59e9c5" +checksum = "3fee2dce59f7a43418e3382c766554c614e06a552d53a8f07ef499ea4b332c0f" [[package]] name = "radium" @@ -1048,24 +1049,12 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ "getrandom 0.1.16", "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", + "rand_chacha", + "rand_core", + "rand_hc", "rand_pcg", ] -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.3", - "rand_hc 0.3.1", -] - [[package]] name = "rand_chacha" version = "0.2.2" @@ -1073,17 +1062,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" dependencies = [ "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.3", + "rand_core", ] [[package]] @@ -1095,31 +1074,13 @@ dependencies = [ "getrandom 0.1.16", ] -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom 0.2.3", -] - [[package]] name = "rand_hc" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", + "rand_core", ] [[package]] @@ -1128,7 +1089,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" dependencies = [ - "rand_core 0.5.1", + "rand_core", ] [[package]] @@ -1139,9 +1100,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" [[package]] name = "redox_syscall" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c" dependencies = [ "bitflags", ] @@ -1152,15 +1113,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" dependencies = [ - "getrandom 0.2.3", - "redox_syscall 0.2.10", + "getrandom 0.2.5", + "redox_syscall 0.2.11", ] [[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ "aho-corasick", "memchr 2.4.1", @@ -1188,16 +1149,16 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87ecf2ba387f446155e26796aabb727e9ae1427dd13ac9cc21773a3fbda19d77" dependencies = [ - "base64 0.13.0", + "base64", "charset", "quoted_printable", ] [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" [[package]] name = "schannel" @@ -1217,9 +1178,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "security-framework" -version = "2.4.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" +checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" dependencies = [ "bitflags", "core-foundation", @@ -1230,9 +1191,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.4.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" dependencies = [ "core-foundation-sys", "libc", @@ -1240,18 +1201,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -1260,9 +1221,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" dependencies = [ "itoa", "ryu", @@ -1280,9 +1241,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" @@ -1292,20 +1253,20 @@ checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" [[package]] name = "smallvec" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" +checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "string_cache" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923f0f39b6267d37d23ce71ae7235602134b250ace715dd2c90421998ddac0c6" +checksum = "33994d0838dc2d152d17a62adf608a869b5e846b65b389af7f3dbc1de45c5b26" dependencies = [ "lazy_static", "new_debug_unreachable", "parking_lot 0.11.2", - "phf_shared", + "phf_shared 0.10.0", "precomputed-hash", "serde", ] @@ -1317,7 +1278,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" dependencies = [ "phf_generator", - "phf_shared", + "phf_shared 0.8.0", "proc-macro2", "quote", ] @@ -1336,9 +1297,9 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" [[package]] name = "syn" -version = "1.0.81" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" +checksum = "ebd69e719f31e88618baa1eaa6ee2de5c9a1c004f1e9ecdb58e8352a13f20a01" dependencies = [ "proc-macro2", "quote", @@ -1353,14 +1314,14 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ "cfg-if 1.0.0", + "fastrand", "libc", - "rand 0.8.4", - "redox_syscall 0.2.10", + "redox_syscall 0.2.11", "remove_dir_all", "winapi", ] @@ -1378,9 +1339,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" dependencies = [ "winapi-util", ] @@ -1417,9 +1378,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -1509,7 +1470,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.3", + "getrandom 0.2.5", ] [[package]] @@ -1520,9 +1481,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "wasi" diff --git a/Cargo.toml b/Cargo.toml index c4010d9..2f84d20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,58 +1,2 @@ -[package] -name = "himalaya" -description = "Command-line interface for email management" -version = "0.5.9" -authors = ["soywod "] -edition = "2018" -license-file = "LICENSE" -readme = "README.md" -categories = ["command-line-interface", "command-line-utilities", "email"] -keywords = ["cli", "mail", "email", "client", "imap"] -homepage = "https://github.com/soywod/himalaya/wiki" -documentation = "https://github.com/soywod/himalaya/wiki" -repository = "https://github.com/soywod/himalaya" - -[package.metadata.deb] -priority = "optional" -section = "mail" - -[features] -imap-backend = ["imap", "imap-proto"] -maildir-backend = ["maildir", "md5"] -notmuch-backend = ["notmuch", "maildir-backend"] -default = ["imap-backend", "maildir-backend"] - -[dependencies] -ammonia = "3.1.2" -anyhow = "1.0.44" -atty = "0.2.14" -chrono = "0.4.19" -clap = { version = "2.33.3", default-features = false, features = ["suggestions", "color"] } -convert_case = "0.5.0" -env_logger = "0.8.3" -erased-serde = "0.3.18" -html-escape = "0.2.9" -lettre = { version = "0.10.0-rc.1", features = ["serde"] } -log = "0.4.14" -mailparse = "0.13.6" -native-tls = "0.2.8" -regex = "1.5.4" -rfc2047-decoder = "0.1.2" -serde = { version = "1.0.118", features = ["derive"] } -serde_json = "1.0.61" -shellexpand = "2.1.0" -termcolor = "1.1" -terminal_size = "0.1.15" -toml = "0.5.8" -tree_magic = "0.2.3" -unicode-width = "0.1.7" -url = "2.2.2" -uuid = { version = "0.8", features = ["v4"] } - -# Optional dependencies: - -imap = { version = "=3.0.0-alpha.4", optional = true } -imap-proto = { version = "0.14.3", optional = true } -maildir = { version = "0.6.0", optional = true } -md5 = { version = "0.7.0", optional = true } -notmuch = { version = "0.7.1", optional = true } +[workspace] +members = ["lib", "cli"] \ No newline at end of file diff --git a/cli/Cargo.toml b/cli/Cargo.toml new file mode 100644 index 0000000..c4010d9 --- /dev/null +++ b/cli/Cargo.toml @@ -0,0 +1,58 @@ +[package] +name = "himalaya" +description = "Command-line interface for email management" +version = "0.5.9" +authors = ["soywod "] +edition = "2018" +license-file = "LICENSE" +readme = "README.md" +categories = ["command-line-interface", "command-line-utilities", "email"] +keywords = ["cli", "mail", "email", "client", "imap"] +homepage = "https://github.com/soywod/himalaya/wiki" +documentation = "https://github.com/soywod/himalaya/wiki" +repository = "https://github.com/soywod/himalaya" + +[package.metadata.deb] +priority = "optional" +section = "mail" + +[features] +imap-backend = ["imap", "imap-proto"] +maildir-backend = ["maildir", "md5"] +notmuch-backend = ["notmuch", "maildir-backend"] +default = ["imap-backend", "maildir-backend"] + +[dependencies] +ammonia = "3.1.2" +anyhow = "1.0.44" +atty = "0.2.14" +chrono = "0.4.19" +clap = { version = "2.33.3", default-features = false, features = ["suggestions", "color"] } +convert_case = "0.5.0" +env_logger = "0.8.3" +erased-serde = "0.3.18" +html-escape = "0.2.9" +lettre = { version = "0.10.0-rc.1", features = ["serde"] } +log = "0.4.14" +mailparse = "0.13.6" +native-tls = "0.2.8" +regex = "1.5.4" +rfc2047-decoder = "0.1.2" +serde = { version = "1.0.118", features = ["derive"] } +serde_json = "1.0.61" +shellexpand = "2.1.0" +termcolor = "1.1" +terminal_size = "0.1.15" +toml = "0.5.8" +tree_magic = "0.2.3" +unicode-width = "0.1.7" +url = "2.2.2" +uuid = { version = "0.8", features = ["v4"] } + +# Optional dependencies: + +imap = { version = "=3.0.0-alpha.4", optional = true } +imap-proto = { version = "0.14.3", optional = true } +maildir = { version = "0.6.0", optional = true } +md5 = { version = "0.7.0", optional = true } +notmuch = { version = "0.7.1", optional = true } diff --git a/src/backends/backend.rs b/cli/src/backends/backend.rs similarity index 100% rename from src/backends/backend.rs rename to cli/src/backends/backend.rs diff --git a/src/backends/id_mapper.rs b/cli/src/backends/id_mapper.rs similarity index 100% rename from src/backends/id_mapper.rs rename to cli/src/backends/id_mapper.rs diff --git a/src/backends/imap/imap_args.rs b/cli/src/backends/imap/imap_args.rs similarity index 100% rename from src/backends/imap/imap_args.rs rename to cli/src/backends/imap/imap_args.rs diff --git a/src/backends/imap/imap_backend.rs b/cli/src/backends/imap/imap_backend.rs similarity index 100% rename from src/backends/imap/imap_backend.rs rename to cli/src/backends/imap/imap_backend.rs diff --git a/src/backends/imap/imap_envelope.rs b/cli/src/backends/imap/imap_envelope.rs similarity index 100% rename from src/backends/imap/imap_envelope.rs rename to cli/src/backends/imap/imap_envelope.rs diff --git a/src/backends/imap/imap_flag.rs b/cli/src/backends/imap/imap_flag.rs similarity index 100% rename from src/backends/imap/imap_flag.rs rename to cli/src/backends/imap/imap_flag.rs diff --git a/src/backends/imap/imap_handlers.rs b/cli/src/backends/imap/imap_handlers.rs similarity index 100% rename from src/backends/imap/imap_handlers.rs rename to cli/src/backends/imap/imap_handlers.rs diff --git a/src/backends/imap/imap_mbox.rs b/cli/src/backends/imap/imap_mbox.rs similarity index 100% rename from src/backends/imap/imap_mbox.rs rename to cli/src/backends/imap/imap_mbox.rs diff --git a/src/backends/imap/imap_mbox_attr.rs b/cli/src/backends/imap/imap_mbox_attr.rs similarity index 100% rename from src/backends/imap/imap_mbox_attr.rs rename to cli/src/backends/imap/imap_mbox_attr.rs diff --git a/src/backends/imap/msg_sort_criterion.rs b/cli/src/backends/imap/msg_sort_criterion.rs similarity index 100% rename from src/backends/imap/msg_sort_criterion.rs rename to cli/src/backends/imap/msg_sort_criterion.rs diff --git a/src/backends/maildir/maildir_backend.rs b/cli/src/backends/maildir/maildir_backend.rs similarity index 100% rename from src/backends/maildir/maildir_backend.rs rename to cli/src/backends/maildir/maildir_backend.rs diff --git a/src/backends/maildir/maildir_envelope.rs b/cli/src/backends/maildir/maildir_envelope.rs similarity index 100% rename from src/backends/maildir/maildir_envelope.rs rename to cli/src/backends/maildir/maildir_envelope.rs diff --git a/src/backends/maildir/maildir_flag.rs b/cli/src/backends/maildir/maildir_flag.rs similarity index 100% rename from src/backends/maildir/maildir_flag.rs rename to cli/src/backends/maildir/maildir_flag.rs diff --git a/src/backends/maildir/maildir_mbox.rs b/cli/src/backends/maildir/maildir_mbox.rs similarity index 100% rename from src/backends/maildir/maildir_mbox.rs rename to cli/src/backends/maildir/maildir_mbox.rs diff --git a/src/backends/notmuch/notmuch_backend.rs b/cli/src/backends/notmuch/notmuch_backend.rs similarity index 100% rename from src/backends/notmuch/notmuch_backend.rs rename to cli/src/backends/notmuch/notmuch_backend.rs diff --git a/src/backends/notmuch/notmuch_envelope.rs b/cli/src/backends/notmuch/notmuch_envelope.rs similarity index 100% rename from src/backends/notmuch/notmuch_envelope.rs rename to cli/src/backends/notmuch/notmuch_envelope.rs diff --git a/src/backends/notmuch/notmuch_mbox.rs b/cli/src/backends/notmuch/notmuch_mbox.rs similarity index 100% rename from src/backends/notmuch/notmuch_mbox.rs rename to cli/src/backends/notmuch/notmuch_mbox.rs diff --git a/src/compl/compl_args.rs b/cli/src/compl/compl_args.rs similarity index 100% rename from src/compl/compl_args.rs rename to cli/src/compl/compl_args.rs diff --git a/src/compl/compl_handlers.rs b/cli/src/compl/compl_handlers.rs similarity index 100% rename from src/compl/compl_handlers.rs rename to cli/src/compl/compl_handlers.rs diff --git a/src/compl/mod.rs b/cli/src/compl/mod.rs similarity index 100% rename from src/compl/mod.rs rename to cli/src/compl/mod.rs diff --git a/src/config/account.rs b/cli/src/config/account.rs similarity index 100% rename from src/config/account.rs rename to cli/src/config/account.rs diff --git a/src/config/account_args.rs b/cli/src/config/account_args.rs similarity index 100% rename from src/config/account_args.rs rename to cli/src/config/account_args.rs diff --git a/src/config/account_config.rs b/cli/src/config/account_config.rs similarity index 100% rename from src/config/account_config.rs rename to cli/src/config/account_config.rs diff --git a/src/config/account_handlers.rs b/cli/src/config/account_handlers.rs similarity index 100% rename from src/config/account_handlers.rs rename to cli/src/config/account_handlers.rs diff --git a/src/config/config_args.rs b/cli/src/config/config_args.rs similarity index 100% rename from src/config/config_args.rs rename to cli/src/config/config_args.rs diff --git a/src/config/deserialized_account_config.rs b/cli/src/config/deserialized_account_config.rs similarity index 100% rename from src/config/deserialized_account_config.rs rename to cli/src/config/deserialized_account_config.rs diff --git a/src/config/deserialized_config.rs b/cli/src/config/deserialized_config.rs similarity index 100% rename from src/config/deserialized_config.rs rename to cli/src/config/deserialized_config.rs diff --git a/src/config/format.rs b/cli/src/config/format.rs similarity index 100% rename from src/config/format.rs rename to cli/src/config/format.rs diff --git a/src/config/hooks.rs b/cli/src/config/hooks.rs similarity index 100% rename from src/config/hooks.rs rename to cli/src/config/hooks.rs diff --git a/src/lib.rs b/cli/src/lib.rs similarity index 100% rename from src/lib.rs rename to cli/src/lib.rs diff --git a/src/main.rs b/cli/src/main.rs similarity index 100% rename from src/main.rs rename to cli/src/main.rs diff --git a/src/mbox/mbox.rs b/cli/src/mbox/mbox.rs similarity index 100% rename from src/mbox/mbox.rs rename to cli/src/mbox/mbox.rs diff --git a/src/mbox/mbox_args.rs b/cli/src/mbox/mbox_args.rs similarity index 100% rename from src/mbox/mbox_args.rs rename to cli/src/mbox/mbox_args.rs diff --git a/src/mbox/mbox_handlers.rs b/cli/src/mbox/mbox_handlers.rs similarity index 100% rename from src/mbox/mbox_handlers.rs rename to cli/src/mbox/mbox_handlers.rs diff --git a/src/msg/addr_entity.rs b/cli/src/msg/addr_entity.rs similarity index 100% rename from src/msg/addr_entity.rs rename to cli/src/msg/addr_entity.rs diff --git a/src/msg/envelope.rs b/cli/src/msg/envelope.rs similarity index 100% rename from src/msg/envelope.rs rename to cli/src/msg/envelope.rs diff --git a/src/msg/flag_args.rs b/cli/src/msg/flag_args.rs similarity index 100% rename from src/msg/flag_args.rs rename to cli/src/msg/flag_args.rs diff --git a/src/msg/flag_handlers.rs b/cli/src/msg/flag_handlers.rs similarity index 100% rename from src/msg/flag_handlers.rs rename to cli/src/msg/flag_handlers.rs diff --git a/src/msg/msg_args.rs b/cli/src/msg/msg_args.rs similarity index 100% rename from src/msg/msg_args.rs rename to cli/src/msg/msg_args.rs diff --git a/src/msg/msg_entity.rs b/cli/src/msg/msg_entity.rs similarity index 100% rename from src/msg/msg_entity.rs rename to cli/src/msg/msg_entity.rs diff --git a/src/msg/msg_handlers.rs b/cli/src/msg/msg_handlers.rs similarity index 100% rename from src/msg/msg_handlers.rs rename to cli/src/msg/msg_handlers.rs diff --git a/src/msg/msg_utils.rs b/cli/src/msg/msg_utils.rs similarity index 100% rename from src/msg/msg_utils.rs rename to cli/src/msg/msg_utils.rs diff --git a/src/msg/parts_entity.rs b/cli/src/msg/parts_entity.rs similarity index 100% rename from src/msg/parts_entity.rs rename to cli/src/msg/parts_entity.rs diff --git a/src/msg/tpl_args.rs b/cli/src/msg/tpl_args.rs similarity index 100% rename from src/msg/tpl_args.rs rename to cli/src/msg/tpl_args.rs diff --git a/src/msg/tpl_handlers.rs b/cli/src/msg/tpl_handlers.rs similarity index 100% rename from src/msg/tpl_handlers.rs rename to cli/src/msg/tpl_handlers.rs diff --git a/src/output/mod.rs b/cli/src/output/mod.rs similarity index 100% rename from src/output/mod.rs rename to cli/src/output/mod.rs diff --git a/src/output/output_args.rs b/cli/src/output/output_args.rs similarity index 100% rename from src/output/output_args.rs rename to cli/src/output/output_args.rs diff --git a/src/output/output_entity.rs b/cli/src/output/output_entity.rs similarity index 100% rename from src/output/output_entity.rs rename to cli/src/output/output_entity.rs diff --git a/src/output/output_utils.rs b/cli/src/output/output_utils.rs similarity index 100% rename from src/output/output_utils.rs rename to cli/src/output/output_utils.rs diff --git a/src/output/print.rs b/cli/src/output/print.rs similarity index 100% rename from src/output/print.rs rename to cli/src/output/print.rs diff --git a/src/output/print_table.rs b/cli/src/output/print_table.rs similarity index 100% rename from src/output/print_table.rs rename to cli/src/output/print_table.rs diff --git a/src/output/printer_service.rs b/cli/src/output/printer_service.rs similarity index 100% rename from src/output/printer_service.rs rename to cli/src/output/printer_service.rs diff --git a/src/smtp/mod.rs b/cli/src/smtp/mod.rs similarity index 100% rename from src/smtp/mod.rs rename to cli/src/smtp/mod.rs diff --git a/src/smtp/smtp_service.rs b/cli/src/smtp/smtp_service.rs similarity index 100% rename from src/smtp/smtp_service.rs rename to cli/src/smtp/smtp_service.rs diff --git a/src/ui/choice.rs b/cli/src/ui/choice.rs similarity index 100% rename from src/ui/choice.rs rename to cli/src/ui/choice.rs diff --git a/src/ui/editor.rs b/cli/src/ui/editor.rs similarity index 100% rename from src/ui/editor.rs rename to cli/src/ui/editor.rs diff --git a/src/ui/mod.rs b/cli/src/ui/mod.rs similarity index 100% rename from src/ui/mod.rs rename to cli/src/ui/mod.rs diff --git a/src/ui/table.rs b/cli/src/ui/table.rs similarity index 100% rename from src/ui/table.rs rename to cli/src/ui/table.rs diff --git a/src/ui/table_arg.rs b/cli/src/ui/table_arg.rs similarity index 100% rename from src/ui/table_arg.rs rename to cli/src/ui/table_arg.rs diff --git a/flake.nix b/flake.nix index 596f4b2..d7c0014 100644 --- a/flake.nix +++ b/flake.nix @@ -21,21 +21,20 @@ overlays = [ rust-overlay.overlay (self: super: { - # Because rust-overlay bundles multiple rust packages into one - # derivation, specify that mega-bundle here, so that crate2nix - # will use them automatically. + # Because rust-overlay bundles multiple rust packages + # into one derivation, specify that mega-bundle here, + # so that crate2nix will use them automatically. rustc = self.rust-bin.stable.latest.default; cargo = self.rust-bin.stable.latest.default; }) ]; }; - naersk-lib = naersk.lib.${system}; in rec { # nix build defaultPackage = packages.${name}; packages = { - ${name} = naersk-lib.buildPackage { + ${name} = naersk.lib.${system}.buildPackage { pname = name; root = ./.; nativeBuildInputs = with pkgs; [ openssl.dev pkgconfig ]; diff --git a/lib/Cargo.toml b/lib/Cargo.toml new file mode 100644 index 0000000..8316d53 --- /dev/null +++ b/lib/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "himalaya-lib" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/lib/src/lib.rs b/lib/src/lib.rs new file mode 100644 index 0000000..1b4a90c --- /dev/null +++ b/lib/src/lib.rs @@ -0,0 +1,8 @@ +#[cfg(test)] +mod tests { + #[test] + fn it_works() { + let result = 2 + 2; + assert_eq!(result, 4); + } +} diff --git a/vim/doc/.gitignore b/vim/doc/.gitignore new file mode 100644 index 0000000..55cf735 --- /dev/null +++ b/vim/doc/.gitignore @@ -0,0 +1 @@ +tags \ No newline at end of file From 87fc37729ff39f6849f79d545fd8caf05cfd8f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20DOUIN?= Date: Sun, 20 Mar 2022 21:15:45 +0100 Subject: [PATCH 3/4] bump maildir version with windows support (#346) --- CHANGELOG.md | 2 ++ Cargo.lock | 4 ++-- cli/Cargo.toml | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2b062d..0a2f1a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Flag commands [#334] +- Windows build [#346] ## [0.5.9] - 2022-03-12 @@ -513,3 +514,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#334]: https://github.com/soywod/himalaya/issues/334 [#335]: https://github.com/soywod/himalaya/issues/335 [#338]: https://github.com/soywod/himalaya/issues/338 +[#346]: https://github.com/soywod/himalaya/issues/346 diff --git a/Cargo.lock b/Cargo.lock index 4eb302d..db61fe6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -650,9 +650,9 @@ checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" [[package]] name = "maildir" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c47481eb056f735997fe5248a94fe8d03816388858c990a52eb271c21b33ff3" +checksum = "f8e36818ad465a26adc92409158e147e74644f217e0fa77adec6a20c64ee45b5" dependencies = [ "gethostname", "mailparse", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index c4010d9..46d8daa 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -53,6 +53,6 @@ uuid = { version = "0.8", features = ["v4"] } imap = { version = "=3.0.0-alpha.4", optional = true } imap-proto = { version = "0.14.3", optional = true } -maildir = { version = "0.6.0", optional = true } +maildir = { version = "0.6.1", optional = true } md5 = { version = "0.7.0", optional = true } notmuch = { version = "0.7.1", optional = true } From 37572e6c234f3de2da9c288051fce346b893d945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20DOUIN?= Date: Sun, 20 Mar 2022 21:19:45 +0100 Subject: [PATCH 4/4] prepare release v0.5.10 --- CHANGELOG.md | 5 ++++- Cargo.lock | 2 +- cli/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a2f1a7..f08f0a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.10] - 2022-03-20 + ### Fixed - Flag commands [#334] @@ -362,7 +364,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Password from command [#22] - Set up README [#20] -[unreleased]: https://github.com/soywod/himalaya/compare/v0.5.9...HEAD +[unreleased]: https://github.com/soywod/himalaya/compare/v0.5.10...HEAD +[0.5.10]: https://github.com/soywod/himalaya/compare/v0.5.9...v0.5.10 [0.5.9]: https://github.com/soywod/himalaya/compare/v0.5.8...v0.5.9 [0.5.8]: https://github.com/soywod/himalaya/compare/v0.5.7...v0.5.8 [0.5.7]: https://github.com/soywod/himalaya/compare/v0.5.6...v0.5.7 diff --git a/Cargo.lock b/Cargo.lock index db61fe6..ad142eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -431,7 +431,7 @@ dependencies = [ [[package]] name = "himalaya" -version = "0.5.9" +version = "0.5.10" dependencies = [ "ammonia", "anyhow", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 46d8daa..6cda92b 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "himalaya" description = "Command-line interface for email management" -version = "0.5.9" +version = "0.5.10" authors = ["soywod "] edition = "2018" license-file = "LICENSE"