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:
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'."