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.
0.5.0 came with the amazing option of reading the mail in the same view.
The issue with this is, if you go back to the message list and read some
new mail, it opens a new pane to read the new mail. This change follows
the path of modern mail readers which have one pane to load the email in.
Technically, this change closes any open "Himalaya read message" pane
before creating a new one. This close-open should create the illusion of
having the same pane reload the content.
A possible extension of this would be to clear the contents of the pane,
and re-use the same pane to load the new message. A good time to go this
extension is if Himalaya chooses to use persistent connections to the
mail server.
With the current version of Himalaya, the Vim front breaks because it
can't find headers.subject in the JSON output from Himalaya. The JSON
output today from Himalaya representing a message looks like so
```json
{
"uid": 12345,
"flags": [],
"subject": "Subject",
"subject_len": 7,
"sender": "Sender",
"sender_len": 6,
"date": "2020-12-11 06:38:19"
},
```
This reverts some of the changes in b9a9d0e, but not all of them.
* Preview mailboxes with telescope
* Output error message in preview
* Throw error
* Refactored himalaya#msg#list and handle errors in telescope preview
* Changes based on feedback
* Added argument should_throw to cli function