popup.elはauto-complete.elでも使われているように素晴しいelispです。
とはいえ、中には候補選択インターフェースとして
helm(カテゴリ) やido(カテゴリ) の方が好きな人もいるでしょう。
popup.elのポップアップメニューのエントリポイントは popup-menu* 関数です。
リストを取り、その中のたった1つの候補を返します。
それならばhelmやidoの同種の関数に置き換えることは
nadvice.elによるoverrideアドバイス を使えば簡単です。
popup-menu*関数は 先日紹介した dump-jump.el でも使われています。
helm化する
(defun popup-menu*--helm (selection &rest ignore) (helm-comp-read "Popup menu: " selection :must-match t)) (advice-add 'popup-menu* :override 'popup-menu*--helm)
ido化する
(defun popup-menu*--ido (selection &rest ignore) (ido-completing-read "Popup menu: " selection nil t)) (advice-add 'popup-menu* :override 'popup-menu*--ido)
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。