[emacs] switch from bbdb to ebdb again
[~bandali/configs] / init.org
index 5006e56..eea005d 100644 (file)
--- a/init.org
+++ b/init.org
@@ -54,6 +54,13 @@ make build
 - [[#header][Header]]
 - [[#initial-setup][Initial setup]]
 - [[#core][Core]]
+- [[#borg-essentials][Borg's =layer/essentials=]]
+- [[#editing][Editing]]
+- [[#syntax-spell-checking][Syntax and spell checking]]
+- [[#programming-modes][Programming modes]]
+- [[#emacs-enhancements][Emacs enhancements]]
+- [[#email][Email]]
+- [[#blogging][Blogging]]
 - [[#post-initialization][Post initialization]]
 - [[#footer][Footer]]
 
@@ -667,9 +674,7 @@ Based on https://stackoverflow.com/a/17788551, with changes to use
       (around inhibit-display
               (command &optional mode name-function highlight-regexp))
     (if (not (string-match "^\\(find\\|grep\\)" command))
-        (cl-letf (((symbol-function 'display-buffer)   #'ignore)
-                  ((symbol-function 'set-window-point) #'ignore)
-                  ((symbol-function 'goto-char)        #'ignore))
+        (cl-letf (((symbol-function 'display-buffer) #'ignore))
           (save-window-excursion ad-do-it))
       ad-do-it))
   (ad-activate 'compilation-start))
@@ -825,7 +830,8 @@ file.
     (let* ((file-tangle-start-time (current-time))
            (file (buffer-file-name))
            (file-nodir (file-name-nondirectory file))
-           (async-quiet-switch "-q"))
+           ;; (async-quiet-switch "-q")
+           )
       (async-start
        `(lambda ()
           (require 'org)
@@ -912,8 +918,9 @@ There's no way I could top that, so I won't attempt to.
 
 #+begin_src emacs-lisp
 (use-package swiper
-  :bind (("C-s" . swiper)
-         ("C-r" . swiper)))
+  :bind (("C-s"   . swiper)
+         ("C-r"   . swiper)
+         ("C-S-s" . isearch-forward)))
 #+end_src
 
 **** Counsel
@@ -955,7 +962,7 @@ There's no way I could top that, so I won't attempt to.
 
   (defun amin|eshell-setup ()
     (make-local-variable 'company-idle-delay)
-    (setq company-idle-delay nil)
+    (defvar company-idle-delay nil)
     (bind-keys :map eshell-mode-map
                ("C-d"   . amin/eshell-quit-or-delete-char)
                ("C-S-l" . amin/eshell-clear)
@@ -1062,6 +1069,9 @@ There's no way I could top that, so I won't attempt to.
 #+end_src
 
 * Borg's =layer/essentials=
+:PROPERTIES:
+:CUSTOM_ID: borg-essentials
+:END:
 
 TODO: break this giant source block down into individual org sections.
 
@@ -1144,6 +1154,9 @@ TODO: break this giant source block down into individual org sections.
 #+end_src
 
 * Editing
+:PROPERTIES:
+:CUSTOM_ID: editing
+:END:
 
 ** Company
 
@@ -1165,6 +1178,9 @@ TODO: break this giant source block down into individual org sections.
 #+end_src
 
 * Syntax and spell checking
+:PROPERTIES:
+:CUSTOM_ID: syntax-spell-checking
+:END:
 
 #+begin_src emacs-lisp
 (use-package flycheck
@@ -1208,6 +1224,9 @@ TODO: break this giant source block down into individual org sections.
               #'endless/replace-quote))
 #+end_src
 * Programming modes
+:PROPERTIES:
+:CUSTOM_ID: programming-modes
+:END:
 
 ** [[http://alloytools.org][Alloy]] (with [[https://github.com/dwwmmn/alloy-mode][alloy-mode]])
 
@@ -1576,7 +1595,10 @@ treemacs
   :load-path "lib/guix/elisp")
 #+end_src
 
-* Emacs Enhancements
+* Emacs enhancements
+:PROPERTIES:
+:CUSTOM_ID: emacs-enhancements
+:END:
 
 ** [[https://github.com/justbur/emacs-which-key][which-key]]
 
@@ -1990,7 +2012,17 @@ Hopefully temporary.
   (global-page-break-lines-mode))
 #+end_src
 
+** expand-region
+
+#+begin_src emacs-lisp
+(use-package expand-region
+  :bind ("C-=" . er/expand-region))
+#+end_src
+
 * Email
+:PROPERTIES:
+:CUSTOM_ID: email
+:END:
 
 #+begin_src emacs-lisp
 (defvar amin-maildir (expand-file-name "~/mail/"))
@@ -2197,7 +2229,59 @@ Convenient footnotes in =message-mode=.
         footnote-style     'unicode))
 #+end_src
 
-** bbdb
+** ebdb
+
+#+begin_src emacs-lisp
+(use-package ebdb
+  :defer 1
+  :bind (:map gnus-group-mode-map ("e" . ebdb))
+  :config
+  (setq ebdb-sources (no-littering-expand-var-file-name "ebdb"))
+  (after! swiper
+    (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
+
+(use-package ebdb-com
+  :after ebdb)
+
+;; (use-package ebdb-complete
+;;   :after ebdb
+;;   :config
+;;   (ebdb-complete-enable))
+
+(use-package company-ebdb
+  :after (:all company message)
+  :config
+  (defun company-ebdb--post-complete (_) nil)
+  :hook
+  (message-mode . (lambda ()
+                    (add-to-list (make-local-variable 'company-backends)
+                                 'company-ebdb))))
+
+(use-package ebdb-gnus
+  :after ebdb
+  :custom
+  (ebdb-gnus-window-configuration
+   '(article
+     (vertical 1.0
+               (summary 0.25 point)
+               (horizontal 1.0
+                           (article 1.0)
+                           (ebdb-gnus 0.3))))))
+
+(use-package ebdb-mua
+  :after ebdb
+  ;; :custom (ebdb-mua-pop-up nil)
+  )
+
+;; (use-package ebdb-message
+;;   :after ebdb)
+
+
+;; (use-package ebdb-vcard
+;;   :after ebdb)
+#+end_src
+
+** COMMENT bbdb
 
 Manually install bbdb (=lisp/bbdb= copied from an ELPA-based setup),
 because installing it from source on Emacs 27 using the following
@@ -2258,6 +2342,9 @@ I tried using =borg-elpa= instead of doing it like this, but it added
 #+end_src
 
 * Blogging
+:PROPERTIES:
+:CUSTOM_ID: blogging
+:END:
 
 ** [[https://ox-hugo.scripter.co][ox-hugo]]