aboutsummaryrefslogtreecommitdiffstats
path: root/completer/completer.go
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2020-01-09 09:42:12 -0500
committerDrew DeVault <sir@cmpwn.com>2020-01-09 14:32:22 -0500
commit598e39f523024ae36bd94c2fbee87cf13165c78e (patch)
tree4c0e453a3dfd2d319aca951c7b4e947d844b6307 /completer/completer.go
parenteca3863242da2722e69b573e2559351b5219b63c (diff)
downloadaerc-598e39f523024ae36bd94c2fbee87cf13165c78e.tar.gz
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 present.
Diffstat (limited to 'completer/completer.go')
-rw-r--r--completer/completer.go20
1 files changed, 11 insertions, 9 deletions
diff --git a/completer/completer.go b/completer/completer.go
index f6900ee4..bc6c96f7 100644
--- a/completer/completer.go
+++ b/completer/completer.go
@@ -138,16 +138,18 @@ func readCompletions(r io.Reader) ([]string, error) {
return nil, err
}
parts := strings.SplitN(line, "\t", 3)
- if addr, err := mail.ParseAddress(parts[0]); err == nil {
- if len(parts) > 1 {
- addr.Name = strings.TrimSpace(parts[1])
- }
- decoded, err := decodeMIME(addr.String())
- if err != nil {
- return nil, fmt.Errorf("could not decode MIME string: %w", err)
- }
- completions = append(completions, decoded)
+ addr, err := mail.ParseAddress(strings.TrimSpace(parts[0]))
+ if err != nil {
+ return nil, err
+ }
+ if len(parts) > 1 {
+ addr.Name = strings.TrimSpace(parts[1])
+ }
+ decoded, err := decodeMIME(addr.String())
+ if err != nil {
+ return nil, fmt.Errorf("could not decode MIME string: %w", err)
}
+ completions = append(completions, decoded)
}
}