[emacs] convenient footnotes in message-mode (using footnote-mode)
[~bandali/configs] / init.org
index e30ed14..99e9631 100644 (file)
--- a/init.org
+++ b/init.org
@@ -867,7 +867,6 @@ There's no way I could top that, so I won't attempt to.
          ("s-r"                            . counsel-recentf)
          ("C-c x"                          . counsel-M-x)
          ("C-c f ."                        . counsel-find-file)
          ("s-r"                            . counsel-recentf)
          ("C-c x"                          . counsel-M-x)
          ("C-c f ."                        . counsel-find-file)
-         ("C-c f r"                        . counsel-recentf)
          :map minibuffer-local-map
          ("C-r" . counsel-minibuffer-history))
   :config
          :map minibuffer-local-map
          ("C-r" . counsel-minibuffer-history))
   :config
@@ -1155,12 +1154,17 @@ TODO: break this giant source block down into individual org sections.
 #+begin_src emacs-lisp
 (eval-when-compile (defvar lean-mode-map))
 (use-package lean-mode
 #+begin_src emacs-lisp
 (eval-when-compile (defvar lean-mode-map))
 (use-package lean-mode
-  :defer 2
+  :defer 1
   :bind (:map lean-mode-map
               ("S-SPC" . company-complete))
   :config
   (require 'lean-input)
   :bind (:map lean-mode-map
               ("S-SPC" . company-complete))
   :config
   (require 'lean-input)
-  (setq default-input-method "Lean"))
+  (setq default-input-method "Lean"
+        lean-input-tweak-all '(lean-input-compose
+                               (lean-input-prepend "/")
+                               (lean-input-nonempty))
+        lean-input-user-translations '(("/" "/")))
+  (lean-input-setup))
   #+end_src
 
 ** Haskell
   #+end_src
 
 ** Haskell
@@ -1516,7 +1520,7 @@ Emacs package that displays available keybindings in popup
   :bind (("C-c d"   . crux-duplicate-current-line-or-region)
          ("C-c M-d" . crux-duplicate-and-comment-current-line-or-region)
          ("C-c b K" . crux-kill-other-buffers)
   :bind (("C-c d"   . crux-duplicate-current-line-or-region)
          ("C-c M-d" . crux-duplicate-and-comment-current-line-or-region)
          ("C-c b K" . crux-kill-other-buffers)
-         ("C-c f c" . crux-copy-file-preserve-attributes)
+         ("C-c f C" . crux-copy-file-preserve-attributes)
          ("C-c f D" . crux-delete-file-and-buffer)
          ("C-c f R" . crux-rename-file-and-buffer)
          ("C-S-j"   . crux-top-join-line)
          ("C-c f D" . crux-delete-file-and-buffer)
          ("C-c f R" . crux-rename-file-and-buffer)
          ("C-S-j"   . crux-top-join-line)
@@ -1640,7 +1644,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]].
 
 #+begin_src emacs-lisp
 (use-package highlight-indent-guides
 
 #+begin_src emacs-lisp
 (use-package highlight-indent-guides
-  :demand t
+  :defer 2
   :hook ((prog-mode . highlight-indent-guides-mode)
          ;; (org-mode  . highlight-indent-guides-mode)
          )
   :hook ((prog-mode . highlight-indent-guides-mode)
          ;; (org-mode  . highlight-indent-guides-mode)
          )
@@ -1904,6 +1908,30 @@ Hopefully temporary.
         mml-secure-openpgp-sign-with-sender t))
 #+end_src
 
         mml-secure-openpgp-sign-with-sender t))
 #+end_src
 
+** footnote
+
+Convenient footnotes in =message-mode=.
+
+#+begin_src emacs-lisp
+(use-package footnote
+  :after message
+  :bind
+  (:map message-mode-map
+        :prefix-map amin--footnote-prefix-map
+        :prefix "C-c f"
+        ("a" . footnote-add-footnote)
+        ("b" . footnote-back-to-message)
+        ("c" . footnote-cycle-style)
+        ("d" . footnote-delete-footnote)
+        ("g" . footnote-goto-footnote)
+        ("r" . footnote-renumber-footnotes)
+        ("s" . footnote-set-style))
+  :config
+  (setq footnote-start-tag ""
+        footnote-end-tag   ""
+        footnote-style     'unicode))
+#+end_src
+
 ** supercite
 
 #+begin_src emacs-lisp :tangle no
 ** supercite
 
 #+begin_src emacs-lisp :tangle no