A bunch of changes

This commit is contained in:
2024-10-16 01:52:45 -07:00
parent 4f53be9f33
commit f55065d312
2 changed files with 147 additions and 82 deletions

47
init.el
View File

@ -20,9 +20,9 @@
;; use-package
(eval-when-compile
(require 'use-package)
(setq use-package-always-ensure t
package-user-dir "~/.emacs.d/var/elpa")
(require 'use-package))
package-user-dir "~/.emacs.d/var/elpa"))
;; no-littering
(use-package no-littering
@ -48,8 +48,8 @@
(use-package emacs
:hook (;;(emacs-lisp-mode . my/-emacs-lisp-mode-setup-evil-lookup)
;;(prog-mode . electric-pair-local-mode)
((text-mode message-mode tex-mode prog-mode) . auto-fill-mode)
((text-mode message-mode tex-mode prog-mode) . my/-enable-show-trailing-whitespace))
((text-mode tex-mode prog-mode) . auto-fill-mode)
((text-mode tex-mode prog-mode) . my/-enable-show-trailing-whitespace))
:init
(defun my/-enable-show-trailing-whitespace ()
(setq-local show-trailing-whitespace t))
@ -435,14 +435,14 @@ directory. Otherwise, run `find-file' on that file."
:map evil-cleverparens-mode-map
("C-c o" . evil-cp-open-below-form))
:custom
(evil-cleverparens-use-s-and-S nil)
:config
(eldoc-add-command 'paredit-RET
'paredit-open-round
'paredit-open-angled
'paredit-open-bracket
'paredit-open-angled
'paredit-open-parenthesis)
(evil-cleverparens-use-s-and-S nil)
:config
(define-key evil-cleverparens-mode-map (kbd "<normal-state> M-o") nil t)
(defun my/-enable-evil-cleverparens ()
(if (member major-mode '(lisp-mode emacs-lisp-mode
@ -712,7 +712,8 @@ visual states."
;; Only run this if we are not in `TeX-mode'
(unless (bound-and-true-p TeX-mode-p)
(setq-local completion-at-point-functions
'(cape-dict cape-dabbrev)
(nconc completion-at-point-functions '(cape-dict
cape-dabbrev))
corfu-auto nil))))
;; xref
@ -1734,13 +1735,27 @@ If no name is given, list all bookmarks instead."
;; khard contacts
(require 'khard)
;; This is also in khard (see above), it's just also here so that if I remove
;; that file ever, other things will not break.
(defun my/message-in-header-p (name &optional testfn)
"If in field NAME, return the start of the header, otherwise, return nil.
The name is compared with the field name using TESTFN (defaults to `equal')."
(save-excursion
(when (and (message-point-in-header-p)
(message-beginning-of-header t))
(beginning-of-line)
(when (and (looking-at (rx bol (group (+? any)) ":" (? " ")))
(funcall (or testfn 'equal) (match-string 1) name))
(match-end 0)))))
;; mu4e
(use-package mu4e
:ensure nil
:defer nil
:hook ((mu4e-index-updated . my/-mu4e-enable-index-messages)
(mu4e-main-mode . my/-mu4e-setup-main-mode)
(mu4e-view-mode . my/-mu4e-setup-view-mode))
(mu4e-view-mode . my/-mu4e-setup-view-mode)
(mu4e-compose-mode . my/-mu4e-setup-compose-mode))
:bind (("C-x C-m" . mu4e)
("C-x m" . mu4e-compose-new)
:map message-mode-map
@ -1779,6 +1794,22 @@ If no name is given, list all bookmarks instead."
(interactive)
(mu4e--view-in-headers-context
(my/mu4e-headers-mark-for-trash)))
(defun my/-mu4e-enable-autocomplete-in-header ()
;; corfu auto must be t (not the integer returned by
;; `my/message-in-header-p'
(setq-local corfu-auto (and (not (window-minibuffer-p))
(my/message-in-header-p "To")
t)))
(defun my/-mu4e-setup-compose-mode ()
(add-hook 'post-command-hook 'my/-mu4e-enable-autocomplete-in-header
nil t)
(add-to-list
(make-local-variable 'completion-at-point-functions)
(cape-capf-super #'mu4e-complete-contact #'khard-message-mode-capf)))
(defun my/-mu4e-fix-cycle-threshold ()
(setq-local completion-cycle-threshold nil))
(advice-add 'mu4e--compose-setup-completion :after
'my/-mu4e-fix-cycle-threshold)
(setq message-kill-buffer-on-exit t
message-send-mail-function 'sendmail-send-it
mu4e-change-filenames-when-moving t