config: Strongly type context type

The go compiler can't help much with untyped int constants.
Even though the only valid constants are 0-3 it will happily accept 4 as input.

Let's let the go compiler worry about correctness here. This also allows people
not very familiar with the code to use it properly via auto completion.
imap: emit messageinfo when changing read state.

We need to emit the changed msgInfo whenever we modify the state
Contextual UI Configuration

+ Adds parsing of contextual ui sections to aerc config.
+ Add GetUiConfig method for AercConfig that is used to get the
  specialized UI config.
+ Add UiConfig method to AccountView to get specialized UI Config.
+ Modifies Aerc codebase to use specialized UIConfig instead.
+ Adds documentation for Contextual UI Configuration
Fix handling of multiple template-dirs

Before, while the docs stated that template-dirs was a colon-separated
list, a delimiter was not specified in the struct tag, so it was falling
back to the default for the ini library (a comma). Also added a note to
the docs to clarify that templates are configured in the [templates]
msgview/open: remove manual decoding
msgview/save: Adapt to already decoded reader

The functionality was broken since the decoding changes.
This commit also simplifies the code (in my view) to make the application logic
easier to follow.
The docs are updated accordingly (the feature was poorly documented).

As far as I am aware there should be no breaking changes (and is certainly
still in the spec of the prior documentation)
ef029aa2 — Luke Drummond 7 days ago
Display the mimetype when offering to pipe or save
worker/imap: don't decode in FetchFullMessage.

Doing that breaks `git am` as it expected the encoded variant.
Same is probably true for any sort of signature validation (gpg / dkim)
686ca244 — Ben Fiedler 9 days ago
Switch back to upstream pty library

The relevant change was merged upstream, and thus allows us to clean up
unneeded forks.
Correct spelling
Add docs for reply -T
Strip trailing newline from address book entries without names

When the list of completions from the external command doesn't have
associated contact names, the email address we attempt to parse was
being terminated with a newline. Now, we strip the trailing newline if
eca38632 — Timmy Douglas 16 days ago
compose: don't call ti.tabcomplete when it is nil
template: remove last \n to fix additional new lines after quote
add .OriginalMIMEType variable to reply template
remove Original* check
create OriginalMail struct
template: man cosmetic changes
template: add exec and wrap
maildir/notmuch: don't re-encode readers