Commit graph

505 commits

Author SHA1 Message Date
Gregory Mullen
2a0961701c Implement basic tab completion support
Tab completion currently only works on commands. Contextual completion
will be added in the future.
2019-06-29 14:24:19 -04:00
Drew DeVault
177651bdda Move contrib -> filters 2019-06-27 09:32:46 -04:00
Stefan Rakel
59df06fe28 Reopening mailcontent file to fix #166
Because editors like vim use backupfiles and rename them to the original
name, the file handle used can point to the wrong file. Reopening the
file should fix this.
2019-06-27 09:25:27 -04:00
Daniel Lublin
963d251289 Set the required go version for this module, aerc
This is the way to declare which compiler version a module requires to build.

I read up on https://golang.org/doc/go1.12#modules
2019-06-27 09:24:20 -04:00
Drew DeVault
bf02ad30ca Fix jumping around in search 2019-06-26 20:52:34 -04:00
Drew DeVault
91a75cd98b Implement :search, :next-result, :prev-result 2019-06-26 20:50:54 -04:00
Reto Brunner
ccf5c02c38 msgview/save: Use defaultSavePath if no path is provided 2019-06-25 10:38:55 -04:00
Reto Brunner
ee242a3d0f add DefaultSavePath config 2019-06-25 10:38:52 -04:00
Daniel Lublin
61c94e54cd account-wizard: look up imap and smtp server by SRV records (#100) 2019-06-25 10:31:28 -04:00
Drew DeVault
198661bfbd worker/imap: rig up search directory handler 2019-06-24 16:31:37 -04:00
Drew DeVault
0e9c411751 worker/imap: implement search 2019-06-24 16:29:25 -04:00
Issam Maghni
b15d1e52b3 aerc-config: [viewer] should be [compose] 2019-06-23 13:52:43 -04:00
Drew DeVault
ceeb30abeb Fix Cc & Bcc handling in replies 2019-06-21 14:33:09 -04:00
Drew DeVault
63538978f3 Fix reply bindings in [view] 2019-06-19 20:07:33 -04:00
Reto Brunner
90db2e54b0 Makefile: fix -ldflags -X invocation
Aerc uses the go linker to add some variables like main.Prefix / main.ShareDir
etc. however the go linker only considers the last -ldflags invocation it seems.

This commit fixes the makefile to use only a single -ldflags invocation, which
again sets the vars as expected.
2019-06-19 15:48:13 -04:00
Noah Loomans
d1654def19 account-wizard: automatically replace imap.* with smtp.*
Many email providers use the imap sub-domain for imap and the smtp
sub-domain for smtp. FastMail is an example of this[1]. This is a small
quality-of-life improvement which automatically replaces imap.* with
smtp.* when going from the imap screen to the smtp screen in the wizard

[1]: https://www.fastmail.com/help/technical/servernamesandports.html
2019-06-18 19:40:02 -04:00
Martin Hafskjold Thoresen
53df15ae06 Insert nil check before handling prev/next message
If these are called before the store is setup, `acct.Store()` returns
`nil`, and we SEGFAULT in `MessageStore.nextPrev`.
2019-06-18 19:39:42 -04:00
Drew DeVault
74af57b6c6 Add aerc -v to print the installed version 2019-06-18 09:50:06 -04:00
Réouven Assouly
ce475e4952 commands/msgview: add open command 2019-06-17 14:52:52 -04:00
Réouven Assouly
dfe114b643 Make part encoding checks case insensitive
commands/msgview/save and commands/msgview/pipe now use case
insensitive comparisons to determine if the part is encoded as base64
or quoted-printable.
2019-06-16 11:24:42 -04:00
Aditya Mahajan
1b7790553e Ensure that flags are set properly
The current implementation has three classes of flags:
- readFlag
- delFlag
- flaggedFlag

The logic to check for them should be in parallel if branches rather
than in sequential if-else ladder.
2019-06-16 11:16:26 -04:00
Drew DeVault
ab79bc3447 Update tcell 2019-06-15 23:30:12 -04:00
Lyle Hanson
0b14d92baf Document collecting log output
Redirecting stdout writes log output to that file, but this wasn't
easily discoverable.

v2 removes changes to aerc-tutorial; I was also on the fence about that,
and agree that it isn't on-topic for the tutorial.

Addresses https://todo.sr.ht/~sircmpwn/aerc2/180
2019-06-14 10:55:55 -04:00
Drew DeVault
fd0265d917 imap: block until directory list is fully received
This fixes issues with INBOX mysteriously not being present at times
2019-06-14 10:49:31 -04:00
Reto Brunner
99c363b724 Set empty message in dirlist if no folder exist. 2019-06-14 10:42:26 -04:00
Reto Brunner
626f91c483 imap: respect the folder config option 2019-06-14 10:42:24 -04:00
Lyle Hanson
d3b5a76b4a Add uninstall target to Makefile
Also removes leftover directories if there isn't anything else in them.

https://todo.sr.ht/~sircmpwn/aerc2/179
2019-06-14 09:56:54 -04:00
Clayton Craft
e56ceb099e Support directories in path to :save
This adds new functionality to :save in the message view for specifying
directories in the path. A new flag, -p, is also added to :save for
automatically creating any directories in the path that do not exist.

If the path ends in a / (e.g. "Downloads/mail/") or if the path is an
existing directory, the part's file name is the filename from the mail
header for the part. Otherwise, it uses the last element in the path as
the filename (e.g. 'blah.jpg' is the filename if the path is
'Downloads/mail/blah.jpg')
2019-06-14 09:48:20 -04:00
Drew DeVault
61206c6ac6 Make awk filters more portable 2019-06-13 20:17:39 -04:00
Drew DeVault
408a9e7b10 Fix automatic scrolling when messages arrive/leave 2019-06-11 10:08:44 -04:00
Drew DeVault
0494c9ae9d Add :next/:prev binds for [viewer] 2019-06-11 09:36:18 -04:00
Kevin Kuehler
9746f4858c commands/msgview: Add next/prev commands
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11 09:34:48 -04:00
Kevin Kuehler
a54f4adb8f lib/ui/tab: Add Replace method
Also expose a light wrapper method in aerc.go for tab replacement

Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11 09:34:45 -04:00
Kevin Kuehler
32f970e053 Move select functionality from msglist to msgstore
Remove msglist Next and Prev commands

Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11 09:34:36 -04:00
Kevin Kuehler
d1df710328 commands/msg/archive: Work with msgviwer
Inside the generic msg command we cannot use aerc.SelectedAccount()
because the method naively assumes the current tab is an AccountView.
Use the ProvidesMessage interface instead.

Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11 09:18:51 -04:00
Drew DeVault
d22a9140cd Implement :mkdir command 2019-06-09 19:21:26 -04:00
Drew DeVault
a98824af75 Fix :new-account getopts 2019-06-09 19:14:56 -04:00
Drew DeVault
57471a0e67 Fix :copy arg handling 2019-06-09 19:14:04 -04:00
Drew DeVault
c55223106d Fix :move command's arg parsing 2019-06-09 18:29:21 -04:00
Yash Srivastav
702ad43bd2 Override $ex in compose view 2019-06-09 15:51:30 -04:00
Clayton Craft
f5a4d935ef Update reply to use getopt posix optind format
This changes the handling of optind for the 'reply' command to match
recent changes to getopt.
2019-06-09 15:50:50 -04:00
Drew DeVault
50f25e7c4d aerc(1): add :read and :unread command to docs 2019-06-09 14:59:13 -04:00
Drew DeVault
6271d455eb Add :read and :unread commands 2019-06-09 14:55:42 -04:00
Drew DeVault
05f00f0153 Update our message flags when server updates them 2019-06-09 14:55:04 -04:00
Drew DeVault
d63653ecde commands/msg/copy: remove unnecessary code 2019-06-09 14:54:27 -04:00
Clayton Craft
dd178262bb Select user's preferred mimetype in MessageViewer
This implements selecting the most preferred mimetype under the
'View->Alternatives' configuration setting when viewing a message.
Mimetypes in the alternatives array are weighted by their position,
where the lower the index in the array the higher the priority, so this
is taken into account during selection.

If no message part matches a mimetype in the alternatives array, then it
selects the first mimetype in the message.
2019-06-09 11:49:11 -04:00
Robert Günzler
acfe7d7625 Add archive command
Adds an archive command that moves the current message into the folder
specified in the account config entry.

Supports three layouts at this point:

- flat: puts all messages next to each other
- year: creates a folder per year
- month: same as above, plus folders per month

This also adds a "-p" argument to "cp" and "mv" that works like
"--parents" on mkdir(1). We use this to auto-create the directories
for the archive layout.
2019-06-09 11:33:50 -04:00
Yash Srivastav
35f57321f8 Mark sent emails as read 2019-06-08 12:44:01 -04:00
Yash Srivastav
5f651b32e5 msglist: use distinct style for unread emails 2019-06-08 10:59:51 -04:00
Yash Srivastav
06e1b45a78 Fetch headers w/peek to leave emails unread 2019-06-08 10:58:51 -04:00