.emacs.d

the most bloated Emacs config on this planet
git clone https://git.trogloxene.org/.emacs.d.git
Log | Files | Refs

commit dc217904192a8c50cde1741e98b5f899deb0d88c
parent 8b45188c1c4b7d3dab81c04a54cfd5bad0a4210c
Author: andsy10 <andsy1016@gmail.com>
Date:   Fri,  4 Sep 2026 13:34:04 +0800

Cleanup config and update ibuffer filter group

Diffstat:
Mlisp/init-base.el | 35+++++++++++++++--------------------
Mlisp/init-completion.el | 12++++++------
Mlisp/init-kbd-func.el | 10+---------
Mlisp/init-kbd.el | 5+++--
Mlisp/init-package.el | 6+++++-
Mlisp/init-prog.el | 5+++++
Mlisp/init-startup.el | 2+-
Mlisp/init-terminal.el | 9+--------
Mlisp/init-window.el | 10++++++----
9 files changed, 43 insertions(+), 51 deletions(-)

diff --git a/lisp/init-base.el b/lisp/init-base.el @@ -14,9 +14,7 @@ `((eldoc-mode nil eldoc) (org-indent-mode nil org-indent) (desktop-environment-mode nil desktop-environment) - (hs-minor-mode nil hideshow) - (hywiki-mode nil hywiki) - (hyperbole-mode nil hyperbole)))) + (hs-minor-mode nil hideshow)))) ;; garbage collection (use-package gcmh @@ -59,7 +57,8 @@ (add-to-list 'recentf-exclude "~/org/my-org-note/20260509T232442==agenda--all-my-todos\\.org") (add-to-list 'recentf-exclude "~/org/my-org-note/20260810T233455==agenda--all-about-game__game\\.org")) (add-to-list 'recentf-exclude "~/.emacs.d/emms/history") - (add-to-list 'recentf-exclude "~/.emacs.d/bookmarks"))) + (add-to-list 'recentf-exclude "~/.emacs.d/bookmarks") + (add-to-list 'recentf-exclude "~/hywiki/.hywiki.eld"))) ;; save minibuffer history (use-package savehist @@ -140,7 +139,12 @@ (mode . toml-ts-mode) (mode . yaml-ts-mode) (mode . json-ts-mode))) - ("Elisp" (mode . emacs-lisp-mode)) + ("Elisp" (or (mode . emacs-lisp-mode) + (mode . lisp-data-mode))) + ("Emacs" (or (mode . emacs-lisp-compilation-mode) + (mode . inferior-emacs-lisp-mode) + (mode . debugger-mode) + (mode . backtrace-mode))) ("Scheme" (or (mode . scheme-mode))) ("Geiser" (or @@ -176,6 +180,7 @@ (mode . magit-status-mode) (mode . magit-revision-mode) (mode . magit-refs-mode) + (mode . vc-annotate-mode) (name . "^\\*vc"))) ("Directories" (or (mode . dired-mode) @@ -200,7 +205,8 @@ (mode . help-mode) (mode . helpful-mode) (mode . man-mode) - (mode . Info-mode))) ;`Info' must be capitalized + (mode . Info-mode) ;`Info' must be capitalized + (mode . Man-mode))) ;`Man' too ("Grep" (or (mode . grep-mode) (mode . rg-mode) @@ -213,18 +219,7 @@ (mode . diff-mode) (mode . ediff-mode) (mode . vundo-diff-mode))) - ("Emacs" (or - (name . "^\\*Help\\*$") - (name . "^\\*Custom.*") - (name . "^\\*EMMS Playlist\\*") - (name . "^\\*Messages\\*$") - (name . "*Chinese-word-segmentation*") - (name . "^*Buffer List*") - (name . "\\*discomfort\\*") - (mode . calendar-mode) - (mode . grep-mode) - (mode . proced-mode) - (mode . syncthing-mode)))))) + ("Process" (predicate get-buffer-process (current-buffer)))))) (add-hook 'ibuffer-hook (lambda () @@ -280,7 +275,8 @@ :straight nil :init (setq speedbar-window-default-width 30) - + :autoload my-speedbar + :config (defun my-speedbar () "Run `speedbar-get-focus' if current buffer is not speedbar, otherwise run `speedbar'" (interactive) @@ -289,7 +285,6 @@ (speedbar) (speedbar-get-focus))) - :config (defun my-speedbar-line-expanded-p () "Return non-nil if the speedbar line at point is expanded." (save-excursion diff --git a/lisp/init-completion.el b/lisp/init-completion.el @@ -119,9 +119,14 @@ value of the selected COLOR." "\\*pi-coding-agent-sessions:" "\\*pi-coding-agent-tree:" "\\*Synonyms List\\*" - "\\*Wordnet\\*") + "\\*Wordnet\\*" + "*Async-native-compile-log*") :test 'equal))) +(use-package facemenu + :straight nil + :autoload list-colors-duplicates) + ;; right-click (use-package embark :commands @@ -187,11 +192,6 @@ targets." ;; embark-consult (use-package embark-consult) -;; eglot -(use-package eglot - :config - (setq eglot-send-changes-idle-time 0.25)) - ;; corfu (use-package corfu :autoload diff --git a/lisp/init-kbd-func.el b/lisp/init-kbd-func.el @@ -4,7 +4,7 @@ ;;; Code: -(defun open-init-file() +(defun open-init-file () "Open user's init.el file." (interactive) (find-file user-init-file)) @@ -19,14 +19,6 @@ With a prefix ARG create a new *scratch* buffer." (funcall initial-major-mode)) (scratch-buffer))) -(when *is-windows* - (defun restart-emacs () - "Restart emacs (for Windows)" - (interactive) - (save-some-buffers) - (w32-shell-execute "open" "runemacs.exe") - (kill-emacs))) - (defun disable-truncate-lines () (toggle-truncate-lines 1)) diff --git a/lisp/init-kbd.el b/lisp/init-kbd.el @@ -183,6 +183,7 @@ "d" #'substitute-target-in-defun "b" #'substitute-target-in-buffer "l" #'substitute-target-below-point + "L" #'substitute-target-in-defun-and-below "u" #'substitute-target-above-point) ;; scratch buffer @@ -413,7 +414,7 @@ "C-M-<down>" #'shrink-window "C-M-<up>" #'enlarge-window "M-`" #'popper-toggle - "C-M-=" #'popper-toggle-type-delete-other-window + "C-M-=" #'my-popper-toggle-type-delete-other-window "M-o" #'other-window "M-O" #'other-window-backward @@ -425,7 +426,7 @@ (cond (*is-android* (general-def - "C-M-w" #'popper-toggle-type-delete-other-window)) + "C-M-w" #'my-popper-toggle-type-delete-other-window)) (*is-linux* (general-def "M-S-SPC" #'xdg-launcher-run-app)) diff --git a/lisp/init-package.el b/lisp/init-package.el @@ -78,7 +78,8 @@ Like normal Emacs `C-k'. Kill to end of line and put content in kill-ring." (kill-ring-save (point) (line-end-position)) (ghostel-send-key "k" "ctrl")) - (setq eshell-destroy-buffer-when-process-dies t) + (setq eshell-destroy-buffer-when-process-dies t + ghostel-ssh-install-terminfo t) (defalias 'eshell/v 'eshell/ghostel)) (use-package consult-ghostel @@ -306,6 +307,9 @@ Like normal Emacs `C-k'. Kill to end of line and put content in kill-ring." ;; hyperbole (use-package hyperbole :defer 5 + :delight + (hywiki-mode nil hywiki) + (hyperbole-mode nil hyperbole) :bind (("C-h h" . hyperbole) ("M-RET" . my-hkey-either-lazy)) diff --git a/lisp/init-prog.el b/lisp/init-prog.el @@ -22,6 +22,11 @@ (setq xref-show-definitions-function #'xref-show-definitions-completing-read xref-show-xrefs-function #'xref-show-definitions-completing-read)) +;; eglot +(use-package eglot + :config + (setq eglot-send-changes-idle-time 0.25)) + ;; syntax checking (use-package flycheck) diff --git a/lisp/init-startup.el b/lisp/init-startup.el @@ -65,7 +65,7 @@ (setq-default frame-title-format '("%b - Emacs")) ;; native compile warning -(setq native-comp-async-warnings-errors-kind 'silent) +(setq native-comp-async-report-warnings-errors 'silent) ;; short answer (if (boundp 'use-short-answers) diff --git a/lisp/init-terminal.el b/lisp/init-terminal.el @@ -61,13 +61,6 @@ (setq delete-by-moving-to-trash t) -(setq xref-search-program - (cond - ((or (executable-find "ripgrep") - (executable-find "rg")) - 'ripgrep) - (t 'grep))) - (setq word-wrap-by-category t) (setq-default indent-tabs-mode nil) @@ -204,7 +197,7 @@ (defun open-init-file() "Open user's init.el file in ~/.emacs.d ." (interactive) - (find-file "~/.emacs.d/init.el")) + (find-file user-init-file)) (defun my-scratch-buffer (&optional arg) "Switch to the *scratch* buffer. diff --git a/lisp/init-window.el b/lisp/init-window.el @@ -114,11 +114,13 @@ (kill-local-variable 'window--sides-shown))) (advice-add #'popper-raise-popup :after #'my-popper-clear-sides-shown) - (defun popper-toggle-type-delete-other-window() - "Toggle type of popper window and delete other window." + (defun my-popper-toggle-type-delete-other-window () + "Toggle type of the current buffer; delete other windows when raising." (interactive) - (popper-toggle-type) - (delete-other-windows)) + (let ((popup-p (buffer-local-value 'popper-popup-status (current-buffer)))) + (popper-toggle-type (current-buffer)) + (when popup-p + (delete-other-windows)))) (defun popper-close-window-hack (&rest _args) "Close popper window via `C-g'."