1

我正在尝试编写一个 helm 命令来从三个来源中选择电子邮件地址:别名变量、org-contacts 和来自 mu4e 的联系人。该命令运行良好,向我展示了来自所有三个来源的候选人。但是,我需要一个函数来作用于别名的选择,另一个作用于 org-contacts,第三个作用于 mu 联系人,最终结果是插入的以逗号分隔的电子邮件地址列表.

我可以选择多个条目,但是当我按下回车键时调用的函数是我所在的源的默认操作,它似乎没有将所选条目作为参数,并且 helm-marked-candidates 没有t 似乎包含所有选定的条目。这是一个允许跨源进行多项选择的最小示例,但其中多项选择不会传递给相应的函数。关于如何做到这一点的任何想法?或者如果有可能?

(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