diff --git a/plugin/fcitx.py b/plugin/fcitx.py index ccee097..3cbd642 100644 --- a/plugin/fcitx.py +++ b/plugin/fcitx.py @@ -26,6 +26,13 @@ class FcitxComm: else: return im + def current_and_rime(self): + im = self.fcitx.CurrentInputMethod() + if im == 'rime': + return 'rime:' + self._get_rime().GetCurrentSchema() + else: + return im + def _get_rime(self): if self._rime is None: obj = self.bus.get_object('org.fcitx.Fcitx5', '/rime') @@ -90,3 +97,7 @@ def fcitx2zh(): @may_reconnect def fcitx_current_im(): return Fcitx.current() + +@may_reconnect +def fcitx_current_im_and_rime(): + return Fcitx.current_and_rime() diff --git a/plugin/fcitx.vim b/plugin/fcitx.vim index 1cb837e..ee85606 100644 --- a/plugin/fcitx.vim +++ b/plugin/fcitx.vim @@ -51,6 +51,9 @@ elseif has('python3') function FcitxCurrentIM() return py3eval('fcitx_current_im()') endfunction + function FcitxCurrentIMwithRime() + return py3eval('fcitx_current_im_and_rime()') + endfunction let g:loaded_fcitx = 1 endif