From b2cdacf457e951d86f9b68f3ffaa85c42da950e1 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 23 Feb 2023 02:25:01 -0500 Subject: [PATCH] feat(chinese): add +rime Allows pyim users to select rime as a backend. Close: #6482 Co-authored-by: merrickluo --- modules/input/chinese/README.org | 11 ++++++++++- modules/input/chinese/config.el | 14 ++++++++++++++ modules/input/chinese/packages.el | 2 ++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/modules/input/chinese/README.org b/modules/input/chinese/README.org index db310e9be..dc623ef64 100644 --- a/modules/input/chinese/README.org +++ b/modules/input/chinese/README.org @@ -11,12 +11,14 @@ methods: Pinyin and Wubi. *This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]] ** Module flags -/This module has no flags./ +- +rime :: + Enables the [[https://rime.im/][rime]] backend for pyim. ** Packages - [[doom-package:ace-pinyin]] - [[doom-package:chinese-wbim]] if [[doom-module:+wubi]] - [[doom-package:fcitx]] +- [[doom-package:liberime]] if [[doom-module:+rime]] - [[doom-package:pangu-spacing]] - [[doom-package:pyim]] unless [[doom-module:+wubi]] @@ -35,6 +37,13 @@ methods: Pinyin and Wubi. 🔨 This module is missing install instructions. [[doom-contrib-module:][Write some?]] #+end_quote +If you want to use rime as the input method engine: +- Emacs must be built with dynamic module support, i.e. compiled with the + =--with-modules= option. +- You need =librime= installed on your system. +- You need =make=, =cmake= and a C compiler such as =gcc= so that liberime can + build =liberime-core.so=. + * TODO Usage #+begin_quote 🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]] diff --git a/modules/input/chinese/config.el b/modules/input/chinese/config.el index 7cbc99202..4334f2734 100644 --- a/modules/input/chinese/config.el +++ b/modules/input/chinese/config.el @@ -9,6 +9,20 @@ default-input-method "pyim")) +(use-package! liberime + :when (modulep! +rime) + :init + (setq liberime-auto-build t + liberime-user-data-dir (file-name-concat doom-cache-dir "rime"))) + + +(use-package! pyim-liberime + :when (modulep! +rime) + :after liberime + :config + (setq pyim-default-scheme 'rime)) + + (use-package! pangu-spacing :hook (text-mode . pangu-spacing-mode) :config diff --git a/modules/input/chinese/packages.el b/modules/input/chinese/packages.el index 4b0e003a3..77037907f 100644 --- a/modules/input/chinese/packages.el +++ b/modules/input/chinese/packages.el @@ -5,3 +5,5 @@ (package! fcitx :pin "12dc2638ddd15c8f6cfaecb20e1f428ab2bb5624") (package! ace-pinyin :pin "47662c0b05775ba353464b44c0f1a037c85e746e") (package! pangu-spacing :pin "2303013e5cd7852136f1429162fea0e1c8cb0221") +(when (modulep! +rime) + (package! liberime :pin "8291e22cd0990a99cb2f88ca67a9065a157f39af"))