[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/inf-clojure f24722c 294/313: Extract useful functions
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/inf-clojure f24722c 294/313: Extract useful functions |
Date: |
Wed, 11 Aug 2021 10:00:36 -0400 (EDT) |
branch: elpa/inf-clojure
commit f24722c60477ff1177df1b8f5038984b2f2eb5f9
Author: dan sutton <dan@dpsutton.com>
Commit: Bozhidar Batsov <bozhidar.batsov@gmail.com>
Extract useful functions
---
inf-clojure.el | 39 ++++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/inf-clojure.el b/inf-clojure.el
index 25457b5..1ec3db8 100644
--- a/inf-clojure.el
+++ b/inf-clojure.el
@@ -199,6 +199,22 @@ has been found. See also variable `inf-clojure-buffer'."
(unless no-error
(error "No Clojure subprocess; see variable `inf-clojure-buffer'"))))
+(defun inf-clojure-repl-p ()
+ "Indicates if current buffer is an inf-clojure repl.
+Checks the mode and that there is a live process."
+ (and (derived-mode-p 'inf-clojure-mode)
+ (get-buffer-process (current-buffer))
+ (process-live-p (get-buffer-process (current-buffer)))))
+
+(defun inf-clojure-repls-list ()
+ "Return a list of all known inf-clojure repls."
+ (let (repl-buffers)
+ (dolist (b (buffer-list))
+ (with-current-buffer b
+ (when (inf-clojure-repl-p)
+ (push (buffer-name b) repl-buffers))))
+ repl-buffers))
+
(defun inf-clojure-set-repl (always-ask)
"Set an inf clojure buffer as the active repl.
If in a repl already, use that unless a prefix is used (or
@@ -206,21 +222,14 @@ ALWAYS-ASK). Otherwise get a list of all active
inf-clojure
repls and offer a choice. Recommended to rename buffers as they
are created with `rename-buffer`."
(interactive "P")
- (cl-flet ((inf-clojure-repl-p () (and (derived-mode-p 'inf-clojure-mode)
- (get-buffer-process (current-buffer))
- (process-live-p (get-buffer-process
(current-buffer))))))
- (if (and (not always-ask)
- (inf-clojure-repl-p))
- (setq inf-clojure-buffer (current-buffer))
- (let (repl-buffers)
- (dolist (b (buffer-list))
- (with-current-buffer b
- (when (inf-clojure-repl-p)
- (push (buffer-name b) repl-buffers))))
- (if (> (length repl-buffers) 0)
- (when-let ((repl-buffer (completing-read "Use for repl: "
repl-buffers nil t)))
- (setq inf-clojure-buffer (get-buffer repl-buffer)))
- (user-error "No buffers have an inf-clojure process"))))))
+ (if (and (not always-ask)
+ (inf-clojure-repl-p))
+ (setq inf-clojure-buffer (current-buffer))
+ (let ((repl-buffers (inf-clojure-repls-list)))
+ (if (> (length repl-buffers) 0)
+ (when-let ((repl-buffer (completing-read "Use for repl: "
repl-buffers nil t)))
+ (setq inf-clojure-buffer (get-buffer repl-buffer)))
+ (user-error "No buffers have an inf-clojure process")))))
(defvar-local inf-clojure-repl-type nil
"Symbol to define your REPL type.
- [nongnu] elpa/inf-clojure a61dd84 232/313: Insert top level defun into repl, (continued)
- [nongnu] elpa/inf-clojure a61dd84 232/313: Insert top level defun into repl, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure bcd806a 251/313: Unify references to the term REPL, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure a7f07a0 245/313: Set artificial to true on comint-send-input, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure e291da3 274/313: Update README.md, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 787400f 264/313: [Fix #178] Ensure there is a directory for comint (thanks mcphailm), ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 6cb8e43 277/313: Update the CI images, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 477fd7c 272/313: Tweak some wording, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure a98a260 281/313: [#152] Add a changelog entry, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure f4a279e 286/313: [Fix #177] Don't run the tests on Emacs 25, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure b4193fc 289/313: Reindent tests, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure f24722c 294/313: Extract useful functions,
ELPA Syncer <=
- [nongnu] elpa/inf-clojure e1a93c7 121/313: Add lock around REPL type detection, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 5ef6bdf 123/313: Revert "Remove unwanted ansi chars from the REPL output", ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 7441d3b 120/313: Fix REPL type detection, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 2669544 129/313: [Fix #63] Avoid spurious output by using buffer redirection, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 0fbcfcb 140/313: Improve the README a bit, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure db7bfaf 155/313: Fix the changelog, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 42f860f 169/313: Add Multiple Process Support section to README, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 3a93815 170/313: [Fix #105] Add planck-specific function for show-arglist (#106), ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 204e5b7 114/313: Do some cleanup in preparation for a major release, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure d81e266 116/313: [Fix #48] Stop prompting for the symbol at point by default (#51), ELPA Syncer, 2021/08/11