diff options
Diffstat (limited to '.config/emacs/modules/bd--notes.el')
-rw-r--r-- | .config/emacs/modules/bd--notes.el | 20 |
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\" |