mirror of
https://github.com/lilydjwg/fcitx.vim.git
synced 2025-12-26 09:54:57 +08:00
add a function for current IM name
for showing info e.g. on the status line. closes #32.
This commit is contained in:
parent
7f06ccfa8a
commit
d79d816e24
3 changed files with 17 additions and 0 deletions
|
|
@ -22,6 +22,8 @@ Requirements for `fcitx5-remote` mode (`g:fcitx5_remote` is set):
|
||||||
|
|
||||||
If you are using `fcitx5-rime` (which has its own state), `let g:fcitx5_rime = 1` in your `.vimrc`.
|
If you are using `fcitx5-rime` (which has its own state), `let g:fcitx5_rime = 1` in your `.vimrc`.
|
||||||
|
|
||||||
|
The `FcitxCurrentIM()` function can be used to get current IM's name.
|
||||||
|
|
||||||
Links:
|
Links:
|
||||||
|
|
||||||
* [git repo](https://github.com/lilydjwg/fcitx.vim)
|
* [git repo](https://github.com/lilydjwg/fcitx.vim)
|
||||||
|
|
@ -57,6 +59,8 @@ D-Bus 只在同一用户时有效,所以使用 `sudo vim` 时本代码就失
|
||||||
|
|
||||||
如果使用 `fcitx5-rime`(它自己有输入状态),在 `.vimrc` 中设置 `let g:fcitx5_rime = 1`。
|
如果使用 `fcitx5-rime`(它自己有输入状态),在 `.vimrc` 中设置 `let g:fcitx5_rime = 1`。
|
||||||
|
|
||||||
|
`FcitxCurrentIM()` 函数可以用于获取当前输入法的名字。
|
||||||
|
|
||||||
链接:
|
链接:
|
||||||
|
|
||||||
* [git 仓库](https://github.com/lilydjwg/fcitx.vim)
|
* [git 仓库](https://github.com/lilydjwg/fcitx.vim)
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,9 @@ class FcitxComm():
|
||||||
def deactivate(self):
|
def deactivate(self):
|
||||||
self.fcitx.Deactivate()
|
self.fcitx.Deactivate()
|
||||||
|
|
||||||
|
def current(self):
|
||||||
|
return self.fcitx.CurrentInputMethod()
|
||||||
|
|
||||||
class FcitxRimeComm():
|
class FcitxRimeComm():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
bus = dbus.SessionBus()
|
bus = dbus.SessionBus()
|
||||||
|
|
@ -33,6 +36,9 @@ class FcitxRimeComm():
|
||||||
def deactivate(self):
|
def deactivate(self):
|
||||||
self.fcitx.SetAsciiMode(True)
|
self.fcitx.SetAsciiMode(True)
|
||||||
|
|
||||||
|
def current(self):
|
||||||
|
return self.fcitx.GetCurrentSchema()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if vim.eval('get(g:, "fcitx5_rime")') == '1':
|
if vim.eval('get(g:, "fcitx5_rime")') == '1':
|
||||||
FcitxComm = FcitxRimeComm
|
FcitxComm = FcitxRimeComm
|
||||||
|
|
@ -69,3 +75,7 @@ def fcitx2zh():
|
||||||
vim.command('let b:inputtoggle = 0')
|
vim.command('let b:inputtoggle = 0')
|
||||||
else:
|
else:
|
||||||
vim.command('let b:inputtoggle = 0')
|
vim.command('let b:inputtoggle = 0')
|
||||||
|
|
||||||
|
@may_reconnect
|
||||||
|
def fcitx_current_im():
|
||||||
|
return Fcitx.current()
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ elseif has('python3')
|
||||||
function Fcitx2zh()
|
function Fcitx2zh()
|
||||||
py3 fcitx2zh()
|
py3 fcitx2zh()
|
||||||
endfunction
|
endfunction
|
||||||
|
function FcitxCurrentIM()
|
||||||
|
return py3eval('fcitx_current_im()')
|
||||||
|
endfunction
|
||||||
|
|
||||||
let g:loaded_fcitx = 1
|
let g:loaded_fcitx = 1
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue