ivy-restrict-to-matches 的结果如何作为+ivy/woccur的输入?

我目前在用doom emacs+ivy,有个比较常见的使用场景:

通过ivy来直接搜索整个项目里的某个关键词,如upgrade,结果有3000+,而直接搜索usb,结果有700+。 我搜索upgrade然后用ivy-restrict-to-matches,输入关键词usb进行二次过滤,结果有20+,此时我想对这20+搜索结果进行批量操作,执行 +ivy/woccur后发现buffer里的结果有700+,是直接搜索关键词usb的结果,不是我的期望的20+个。

请问是哪里出问题了呢?

看起来像是并没有把搜索结果给 +ivy/woccur,只传递了搜索关键字。不过我不了解 doom 和 ivy,不知道问题具体出现在哪个环节。

传递结果可以在 ivy actions 里面完成,像这样:

应该也可以用 embark 实现。