Commit Graph

182 Commits

Author SHA1 Message Date
Clément DOUIN b855c44508 replace xxx-folder config props by mailboxes 2022-02-25 23:30:58 +01:00
Clément DOUIN 34ab0f4fa5 fix sort command not found (#308) 2022-02-25 21:21:48 +01:00
Clément DOUIN e4aa569458 init notmuch backend 2022-02-25 20:26:50 +01:00
TornaxO7 d5a494a01d fix maildir expansion (#307)
* Applied shellexpand to maildir_dir

* change to account_config: applied shellexpand to maildir_dir

* rustfmt: removing required version, formatted project

* changing type of `maildir_dir` to `String` and adding shellexpand to
`maildir_dir`
2022-02-23 23:24:17 +01:00
Clément DOUIN b146d9b7e1 rollback rust edition (#303) 2022-02-23 11:36:38 +01:00
Clément DOUIN 158bc86cfa release v0.5.6 (#301)
* make use of mailparse::MailAddr

* move addr logic to a dedicated file

* update changelog

* add suffix to downoalded attachments with same name (#204)

* implement sort command (#34)

* introduce backends structure (#296)

* implement backend structure poc

* improve config namings

* improve account namings and structure

* rename imap vars to backend

* maildir backend (#299)

* refactor config system, preparing maildir backend

* rename deserializable by deserialized

* wrap backend in a Box

* reword backend trait methods

* merge list envelopes functions

* remove find_raw_msg from backend trait

* remove expunge fn from backend trait

* rename add_msg from backend trait

* init maildir integration tests, start impl maildir backend fns

* implement remaining methods maildir backend, refactor trait

* improve backend trait, add copy and move fns

* remove usage of Mbox in handlers

* reorganize backends folder structure

* move mbox out of domain folder

* rename mbox entities

* improve mbox structure

* remove unused files, move smtp module

* improve envelope, impl get_envelopes for maildir

* link maildir mail entry id to envelope id

* use erased-serde to make backend get_mboxes return a trait object

* remove unused mbox files

* rename Output trait

* make get_envelopes return a trait object

* remove unused impl for imap envelope

* update backend return signature with Box

* replace impl from imap::Fetch to mailparse::ParsedMail

* split flags by backends

* remove unused flags from msg

* remove remaining flags from domain

* impl maildir copy and move, improve maildir e2e tests

* set up imap backend e2e tests

* move domain/msg to msg

* repair broken tests

* fix maildir envelopes encoding issues

* add date column to maildir envelopes

* implement maildir list pagination

* improve maildir subdir path management

* add pgp and maildir features to readme

* update changelog

* bump version v0.5.6
2022-02-22 16:54:39 +01:00
Clément DOUIN 585fa77af5 release v0.5.5 (#290)
* update main screenshot readme

* add contributing file

* update changelog

* doc: remove roadmap from reame

* improve main comments

* improve arg and handler logs

* fix multiple recipients issue (#288)

* add notify-query config option (#289)

* set up end-to-end encryption (#287)

* init basic pgp encrypt/decrypt

* add small rpgp poc for (#286)

* improve decrypt parts logs

* add pgp-decrypt-cmd to config

* add pgp-encrypt-cmd to config

* init pgp signature

* improve decrypt part readability

* improve encrypt multipart, remove sign

* remove unused md5 lib

* add encrypt arg to reply and forward commands

* fix typos

* prepare v0.5.5
2022-02-08 14:50:09 +01:00
Clément DOUIN e33a9a72e9 release v0.5.4 (#285)
* replace bsd3 license by bsd4

* add attachments with save and send commands (#284)

* set up tpl save and send commands

* improve msg save and send handlers

* add vim msg#add_attachment fn

* improve vim logs

* update changelog

* add attachment keybind vim doc

* reverse range order fetch envelopes (#276)

* bump version v0.5.4
2022-02-05 00:29:57 +01:00
Clément DOUIN 3a42c937be link imap debug mode with env logger (#269) 2022-02-03 15:54:56 +01:00
Clément DOUIN 8cdeba62a1 release v0.5.2 (#282)
* doc: fix blur in list msg screenshots (#181)

* fix a typo in mbox arg (#245)

`targetted` to `targeted` 👌🏻

* make inbox, sent and drafts folder customizable (#246)

* mbox: make inbox, sent and drafts folder customizable

* msg: update send handler parameters order

* vim: fix extracting message ids from list (#247)

The current method doesn't work because the list uses a fancy line
character (`│`) as the separator, not a regular pipe character (`|`).
Matching for the first number in the line instead solves the problem and
will continue to work regardless of what separator is used.

* add new line after printing strings (#251)

* init cargo workspace (#252)

* init cargo workspaces

* nix: fix assets path

* doc: update rtp vim plugin

* vim: add error message if loading vim plugin from vim/

* init sub crates (#253)

* init sub crates

* doc: update readme

* doc: improve main readme

* doc: add links, add missing crate task

* doc: update emojis

* update cargo lock

* implement contact completion with completefunc (#250)

This allows users to define a command for contact completion with
`g:himalaya_complete_contact_cmd` and trigger it with `<C-x><C-u>` when
writing an email.

* fix clippy lints (#255)

* revert cargo workspace feature

* fix nix run (#274)

* replace cargo2nix by naersk

* add rust-analyzer and rustfmt to nix build inputs

* remove wiki from git submodules, update changelog

* fix missing range when fetch fails, add more logs (#276)

* add missing fix in changelog

* remove blank lines and spaces from plain parts (#280)

* fix watch command (#271)

* remove also tabs from text parts (#280)

* pin native-tls minor version (#278)

* improve msg sanitization (#280)

* fix mbox vim plugin telescope preview (#249)

* bump version v0.5.2

* update changelog

Co-authored-by: Austin Traver <austintraver@gmail.com>
Co-authored-by: Jason Cox <dev@jasoncarloscox.com>
Co-authored-by: Gökmen Görgen <gkmngrgn@gmail.com>
Co-authored-by: Ethiraric <ethiraric@gmail.com>
2022-02-02 02:21:35 +01:00
Clément DOUIN e154481c5b add max table width arg, refactor printer (#237)
* printer: refactor output to pass down args from cli

* msg: add missing max width arg to search cmd

* output: rename printer service, merge print with output folder

* doc: update changelog and wiki

* table: rename print fn
2021-10-24 21:02:02 +02:00
Clément DOUIN 192445d7e4 make use of termcolor crate to disable colors (#236)
* table: replace custom color by termcolor

* table: deactivate colors if not tty

* table: rename printable to print, add more comments

* table: make use of writters, fix tests

* doc: update changelog

* doc: add page to wiki
2021-10-24 00:17:12 +02:00
Alan Morgan 09d3de5e6f parse raw message as ut8 lossy (#234)
Reading a message raw uses uses utf_lossy to ensure the message can be read
even if there is invalid utf8.
2021-10-23 17:23:25 +02:00
Clément DOUIN eaa83b71ef notify cannot get body (#233)
* imap: fix notify cmd

* doc: update changelog
2021-10-23 00:46:21 +02:00
Clément DOUIN f0b2fd788d remove error when empty subject (#232)
* msg: remove error when empty subject

* doc: update changelog
2021-10-23 00:25:34 +02:00
Clément DOUIN d9272917f5 clean msg flags, merge tpl entity in msg (#231)
* merge tpl entity into msg

* change envelope subject type to cow

* msg: fix save command when raw msg comes from stdin

* msg: clean flags
2021-10-23 00:17:24 +02:00
Clément DOUIN 85f3ce8976 add mailbox handler tests (#225)
* make imap.fetch_mboxes return a Mboxes struct

* add mbox handler tests
2021-10-14 12:52:30 +02:00
Clément DOUIN 8af14734c3 improve mailbox structure (#223)
* split entities, remove manual serialization, add comments

* add mbox arg subbcmds test

* finalize mbox arg tests

* fix typos in comments

* add missing tests for entities

* rename fetch mbox imap fn
2021-10-13 20:48:42 +02:00
Clément DOUIN d21778c35e improve text parts (#221) 2021-10-11 23:04:33 +02:00
Clément DOUIN b7d068c729 improve folder struct + msg management (#217)
* make imap list and search return msg instead of fetch

* move imap logouts to main fn

* improve list command

* improve search command

* improve flags command

* improve template reply

* improve tpl forward command

* refactor tpl and msg reply/forward

* refactor copy, move and write commands

* refactor attachment command

* fix attachment part of copy and move commands

* fix send, save, read and mbox

* put back notify and watch commands

* fix msg encoding

* refactor edit choices, clean dead code

* fix attachment for write, reply and forward commands

* refactor config mod struct

* refactor project folder struct

* fix vim plugin (#215)
2021-10-10 22:58:57 +02:00
Clément DOUIN 9931658ea3 review template, write and search commands 2021-09-19 17:21:42 +02:00
Clément DOUIN 079572666a review reply command 2021-09-19 17:04:05 +02:00
Clément DOUIN 7a43bdd46e review read command 2021-09-19 16:58:10 +02:00
Clément DOUIN d706a13e5e review mailto command 2021-09-19 16:51:58 +02:00
Clément DOUIN ac75c1d37a review move command 2021-09-19 16:48:09 +02:00
Clément DOUIN c7940f72ff review mailboxes command 2021-09-19 16:42:45 +02:00
Clément DOUIN cebff51e5b review list command 2021-09-19 16:41:02 +02:00
Clément DOUIN e609fc296c review forward command 2021-09-19 16:35:52 +02:00
Clément DOUIN 65664d5405 review flag command, remove lib + dead code 2021-09-19 14:24:00 +02:00
Clément DOUIN 71818e04b4 review delete command 2021-09-19 11:36:11 +02:00
Clément DOUIN 2e27972716 review copy command 2021-09-19 11:18:17 +02:00
Clément DOUIN c155d30e54 review completion command 2021-09-19 11:04:01 +02:00
Clément DOUIN 2bcad3ff87 review attachment command 2021-09-19 10:55:15 +02:00
Clément DOUIN 474fae06ee move attachment, body and header to dedicated folders 2021-09-19 10:14:25 +02:00
Clément DOUIN cdce6c0bf2 fix tpl forward/reply, fix flag subcmd (#190) 2021-09-19 00:08:57 +02:00
Clément DOUIN e065d8d905 fix new tpl sig 2021-09-18 21:45:26 +02:00
Clément DOUIN 8e2a703e2b improve arg comments, rename arg Match to Command 2021-09-18 15:15:36 +02:00
Clément DOUIN e41a71648c rename output cli to arg 2021-09-18 00:32:46 +02:00
Clément DOUIN 94e9711c58 split input into submodules 2021-09-18 00:29:49 +02:00
Clément DOUIN 8fbbb324da merge back account with config 2021-09-17 21:55:11 +02:00
Clément DOUIN 94f7dd5b05 remove config from domain module 2021-09-17 18:30:17 +02:00
Clément DOUIN 54493540b4 improve msg arg/handlers + tpl + flag 2021-09-17 18:17:11 +02:00
Clément DOUIN bc5f9045ce improve imap and mbox arg/handler 2021-09-16 16:43:41 +02:00
Clément DOUIN 248240f52d improve entities and services from and try_from 2021-09-16 15:29:20 +02:00
Clément DOUIN 0ed1147f3d move domain stuff to domain/, improve completion 2021-09-16 01:35:31 +02:00
Clément DOUIN 223537c4ca remove ctx, turn output into a service 2021-09-15 22:47:00 +02:00
Clément DOUIN 07833c2fc7 make smtp service lazy with instance() 2021-09-14 22:49:52 +02:00
Clément DOUIN 979c6ef1c9 refactor config and account system 2021-09-14 00:34:34 +02:00
Clément DOUIN 5a9481910f turn smtp into an interfaced service 2021-09-13 15:32:01 +02:00
Clément DOUIN c619f06206 replace error-chain by anyhow (#152) 2021-09-13 11:52:20 +02:00