diff --git a/modules/input/chinese/README.org b/modules/input/chinese/README.org index dc623ef64..427c31b35 100644 --- a/modules/input/chinese/README.org +++ b/modules/input/chinese/README.org @@ -17,6 +17,7 @@ methods: Pinyin and Wubi. ** Packages - [[doom-package:ace-pinyin]] - [[doom-package:chinese-wbim]] if [[doom-module:+wubi]] +- [[doom-package:evil-pinyin]] if [[doom-module::editor evil +everywhere]] - [[doom-package:fcitx]] - [[doom-package:liberime]] if [[doom-module:+rime]] - [[doom-package:pangu-spacing]] diff --git a/modules/input/chinese/config.el b/modules/input/chinese/config.el index 1dbe32753..37cad3a66 100644 --- a/modules/input/chinese/config.el +++ b/modules/input/chinese/config.el @@ -10,7 +10,11 @@ ;; allow vertico/selectrum search with pinyin (cond ((modulep! :completion vertico) - (advice-add #'orderless-regexp :filter-return #'pyim-cregexp-build-regexp-string)) + (advice-add #'orderless-regexp + :filter-return + (if (modulep! :editor evil +everywhere) + #'evil-pinyin--build-regexp-string + #'pyim-cregexp-build-regexp-string))) ((modulep! :completion ivy) (setq ivy-re-builders-alist '((t . pyim-cregexp-ivy)))))) @@ -51,6 +55,14 @@ :config (ace-pinyin-global-mode t)) +(use-package! evil-pinyin + :when (modulep! :editor evil +everywhere) + :after evil + :config + (setq-default evil-pinyin-with-search-rule 'always) + (global-evil-pinyin-mode 1)) + + ;; ;;; Hacks diff --git a/modules/input/chinese/packages.el b/modules/input/chinese/packages.el index 77037907f..58272e324 100644 --- a/modules/input/chinese/packages.el +++ b/modules/input/chinese/packages.el @@ -7,3 +7,5 @@ (package! pangu-spacing :pin "2303013e5cd7852136f1429162fea0e1c8cb0221") (when (modulep! +rime) (package! liberime :pin "8291e22cd0990a99cb2f88ca67a9065a157f39af")) +(when (modulep! :editor evil +everywhere) + (package! evil-pinyin :pin "3e9e501ded86f88e01a4edec5d526ab0fab879d7"))