aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-01-25 01:11:52 +0100
committerRobin Jarry <robin@jarry.cc>2023-01-26 00:21:16 +0100
commit1367fd4246716e3f693f8a1d70630c438489ce03 (patch)
tree19e46557bfa17167c9ba96142969dd9ff5ec0463 /widgets
parent63f0e0cbc9a5f072d8915717c89d7ab4f4ff94af (diff)
downloadaerc-1367fd4246716e3f693f8a1d70630c438489ce03.tar.gz
compose: allow sending format=flowed messages
Allow composing and sending messages with: Content-Type: text/plain; Format=Flowed This requires additional configuration in the text editor to actually produce the required trailing spaces at the end of lines that are part of the same paragraph. For example, with vim: "~/.vim/ftplugin/mail.vim setlocal textwidth=72 setlocal formatoptions=1jnwtcql setlocal comments+=nb:> Link: https://www.rfc-editor.org/rfc/rfc3676.html Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Moritz Poldrack <moritz@poldrack.dev>
Diffstat (limited to 'widgets')
-rw-r--r--widgets/compose.go21
1 files changed, 13 insertions, 8 deletions
diff --git a/widgets/compose.go b/widgets/compose.go
index 3ae41989..5795ccba 100644
--- a/widgets/compose.go
+++ b/widgets/compose.go
@@ -825,20 +825,20 @@ func (c *Composer) ShouldWarnAttachment() (bool, error) {
}
func writeMsgImpl(c *Composer, header *mail.Header, writer io.Writer) error {
+ mimeParams := map[string]string{"Charset": "UTF-8"}
+ if config.Compose.FormatFlowed {
+ mimeParams["Format"] = "Flowed"
+ }
if len(c.attachments) == 0 && len(c.textParts) == 0 {
// no attachments
- return writeInlineBody(header, c.email, writer)
+ return writeInlineBody(header, c.email, writer, mimeParams)
} else {
// with attachments
w, err := mail.CreateWriter(writer, *header)
if err != nil {
return errors.Wrap(err, "CreateWriter")
}
- newPart, err := lib.NewPart(
- "text/plain",
- map[string]string{"Charset": "UTF-8"},
- c.email,
- )
+ newPart, err := lib.NewPart("text/plain", mimeParams, c.email)
if err != nil {
return err
}
@@ -856,8 +856,13 @@ func writeMsgImpl(c *Composer, header *mail.Header, writer io.Writer) error {
return nil
}
-func writeInlineBody(header *mail.Header, body io.Reader, writer io.Writer) error {
- header.SetContentType("text/plain", map[string]string{"charset": "UTF-8"})
+func writeInlineBody(
+ header *mail.Header,
+ body io.Reader,
+ writer io.Writer,
+ mimeParams map[string]string,
+) error {
+ header.SetContentType("text/plain", mimeParams)
w, err := mail.CreateSingleInlineWriter(writer, *header)
if err != nil {
return errors.Wrap(err, "CreateSingleInlineWriter")