Ina*_*thi 16 emacs elisp interactive
有没有办法将自己的完成添加到(interactive)
elisp函数中?理想情况下,我想传递一个字符串列表,它可以从中完成.我知道,使用(interactive "D")
,(interactive "F")
或(interactive "b")
分别给你的目录,文件和缓冲区名完成,但对于更广泛的投入?
Sea*_*ean 29
interactive
不必是字符串的参数; 如果不是,则评估它以获取要传递给函数的参数列表.因此,您可以这样做:
(defun insert-foo-bar-or-baz (arg)
(interactive
(list
(completing-read "Choose one: " '("foo" "bar" "baz"))))
(insert arg))
Run Code Online (Sandbox Code Playgroud)