summary refs log tree commit diff stats
path: root/lisp/+scratch.el
blob: b724a941c5e9d6266ccb1e26b59f7f6ffec5bbfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;;; +scratch.el -*- lexical-binding: t; -*-

;;; Code:

;;(require 'scratch)

(defun +scratch-immortal ()
  "Bury, don't kill \"*scratch*\" buffer.
For `kill-buffer-query-functions'."
  (if (eq (current-buffer) (get-buffer "*scratch*"))
      (progn (bury-buffer)
             nil)
    t))

(defun +scratch-buffer-setup ()
    "Add comment to `scratch' buffer and name it accordingly."
    (let* ((mode (format "%s" major-mode))
           (string (concat "Scratch buffer for:" mode "\n\n")))
      (when scratch-buffer
        (save-excursion
          (insert string)
          (goto-char (point-min))
          (comment-region (point-at-bol) (point-at-eol)))
        (next-line 2))
      (rename-buffer (concat "*scratch<" mode ">*") t)))

(provide '+scratch)
;;; +scratch.el ends here