Skip to content

Commit a8c77c2

Browse files
author
Bozhidar Batsov
committed
Make cider's scratch more consistent with Emacs Lisp's list-interaction-mode
1 parent 8401323 commit a8c77c2

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

cider-interaction.el

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,10 @@ This is controlled via `cider-interactive-eval-output-destination'."
827827
(nrepl-make-response-handler buffer
828828
(lambda (buffer value)
829829
(with-current-buffer buffer
830-
(insert (format "\n%s" value))))
830+
(insert
831+
(if (derived-mode-p 'cider-clojure-interaction-mode)
832+
(format "\n%s\n" value)
833+
value))))
831834
(lambda (_buffer out)
832835
(cider-emit-interactive-eval-output out))
833836
(lambda (_buffer err)

cider-scratch.el

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
(require 'cider-interaction)
3333
(require 'clojure-mode)
3434

35-
(defvar cider-scratch-mode-map
35+
(defvar cider-clojure-interaction-mode-map
3636
(let ((map (make-sparse-keymap)))
3737
(set-keymap-parent map clojure-mode-map)
3838
(define-key map (kbd "C-j") 'cider-eval-print-last-sexp)
@@ -51,13 +51,19 @@
5151
(or (get-buffer cider-scratch-buffer-name)
5252
(cider-create-scratch-buffer)))
5353

54+
(define-derived-mode cider-clojure-interaction-mode clojure-mode "Clojure Interaction"
55+
"Major mode for typing and evaluating Clojure forms.
56+
Like Lisp mode except that \\[cider-eval-print-last-sexp] evals the Lisp expression
57+
before point, and prints its value into the buffer, advancing point.
58+
59+
\\{cider-clojure-interaction-mode-map}")
60+
5461
(defun cider-create-scratch-buffer ()
5562
"Create a new scratch buffer."
5663
(with-current-buffer (get-buffer-create cider-scratch-buffer-name)
57-
(clojure-mode)
64+
(cider-clojure-interaction-mode)
5865
(insert ";; This buffer is for Clojure experiments and evaluation.\n"
5966
";; Press C-j to evaluate the last expression.\n\n")
60-
(use-local-map cider-scratch-mode-map)
6167
(current-buffer)))
6268

6369
(provide 'cider-scratch)

0 commit comments

Comments
 (0)