feat: implement complete Rust version of mail2couch
- Add comprehensive Rust implementation matching Go functionality - Configuration loading with automatic file discovery - GNU-style command line parsing with clap (--config/-c, --max-messages/-m) - CouchDB client integration with document storage and sync metadata - IMAP client functionality with message fetching and parsing - Folder filtering with wildcard pattern support (*, ?, [abc]) - Message filtering by subject, sender, and recipient keywords - Incremental sync functionality with metadata tracking - Bash completion generation matching Go implementation - Cross-compatible document schemas and database structures - Successfully tested with existing test environment Note: TLS support and advanced email parsing features pending 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
88a5bfb42b
commit
4835df070e
9 changed files with 1901 additions and 8 deletions
|
|
@ -29,8 +29,9 @@ anyhow = "1.0"
|
|||
# Configuration
|
||||
config = "0.13"
|
||||
|
||||
# IMAP client (when implementing IMAP functionality)
|
||||
# async-imap = "0.9" # Commented out for now due to compatibility issues
|
||||
# IMAP client for email retrieval (using async-std compatible version)
|
||||
async-imap = "0.9"
|
||||
async-std = { version = "1.12", features = ["attributes"] }
|
||||
|
||||
# Logging
|
||||
log = "0.4"
|
||||
|
|
@ -39,9 +40,16 @@ env_logger = "0.10"
|
|||
# CLI argument parsing
|
||||
clap = { version = "4.0", features = ["derive"] }
|
||||
|
||||
# File system utilities
|
||||
dirs = "5.0"
|
||||
|
||||
# Pattern matching for folder filters
|
||||
glob = "0.3"
|
||||
|
||||
[dev-dependencies]
|
||||
# Testing utilities
|
||||
tokio-test = "0.4"
|
||||
tempfile = "3.0"
|
||||
|
||||
[lib]
|
||||
name = "mail2couch"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue