* .emacs.d/lisp/dpkg-dev-el: Bump.
[~bandali/configs] / .emacs.d / lisp / bandali-message.el
index c13bffc..8e13d73 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bandali-message.el --- bandali's message.el setup  -*- lexical-binding: t; -*-
 
 ;;; bandali-message.el --- bandali's message.el setup  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2018-2020  Amin Bandali
+;; Copyright (C) 2018-2022  Amin Bandali
 
 ;; Author: Amin Bandali <bandali@gnu.org>
 ;; Keywords: mail, news
 
 ;; Author: Amin Bandali <bandali@gnu.org>
 ;; Keywords: mail, news
       (message-yank-prefix  "> ")
       (message-yank-cited-prefix  ">")
       (message-yank-empty-prefix  ">")
       (message-yank-prefix  "> ")
       (message-yank-cited-prefix  ">")
       (message-yank-empty-prefix  ">")
-      (message-citation-line-format
-       (if b/message-cite-say-hi
-           (concat "Hi %F,\n\n" b/message-cite-style-format)
-         b/message-cite-style-format)))
-    "Citation style based on Mozilla Thunderbird's. Use with message-cite-style.")
-  (csetq
+      (message-citation-line-format b/message-cite-style-format))
+    "Citation style based on Mozilla Thunderbird's.  Use with message-cite-style.")
+  (setq
    message-elide-ellipsis "[...]\n"
    ;; message-cite-style 'message-cite-style-bandali
    message-citation-line-format "%N writes:\n"
    message-citation-line-function 'message-insert-formatted-citation-line
    message-elide-ellipsis "[...]\n"
    ;; message-cite-style 'message-cite-style-bandali
    message-citation-line-format "%N writes:\n"
    message-citation-line-function 'message-insert-formatted-citation-line
+   message-confirm-send t
+   message-fill-column 70
+   message-forward-as-mime t
    message-kill-buffer-on-exit t
    message-kill-buffer-on-exit t
-   message-send-mail-function 'message-send-mail-with-sendmail
-   message-sendmail-envelope-from 'header
+   message-send-mail-function #'smtpmail-send-it
    message-subscribed-address-functions
    '(gnus-find-subscribed-addresses)
    message-dont-reply-to-names
    message-subscribed-address-functions
    '(gnus-find-subscribed-addresses)
    message-dont-reply-to-names
-   "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|bandali@fsf\\.org\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\|amin\\.bandali@savoirfairelinux\\.com\\)")
-  ;; (require 'company-ebdb)
+   (mapconcat
+    #'identity
+    '("\\(bandali\\|mab\\|aminb?\\)@gnu\\.org"
+      "bandali@kelar\\.org"
+      "amin@shemshak\\.org"
+      "a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca"
+      "amin\\.bandali@savoirfairelinux\\.com"
+      "\\(amin\\.\\)?bandali@canonical\\.com")
+    "\\|"))
   ;; (custom-set-faces
   ;;  '(message-header-subject
   ;;    ((t (:foreground "#111" :weight semi-bold))))
   ;; (custom-set-faces
   ;;  '(message-header-subject
   ;;    ((t (:foreground "#111" :weight semi-bold))))
   ;;  '(message-header-cc
   ;;    ((t (:foreground "#333" :weight normal))))
 
   ;;  '(message-header-cc
   ;;    ((t (:foreground "#333" :weight normal))))
 
-  ;; footnote
-  (with-eval-after-load 'footnote
-    ;; (csetq footnote-start-tag ""
-    ;;        footnote-end-tag   ""
-    ;;        footnote-style     'unicode)
-    (when (featurep 'which-key)
-      (which-key-add-major-mode-key-based-replacements 'message-mode
-        "C-c f n" "footnote")))
-
-  ;; orgalist
-  (add-hook 'message-mode-hook
-            (lambda ()
-              ;; work around incompatibility between
-              ;; orgalist and yasnippet
-              (yas-minor-mode -1)
-              (orgalist-mode 1)
-              (yas-minor-mode 1)))
+  ;; custom newline & reformat function
+  (defun b/message-newline-or-asterism (arg)
+    "Create newlines per my liking or insert asterism if ARG is
+non-nil."
+    (interactive "P")
+    (if arg
+        (b/insert-asterism)
+      (progn
+        (beginning-of-line)
+        (delete-region (point) (line-end-position))
+        (newline)
+        (open-line 1))))
+  (define-key message-mode-map
+    (kbd "M-RET") #'b/message-newline-or-asterism)
 
   ;; local key bindings
 
   ;; local key bindings
-  (defvar b/footnote-prefix-map)
-  (define-prefix-command 'b/footnote-prefix-map)
-  (define-key message-mode-map (kbd "C-c f n")
-    'b/footnote-prefix-map)
-  (define-key b/footnote-prefix-map (kbd "a")
-    #'footnote-add-footnote)
-  (define-key b/footnote-prefix-map (kbd "b")
-    #'footnote-back-to-message)
-  (define-key b/footnote-prefix-map (kbd "c")
-    #'footnote-cycle-style)
-  (define-key b/footnote-prefix-map (kbd "d")
-    #'footnote-delete-footnote)
-  (define-key b/footnote-prefix-map (kbd "g")
-    #'footnote-goto-footnote)
-  (define-key b/footnote-prefix-map (kbd "r")
-    #'footnote-renumber-footnotes)
-  (define-key b/footnote-prefix-map (kbd "s")
-    #'footnote-set-style))
+  ;; (define-key message-mode-map
+  ;;   [remap next-line] #'mail-abbrev-next-line)
+  ;; (define-key message-mode-map
+  ;;             [remap end-of-buffer] #'mail-abbrev-end-of-buffer)
+  )
 ;; hooks
 ;; (add-hook 'message-setup-hook #'mml-secure-message-sign-pgpmime)
 (add-hook 'message-mode-hook #'flyspell-mode)
 (add-hook 'message-mode-hook
           (lambda ()
 ;; hooks
 ;; (add-hook 'message-setup-hook #'mml-secure-message-sign-pgpmime)
 (add-hook 'message-mode-hook #'flyspell-mode)
 (add-hook 'message-mode-hook
           (lambda ()
-            ;; (setq-local fill-column b/fill-column
-            ;;             message-fill-column b/fill-column)
-            (eval-when-compile (defvar company-idle-delay))
-            (make-local-variable 'company-idle-delay)
-            (setq company-idle-delay 0.2)))
-
-;; (with-eval-after-load 'message-x
-;;   (csetq
-;;    message-x-completion-alist
-;;    '(("\\([rR]esent-\\|[rR]eply-\\)?[tT]o:\\|[bB]?[cC][cC]:"
-;;       . gnus-harvest-find-address)
-;;      ((if
-;;           (boundp
-;;            (quote message-newgroups-header-regexp))
-;;           message-newgroups-header-regexp message-newsgroups-header-regexp)
-;;       . message-expand-group))))
-
-;; (require 'gnus-harvest)
-;; (if (featurep 'message-x)
-;;     (gnus-harvest-install 'message-x)
-;;   (gnus-harvest-install))
+            (local-unset-key (kbd "C-c C-s"))))
 
 (provide 'bandali-message)
 ;;; bandali-message.el ends here
 
 (provide 'bandali-message)
 ;;; bandali-message.el ends here