Emacs + cider:自动完成 defprotocol 方法。可能与否?

Emacs + cider: Autocomplete defprotocol methods. Possible or not?

是否可以在 Emacs 中自动完成 defprotocol 方法?

一个例子:

(defprotocol Foo
  (bar [this])
  (baz [this])

(deftype Qux [a b c]
  Foo
  (bar [this] a)
  (baz [this] b))

(bar (Qux. 1 2 3))
(baz (Qux. 1 2 3))

我正在寻找这样的东西(伪代码):

;; (1)
(`M-Tab` (Qux. 1 2 3)) 
;;
;; or (2):
(-> (Qux. 1 2 3) `M-Tab`)

触发带有 barbaz 选项的下拉菜单。 作为一种解决方法,我目前正在使用 (2),但它至少需要有第一个字符(自动完成所有选项不起作用)。

有更好的方法吗? 谢谢

对我来说,当出现一个字符时,自动完成也适用于情况 (1)。它似乎并没有特别意识到属于协议的功能,CIDER 只是意识到范围内的功能。如果没有第一个字符, completion-at-point 似乎不会切换。也许你可以尝试在 clojurians.slack.org?

的 #cider 上提问