|
|
|
|
@ -896,21 +896,19 @@ |
|
|
|
|
|
|
|
|
|
#+begin_src emacs-lisp |
|
|
|
|
(setq nicknames-alist |
|
|
|
|
'(("Konstantin Khanin" . "Kostya") |
|
|
|
|
("Nicholas Fleming". "Nick") |
|
|
|
|
'(("Micheal Pawliuk" . "Mike") |
|
|
|
|
("Konstantin Khanin" . "Kostya") |
|
|
|
|
("Nicholas[ ]+Fleming". "Nick") |
|
|
|
|
("Pramathanath Sastry". "Pramath") |
|
|
|
|
("Buddhima Kasun Fernando Akurugodage (Staff)" . "Kasun") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
)) |
|
|
|
|
("Buddhima Kasun Fernando Akurugodage (Staff)" . "Kasun"))) |
|
|
|
|
;; the above should be moved to a private file |
|
|
|
|
|
|
|
|
|
(defun wilder/mu4e-process-recipient-name (name) |
|
|
|
|
(interactive) |
|
|
|
|
(let ((clean-name (replace-regexp-in-string "\"" "" name))) |
|
|
|
|
(let* ((clean-name (replace-regexp-in-string "\"" "" name)) |
|
|
|
|
(tentative-nickname (assoc clean-name nicknames-alist #'string-match-p))) |
|
|
|
|
(cond |
|
|
|
|
((assoc clean-name nicknames-alist) (cdr (assoc clean-name nicknames-alist))) |
|
|
|
|
(tentative-nickname (cdr tentative-nickname)) |
|
|
|
|
((string-match-p (regexp-quote ",") clean-name) (string-trim (replace-regexp-in-string ".*," "" clean-name))) |
|
|
|
|
(t (replace-regexp-in-string " .*" "" clean-name))))) |
|
|
|
|
|
|
|
|
|
@ -918,7 +916,7 @@ |
|
|
|
|
(interactive) |
|
|
|
|
(save-excursion |
|
|
|
|
(goto-char (point-min)) |
|
|
|
|
(search-forward-regexp "To: \\(\\(.\\|\n\\)*\\)\\(Subject\\|CC\\|BCC\\)") |
|
|
|
|
(search-forward-regexp "To: \\(\\(.\\|\n\\)*\\)\\(Subject\\|C(C\\|BCC\\)") |
|
|
|
|
(mapconcat #'wilder/mu4e-process-recipient-name |
|
|
|
|
(mapcar (lambda (s) (substring-no-properties |
|
|
|
|
(string-trim (car (split-string s "<"))))) |
|
|
|
|
|