Created
January 9, 2013 15:04
-
-
Save daviesian/4493790 to your computer and use it in GitHub Desktop.
Addition to nRepl.el for showing number of live threads in mode line.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Eval all this in the scratch buffer, then have a play with evaluating forms in a clojure buffer. | |
;; This is a very quick and dirty first version. | |
(setq thread-count 0) | |
(defun add-remote-thread () | |
(setq thread-count (+ 1 thread-count)) | |
(setq mode-name (format "Clojure{%d}" thread-count)) | |
(force-mode-line-update)) | |
(defun remove-remote-thread (buffer) | |
(with-current-buffer buffer | |
(setq thread-count (- thread-count 1)) | |
(setq mode-name (format "Clojure{%d}" thread-count)) | |
(force-mode-line-update))) | |
(defun nrepl-eval-expression-at-point (&optional prefix) | |
"Evaluate the current toplevel form." | |
(interactive "P") | |
(let ((form (nrepl-expression-at-point))) | |
(add-remote-thread) | |
(if prefix | |
(nrepl-interactive-eval-print form) | |
(nrepl-interactive-eval form)))) | |
(defun nrepl-interactive-eval-handler (buffer) | |
(nrepl-make-response-handler buffer | |
(lambda (buffer value) | |
(message (format "%s" value)) | |
(remove-remote-thread buffer)) | |
(lambda (buffer value) | |
(nrepl-emit-interactive-output value)) | |
(lambda (buffer err) | |
(message (format "%s" err))) | |
'())) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment