Skip to content

Commit 7bc6955

Browse files
lewangbbatsov
authored andcommitted
Ensure cider-repl-result-prefix is only inserted before the first result chunk (#2117)
Subsequent chunks of result should not have this re-inserted. See also #315
1 parent 19dcc14 commit 7bc6955

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

cider-interaction.el

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -667,8 +667,10 @@ in the buffer."
667667
(defun cider-stdin-handler (&optional buffer)
668668
"Make a stdin response handler for BUFFER."
669669
(nrepl-make-response-handler (or buffer (current-buffer))
670-
(lambda (buffer value)
671-
(cider-repl-emit-result buffer value t))
670+
(let (after-first-call)
671+
(lambda (buffer value)
672+
(cider-repl-emit-result buffer value t (not after-first-call))
673+
(setq after-first-call t)))
672674
(lambda (buffer out)
673675
(cider-repl-emit-stdout buffer out))
674676
(lambda (buffer err)

cider-repl.el

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ If BOL is non-nil, emit at the beginning of the line."
698698
(cider-repl--insert-prompt cider-buffer-ns))))
699699
(cider-repl--show-maximum-output)))
700700

701-
(defun cider-repl-emit-result (buffer string &optional bol)
701+
(defun cider-repl-emit-result (buffer string &optional bol show-prefix)
702702
"Emit into BUFFER the result STRING and mark it as an evaluation result.
703703
If BOL is non-nil insert at the beginning of the line."
704704
(with-current-buffer buffer
@@ -708,7 +708,8 @@ If BOL is non-nil insert at the beginning of the line."
708708
(goto-char cider-repl-input-start-mark)
709709
(when (and bol (not (bolp)))
710710
(insert-before-markers "\n"))
711-
(insert-before-markers (propertize cider-repl-result-prefix 'font-lock-face 'font-lock-comment-face))
711+
(when show-prefix
712+
(insert-before-markers (propertize cider-repl-result-prefix 'font-lock-face 'font-lock-comment-face)))
712713
(if cider-repl-use-clojure-font-lock
713714
(insert-before-markers (cider-font-lock-as-clojure string))
714715
(cider-propertize-region
@@ -766,17 +767,21 @@ the symbol."
766767
(defun cider-repl-handler (buffer)
767768
"Make an nREPL evaluation handler for the REPL BUFFER."
768769
(nrepl-make-response-handler buffer
769-
(lambda (buffer value)
770-
(cider-repl-emit-result buffer value t))
770+
(let (after-first-call)
771+
(lambda (buffer value)
772+
(cider-repl-emit-result buffer value t (not after-first-call))
773+
(setq after-first-call t)))
771774
(lambda (buffer out)
772775
(cider-repl-emit-stdout buffer out))
773776
(lambda (buffer err)
774777
(cider-repl-emit-stderr buffer err))
775778
(lambda (buffer)
776779
(cider-repl-emit-prompt buffer))
777780
nrepl-err-handler
778-
(lambda (buffer pprint-out)
779-
(cider-repl-emit-result buffer pprint-out nil))))
781+
(let (after-first-call)
782+
(lambda (buffer pprint-out)
783+
(cider-repl-emit-result buffer pprint-out nil (not after-first-call))
784+
(setq after-first-call t)))))
780785

781786
(defun cider-repl--send-input (&optional newline)
782787
"Go to the end of the input and send the current input.

0 commit comments

Comments
 (0)