1

エイリアス変数、org-contacts、および mu4e からの連絡先の 3 つのソースから電子メール アドレスを選択する helm コマンドを作成しようとしています。コマンドは正常に機能し、3 つのソースすべてから候補が表示されます。しかし、エイリアスからの選択に作用する関数が 1 つ、組織の連絡先に作用する関数が 1 つ、mu の連絡先に作用する関数が 3 つ必要です。最終結果は、挿入される電子メール アドレスのカンマ区切りのリストです。 .

複数のエントリを選択できますが、Enter キーを押したときに呼び出される関数は、現在のソースのデフォルト アクションであり、選択したエントリを引数として取得しないようで、helm-marked-candidates は取得しません。選択したすべてのエントリが含まれているようです。ソース全体で複数の選択を許可する最小の例を次に示しますが、複数の選択はそれぞれの関数に渡されません。それを行う方法についてのアイデアはありますか?または可能であれば?

(setq helm-source1
  '((name                            . "source 1")
    (candidates                      . (1 2 3 4))
    (action . (lambda (x) (message-box "%s" (helm-marked-candidates))))))

(setq helm-source2
  '((name                            . "source 2")
    (candidates                      . ("a" "b" "c" "d"))
    (action . (lambda (x) (message-box "%s" (helm-marked-candidates))))))

(defun j-insert-emails ()
  "Helm interface to email addresses"
  (interactive)

  (helm :sources '(helm-source1
           helm-source2)))
4

0 に答える 0