summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/bd--notes.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/modules/bd--notes.el')
-rw-r--r--.config/emacs/modules/bd--notes.el20
1 files changed, 19 insertions, 1 deletions
diff --git a/.config/emacs/modules/bd--notes.el b/.config/emacs/modules/bd--notes.el
index fafc56a..b83b71e 100644
--- a/.config/emacs/modules/bd--notes.el
+++ b/.config/emacs/modules/bd--notes.el
@@ -3,6 +3,24 @@
;;; Code:
+(defun bd/send-to-scratch ()
+ "Creates/switches to the scratch for `major-mode',
+then pastes the active region."
+ (interactive)
+ (let* ((mode major-mode)
+ (name (format "*Scratch for %s*" mode))
+ (contents (when (region-active-p)
+ (buffer-substring-no-properties
+ (region-beginning) (region-end))))
+ (buf (get-buffer name)))
+ (pop-to-buffer
+ (with-current-buffer (get-buffer-create name)
+ (funcall mode)
+ (when contents
+ (insert (format "\n\n%s" contents)))
+ (current-buffer)))))
+(keymap-global-set "C-c s" #'bd/send-to-scratch)
+
(use-package denote
:hook
((dired-mode . denote-dired-mode-in-directories))
@@ -13,7 +31,7 @@
:config
(require 'denote-journal-extras)
- ;;;; skribe
+;;;; skribe
(defvar bd/denote-skribe-front-matter
"(post
:title \"%s\"