[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/inf-clojure b897bb8 031/313: Show arglist in the minibuffe
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/inf-clojure b897bb8 031/313: Show arglist in the minibuffer for better usability |
Date: |
Wed, 11 Aug 2021 09:59:40 -0400 (EDT) |
branch: elpa/inf-clojure
commit b897bb87a885de384d2b720e737a42d4a9e1f751
Author: Bozhidar Batsov <bozhidar@tradeo.com>
Commit: Bozhidar Batsov <bozhidar@tradeo.com>
Show arglist in the minibuffer for better usability
---
inf-clojure.el | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/inf-clojure.el b/inf-clojure.el
index 0c88d71..87edee1 100644
--- a/inf-clojure.el
+++ b/inf-clojure.el
@@ -426,7 +426,12 @@ Used by this command to determine defaults."
"Command to query inferior Clojure for a var's source.")
(defvar inf-clojure-arglist-command
- "(:arglists (clojure.core/meta #'%s))\n"
+ "(try
+ (:arglists
+ (clojure.core/meta
+ (clojure.core/resolve
+ (clojure.core/read-string \"%s\"))))
+ (catch Throwable t nil))"
"Command to query inferior Clojure for a function's arglist.")
(defvar inf-clojure-completion-command
@@ -509,7 +514,25 @@ See variable `inf-clojure-var-source-command'."
"Send a query to the inferior Clojure for the arglist for function FN.
See variable `inf-clojure-arglist-command'."
(interactive (inf-clojure-symprompt "Arglist" (inf-clojure-fn-called-at-pt)))
- (comint-proc-query (inf-clojure-proc) (format inf-clojure-arglist-command
fn)))
+ (let* ((proc (inf-clojure-proc))
+ (line (buffer-substring (save-excursion (move-beginning-of-line 1)
+ (point))
+ (point)))
+ (comint-filt (process-filter proc))
+ (kept "")
+ eldoc)
+ (set-process-filter proc (lambda (proc string) (setq kept (concat kept
string))))
+ (unwind-protect
+ (let ((eldoc-snippet (format inf-clojure-arglist-command fn)))
+ (process-send-string proc eldoc-snippet)
+ (while (and (not (string-match inf-clojure-prompt kept))
+ (accept-process-output proc 2)))
+ ; some nasty #_=> garbage appears in the output
+ (setq eldoc (and (string-match "(.+)" kept) (match-string 0 kept)))
+ )
+ (set-process-filter proc comint-filt))
+ (when eldoc
+ (message "%s: %s" fn eldoc))))
(defun inf-clojure-show-ns-vars (ns)
"Send a query to the inferior Clojure for the public vars in NS.
- [nongnu] elpa/inf-clojure ca57a86 020/313: [Fix #3] Remove automatic addition of inf-clojure-minor-mode to clojure-mode-hook, (continued)
- [nongnu] elpa/inf-clojure ca57a86 020/313: [Fix #3] Remove automatic addition of inf-clojure-minor-mode to clojure-mode-hook, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 7272678 007/313: clojure -> Clojure, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 1392907 015/313: Add command clojure-show-ns-vars, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 1dfc5f7 023/313: Depend of clojure-mode 4.0, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 5debecc 024/313: Release 1.0, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure b61efe1 008/313: Make the completion command customizable, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 7b377a4 013/313: Drop redundant function, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure f65ce48 021/313: Enable completion in inf-clojure-minor-mode, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 7b9e0d1 029/313: Code style, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure ef8c830 030/313: Use #' where appropriate, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure b897bb8 031/313: Show arglist in the minibuffer for better usability,
ELPA Syncer <=
- [nongnu] elpa/inf-clojure 89035ee 033/313: Merge pull request #9 from mavbozo/ms-windows-hang, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure dd2b4fc 038/313: Code style, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 898a319 041/313: Improve the README a bit, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure ff20773 044/313: Release 1.2.0, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 0652692 012/313: Preprocess the output from interactive commands, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 85d3d41 014/313: Extract a chomp helper, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure abb5a53 017/313: Add macroexpand command, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 3c2a1ed 022/313: Rename switch-to-clojure to inf-clojure-switch-to-repl, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure f00b2b5 026/313: Add a menu for inf-clojure-minor-mode, ELPA Syncer, 2021/08/11
- [nongnu] elpa/inf-clojure 0d5f715 027/313: Unify the style of the REPL and minor mode menus, ELPA Syncer, 2021/08/11