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`)
触发带有 bar
和 baz
选项的下拉菜单。
作为一种解决方法,我目前正在使用 (2),但它至少需要有第一个字符(自动完成所有选项不起作用)。
有更好的方法吗?
谢谢
对我来说,当出现一个字符时,自动完成也适用于情况 (1)。它似乎并没有特别意识到属于协议的功能,CIDER 只是意识到范围内的功能。如果没有第一个字符, completion-at-point 似乎不会切换。也许你可以尝试在 clojurians.slack.org?
的 #cider 上提问
是否可以在 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`)
触发带有 bar
和 baz
选项的下拉菜单。
作为一种解决方法,我目前正在使用 (2),但它至少需要有第一个字符(自动完成所有选项不起作用)。
有更好的方法吗? 谢谢
对我来说,当出现一个字符时,自动完成也适用于情况 (1)。它似乎并没有特别意识到属于协议的功能,CIDER 只是意识到范围内的功能。如果没有第一个字符, completion-at-point 似乎不会切换。也许你可以尝试在 clojurians.slack.org?
的 #cider 上提问