Skip to content

Instantly share code, notes, and snippets.

@hiredman
Created October 5, 2017 16:10
Show Gist options
  • Save hiredman/00bcd99cd5c3f693e030e41d8441a872 to your computer and use it in GitHub Desktop.
Save hiredman/00bcd99cd5c3f693e030e41d8441a872 to your computer and use it in GitHub Desktop.
(defun clojure-repl-buffer (source-buffer)
(let* ((repl-name (concat "*"(buffer-name source-buffer)
" repl*"))
(buf (get-buffer repl-name)))
(if buf
buf
(save-current-buffer
(telnet "127.0.0.1" 5555)
(rename-buffer repl-name)
(current-buffer)))))
(defun clojure-send-to-repl (repl text)
(save-current-buffer
(set-buffer repl)
(insert text)
(comint-send-input nil t)))
(setq debug-on-error t)
(defun clojure-compile-file ()
(interactive)
(switch-to-buffer-other-window
(let* ((source-buffer (current-buffer))
(contents (buffer-string))
(repl-buffer (clojure-repl-buffer source-buffer)))
(progn
(clojure-send-to-repl repl-buffer contents)
repl-buffer))))
(define-minor-mode clojure-multi-repl-mode
""
:lighter " cmrm"
:keymap (let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c C-k") 'clojure-compile-file)
map))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment