aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/nvim/init.vim12
-rwxr-xr-x.local/share/bin/fcitx5-temp-off8
-rwxr-xr-x.local/share/bin/fcitx5-temp-restore7
3 files changed, 21 insertions, 6 deletions
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
index 569e220..4f46e2d 100644
--- a/.config/nvim/init.vim
+++ b/.config/nvim/init.vim
@@ -350,12 +350,7 @@ else
set signcolumn=yes
endif
-if has('patch8.1.1068')
- " Use `complete_info` if your (Neo)Vim version supports it.
- inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
-else
- imap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
-endif
+inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
" coc code navigation
map <silent> <leader>cd <Plug>(coc-definition)
@@ -421,3 +416,8 @@ augroup END
" sneak
let g:sneak#use_ic_scs = 0
+
+" fcitx5
+autocmd InsertEnter * call system("fcitx5-temp-restore &")
+autocmd InsertLeave * call system("fcitx5-temp-off &")
+
diff --git a/.local/share/bin/fcitx5-temp-off b/.local/share/bin/fcitx5-temp-off
new file mode 100755
index 0000000..b2f8ea9
--- /dev/null
+++ b/.local/share/bin/fcitx5-temp-off
@@ -0,0 +1,8 @@
+#!/bin/sh
+mkdir -p "$XDG_DATA_HOME/fcitx5"
+fcitx5-remote > "$XDG_DATA_HOME/fcitx5/state"
+fcitx5-remote -n > "$XDG_DATA_HOME/fcitx5/ime_name"
+
+fcitx5-remote -c
+fcitx5-remote -s 'keyboard-us'
+
diff --git a/.local/share/bin/fcitx5-temp-restore b/.local/share/bin/fcitx5-temp-restore
new file mode 100755
index 0000000..d00b11c
--- /dev/null
+++ b/.local/share/bin/fcitx5-temp-restore
@@ -0,0 +1,7 @@
+#!/bin/sh
+[ ! -e "$XDG_DATA_HOME/fcitx5/state" ] && exit
+[ ! -e "$XDG_DATA_HOME/fcitx5/ime_name" ] && exit
+
+[ `cat "$XDG_DATA_HOME/fcitx5/state"` = "1" ] && fcitx5-remote -c
+[ `cat "$XDG_DATA_HOME/fcitx5/state"` = "2" ] && fcitx5-remote -o
+cat "$XDG_DATA_HOME/fcitx5/ime_name" | xargs fcitx5-remote -s