summaryrefslogtreecommitdiff
path: root/modules/test-code.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/test-code.el')
-rw-r--r--modules/test-code.el12
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