怎样给 Ivy 添加拼音支持

在doom下,由于使用了ivy-prescient,采用增加advice方式支持pinyin:

  (defun pinyin/around (old-fun query &rest args)
    (let ((result (apply old-fun query args))
          (pinyin nil))
      (when (and (> (length query) 0)
                 (equal (substring query 0 1) ":"))
        (setq pinyin (evil-pinyin--build-regexp (substring query 1)))
        (setq result (list (concat pinyin ".*"))))
      result))
  (advice-add 'prescient-filter-regexps :around #'pinyin/around)