better buffer filter for switch-to-prev-buffer-skip

there's so many `*whatever*` style buffers, trying to list them all
explicitly seems like a waste of time
This commit is contained in:
Gered 2025-01-26 17:54:41 -05:00
parent d4996ff5ca
commit 48b9c076cc

View file

@ -165,28 +165,11 @@
(popper-mode t) (popper-mode t)
(popper-echo-mode t)) (popper-echo-mode t))
(defcustom gered/buffer-name-skip-regexp
(rx bos
(or "*Backtrace*"
"*Compile-Log*"
"*Completions*"
"*Messages*"
"*package*"
"*Warnings*"
"*Async-native-compile-log*")
eos)
"Regular expression matching buffer names to be ignored by `next-buffer' and `previous-buffer'"
:type 'regexp)
(defcustom gered/buffer-mode-skip-regexp
(rx bos
(or "dired-sidebar-mode")
eos)
"Regular expression matching buffer major modes to be ignored by `next-buffer' and `previous-buffer'"
:type 'regexp)
(defun gered/buffer-skip-p (window buffer bury-or-kill) (defun gered/buffer-skip-p (window buffer bury-or-kill)
(or (string-match-p gered/buffer-name-skip-regexp (buffer-name buffer)) (let ((buf-name (buffer-name buffer))
(string-match-p gered/buffer-mode-skip-regexp (symbol-name (buffer-mode buffer))))) (buf-mode (symbol-name (buffer-mode buffer))))
(or
(string-match "\\*[^*]+\\*" buf-name)
(string= "dired-sidebar-mode" buf-mode))))
(setq switch-to-prev-buffer-skip 'gered/buffer-skip-p) (setq switch-to-prev-buffer-skip 'gered/buffer-skip-p)