17

(interactive)elisp 関数に独自の補完を追加する方法はありますか? 理想的には、タブ補完する文字列のリストを渡したいと思います。またはを使用すると(interactive "D")、ディレクトリ、ファイル、およびバッファ名がそれぞれ補完されることはわかっていますが、より一般的な入力についてはどうでしょうか。(interactive "F")(interactive "b")

4

1 に答える 1

33

への引数interactiveは文字列である必要はありません。そうでない場合は、関数に渡す引数のリストを取得するために評価されます。したがって、次のようなことができます。

(defun insert-foo-bar-or-baz (arg)
  (interactive
   (list
    (completing-read "Choose one: " '("foo" "bar" "baz"))))
  (insert arg))
于 2010-03-04T20:58:37.920 に答える