Created
August 31, 2016 21:07
-
-
Save karansag/7c1ad0caf1b1eae12a87f8376d6d6e19 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
(defun null? (x) | |
(eq nil x)) | |
;; (advice-add 'cider-refresh :around #'custom-cider-refresh) | |
(defun cider-repl-open-current-ns () | |
(interactive) | |
(cider-find-ns nil (cider-current-ns))) | |
(global-set-key (kbd "C-c m") 'cider-repl-open-current-ns) | |
(defun cider-test-get-current-file-test-ns () | |
(interactive) | |
(funcall cider-test-infer-test-ns (cider-current-ns t))) | |
(defun cider-test-find-test-ns () | |
(interactive) | |
(cider--find-ns | |
(cider-test-get-current-file-test-ns) | |
t)) | |
;; Listing all clj buffers | |
(defun clj-buffers () | |
;; (cider-switch-to-repl-buffer) | |
(defun cc (bflist) | |
(let* ((filename (buffer-file-name (car bflist)))) | |
(if (null? bflist) | |
nil | |
(if (null? filename) | |
(cc (cdr bflist)) | |
(if (string-match ".clj$" filename) | |
(cons (car bflist) (cc (cdr bflist))) | |
(cc (cdr bflist))))))) | |
(cc (buffer-list))) | |
(require 'cl-lib) | |
(defun cider-repl-recent-ns () | |
(interactive) | |
(cl-remove-if 'null? | |
(mapcar (lambda (b) | |
(with-current-buffer b | |
(clojure-find-ns))) | |
(clj-buffers)))) | |
;; Cycling through REPL namespaces | |
(defvar my/recent-ns nil) | |
(defun my/cycle-cider-repl-ns () | |
(interactive) | |
(if (null? my/recent-ns) | |
(setq my/recent-ns (cider-repl-recent-ns))) | |
(cider-repl-set-ns (car my/recent-ns)) | |
(setq my/recent-ns (cdr my/recent-ns))) | |
(global-set-key (kbd "C-c n") 'my/cycle-cider-repl-ns) | |
(global-set-key (kbd "C-c C-n") 'my/cycle-cider-repl-ns) | |
(add-hook 'clojure-mode-hook | |
(lambda () (setq my/recent-ns nil))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment