Manos Pitsidianakis
dc63e1f657
Minor changes
5 years ago
Manos Pitsidianakis
1e2acd3b29
melib: add complete() method to ShellExpandTrait
...
complete(force: bool) returns String path segments that when appended to
the path will form a valid location. Example:
- User types: save-attachment 1 /t
- User presses <TAB>.
- complete() returns the suggestion: "mp/"
- User sees: save-attachment 1 /tmp/
complete() uses openat() and getdents64 syscalls hoping it's faster than
using stdlib.
5 years ago
Manos Pitsidianakis
6d9f584de3
Update nix to 0.16.1
5 years ago
Manos Pitsidianakis
a9842cacee
ui: add theming support
...
Configuration flag "terminal.themes" has two default theme entries,
"dark" and "light".
This commit alters only CompactListing for theme support.
5 years ago
Manos Pitsidianakis
e07b5faf6e
melib/threads: already-exists check in threads insert
5 years ago
Manos Pitsidianakis
350fafb515
melib/thread: add attachments field to Thread
5 years ago
Manos Pitsidianakis
5e68d600b9
melib/threads: Split ThreadGroup::Group to Thread
...
Create Thread struct.
5 years ago
Manos Pitsidianakis
d9269335a1
melib/threads: rename thread hashes
...
- Rename ThreadHash to ThreadNodeHash
- Rename ThreadGroupHash to ThreadHash
5 years ago
Manos Pitsidianakis
47a69f8eb9
melib: add ThreadGroup
...
Instead of using Union/Find to gather mail that belongs in the same
e-mail thread together, add a new entity ThreadGroup that ThreadNodes
point to. ThreadGroup represents an actual Thread: A thread root
ThreadGroup::Group or a reply ThreadGroup::Node.
To make semantics more accurate:
- ThreadNode hash should be renamed to ThreadNodeHash
- ThreadGroupHash should be renamed to ThreadHash
- ThreadGroup::Group should be a struct named Thread instead
- move ThreadGroup::Node logic to ThreadNode akin to Union/Find
- rename ThreaddGroup::Group to Thread
5 years ago
Manos Pitsidianakis
1eb49efb22
melib/threads: use all References in thread building
...
WIP
5 years ago
Manos Pitsidianakis
56e3ea1548
melib/imap: refactor early error exit
5 years ago
Manos Pitsidianakis
7f8c638361
melib/imap: add mailbox creation ability
5 years ago
Manos Pitsidianakis
853fe14128
melib: fix two minor email parsing bugs
...
- windows-1250 encoding not being recognized
- spaces in Message-ID header messing up parsing '<' + msg-id + '>'
structure
5 years ago
Manos Pitsidianakis
6835968d9a
melib/datetime: convert date to utc before converting to unix epoch
5 years ago
Manos Pitsidianakis
a365a846b8
Replace StackVec with smallvec::SmallVec
...
SmallVec has a less buggy and better implementation.
5 years ago
Manos Pitsidianakis
ca7d72e732
melib: Replace String with Cow<'static, str>
5 years ago
Manos Pitsidianakis
9fcc868acd
remove chrono
5 years ago
Manos Pitsidianakis
c0ac643f05
melib: add datetime module
...
Datetime module adds POSIX time functions interface
5 years ago
Manos Pitsidianakis
6671fe926e
melib: don't treat missing end boundary as error
...
Don't treat missing end boundary as error in multipart attachments.
python3's nntplib seems to return MIME attachments with this property
5 years ago
Manos Pitsidianakis
8694278369
ui: add auto_choose_multipart_alternative
...
Choose text/html by default if text/plain is empty in
multipart/alternative attachments
This happens in some newsletters I've come upon
5 years ago
Manos Pitsidianakis
3d84f3b9ad
notmuch: remove needless clones
5 years ago
Manos Pitsidianakis
21526b5faf
melib: make Work use FnOnce closures
...
There was no need to use Fn() instead of FnOnce()
5 years ago
Manos Pitsidianakis
92826f982f
melib/attachments: add MultipartType::Related kind
5 years ago
Manos Pitsidianakis
9211913405
meli/backends: honor mailbox subscriptions in IMAP/JMAP
5 years ago
Manos Pitsidianakis
7eceef93e9
melib/backends: remove folder_operation
...
folder_operation functionalities will go to BackendFolder trait
5 years ago
Manos Pitsidianakis
9080e0fd96
melib: rename FolderConf `rename` field to alias
5 years ago
Manos Pitsidianakis
c23cc45edd
melib: fix test import not found
5 years ago
Manos Pitsidianakis
2b6f6ab42c
melib: Add BackendFolder methods, move special usage logic to backend
...
- add count() method to return (unseen, total) counts
- add is_subscribed()
- add set_special_usage() and set_is_subscribed()
concerns #8
5 years ago
Manos Pitsidianakis
8f63572584
Small refactors to avoid implicit unwrap() panics
5 years ago
Manos Pitsidianakis
0201241786
melib/backends: MailBackend::refresh() returns Result
...
Handle cases were refresh() would fail properly. Fixes a crash reported in #13
5 years ago
Manos Pitsidianakis
65efb23f14
melib/MailBackend: add refresh() method
...
Initiate refresh manually.
5 years ago
Manos Pitsidianakis
d2b4057b7b
melib/MailBackend: add connect() method
5 years ago
Manos Pitsidianakis
2e38ea11e2
melib: make MailBackend::is_online() return Result<()>
...
Return Result<()> instead of bool to indicate connection status in order
to be able to show errors to user.
5 years ago
Manos Pitsidianakis
2ed9ffb145
melib/jmap: construct session resource url from user settings
5 years ago
Manos Pitsidianakis
da8cd4e85f
Remove jmap from default features
5 years ago
Manos Pitsidianakis
14eb99f515
JMAP WIP #7
5 years ago
Manos Pitsidianakis
d44a453aed
jmap: add keyword->tag support
5 years ago
Manos Pitsidianakis
aa9a6a3128
melib: add SpecialUseMailbox::detect_usage method
5 years ago
Manos Pitsidianakis
30e9114d9c
jmap: fix warnings
5 years ago
Manos Pitsidianakis
275c9f421f
JMAP WIP #6
5 years ago
Manos Pitsidianakis
791033d2fc
melib/jmap: add byte operations
5 years ago
Manos Pitsidianakis
a41dc6c38a
JMAP WIP #5
5 years ago
Manos Pitsidianakis
1ee8ef7a05
JMAP WIP #4
5 years ago
Manos Pitsidianakis
a1efeed343
JMAP WIP #3
5 years ago
Manos Pitsidianakis
e8611cca2f
JMAP WIP #2
5 years ago
Manos Pitsidianakis
a43f6919cc
JMAP WIP
5 years ago
Manos Pitsidianakis
328b17a995
ui/CompactListing: use Segment Trees to calculate max page column width
...
Given a range of entries that occupy a page (eg [0, 50] for a page of 50
rows high) get the max entry width for this column by using maximum
range queries with segment trees.
5 years ago
Manos Pitsidianakis
d9b568cfb4
melib/envelope: decode other_headers values
5 years ago
Manos Pitsidianakis
7732b851e6
melib: fix minor header parsing errors
...
- set_subject checked if last byte was control character instead of last
character. Characters can be multi-byte, duh.
- email::parser::date didn't provide for Date values that had -0000
instead of +0000 (that's a chrono requirement/bug)
5 years ago
Manos Pitsidianakis
81c70b0136
melib: small test cosmetic fixes
5 years ago