diff options
| author | Craig Jennings <c@cjennings.net> | 2025-08-30 16:46:48 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-08-30 16:46:48 -0500 |
| commit | c5dcf3e4739f629d707f3ab1ace11be970dbed16 (patch) | |
| tree | 40e7d325ebffbdae88bbcc3274d04a31a4b9e452 /modules/test-code.el | |
| parent | df3c433d957f0edb5876d85e2e830d9224845801 (diff) | |
| download | dotemacs-c5dcf3e4739f629d707f3ab1ace11be970dbed16.tar.gz dotemacs-c5dcf3e4739f629d707f3ab1ace11be970dbed16.zip | |
add cj/buffer-same-mode for switching between mode buffers
Bind it to C-x B (capital) for ease of discovery/use/habit development
Diffstat (limited to 'modules/test-code.el')
| -rw-r--r-- | modules/test-code.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/test-code.el b/modules/test-code.el index 57046c18..cbccd105 100644 --- a/modules/test-code.el +++ b/modules/test-code.el @@ -14,6 +14,18 @@ (require 'user-constants) +;; ------------------------------ Buffer Same Mode ----------------------------- + +(defun cj/buffer-same-mode (&rest modes) + "Pop to a buffer with a mode among MODES, or the current one if not given." + (interactive) + (let* ((modes (or modes (list major-mode))) + (pred (lambda (b) + (let ((b (get-buffer (if (consp b) (car b) b)))) + (member (buffer-local-value 'major-mode b) modes))))) + (pop-to-buffer (read-buffer "Buffer: " nil t pred)))) +(global-set-key (kbd "C-x B") 'cj/buffer-same-mode) + ;; --------------------------------- Org Noter --------------------------------- (use-package org-noter |
