Compare commits

...

2 Commits

Author SHA1 Message Date
Yushun Cheng c1b2e850b6 [emacs] Replace ibus.el with input-switch.el. 2022-07-28 22:55:46 +08:00
Yushun Cheng 0a231ba688 [emacs] Add pylsp configs. 2022-07-28 22:26:20 +08:00
3 changed files with 47 additions and 23 deletions

View File

@ -235,14 +235,13 @@
;;; help.
(use-package help)
;;; ibus
(unless (equal chezmoi-os "windows")
(use-package ibus
:after (evil)))
;;; info.
(use-package info)
;;; input-switch.
(use-package input-switch
:after (evil))
;;; ivy
(use-package ivy
:demand t
@ -291,6 +290,15 @@
("==" . lsp-format-buffer)
("=r" . lsp-format-region)))
;;; lsp-pylsp.
(use-package lsp-pylsp
:after (lsp-mode)
:demand t
:config
(setq lsp-pylsp-plugins-yapf-enabled t)
; (setq lsp-pylsp-plugins-autopep8-enabled t)
(setq lsp-pylsp-plugins-pyflakes-enabled t))
;;; lua-mode.
(use-package lua-mode
:hook ((lua-mode) .

View File

@ -1,18 +0,0 @@
(defconst ibus-engine-default "xkb:us::eng" "The default I-Bus engine.")
(defvar ibus-engine ibus-engine-default "The current I-Bus engine.")
(defun ibus-enter ()
"Start using current I-Bus engine."
(call-process "ibus" nil nil nil "engine" ibus-engine))
(defun ibus-exit ()
"Stop using current I-Bus engine."
(setq ibus-engine (substring (shell-command-to-string "ibus engine") 0 -1))
(call-process "ibus" nil nil nil "engine" ibus-engine-default))
;; Add hooks.
(add-hook 'evil-insert-state-entry-hook 'ibus-enter)
(add-hook 'evil-insert-state-exit-hook 'ibus-exit)
(provide 'ibus)

View File

@ -0,0 +1,34 @@
(defun input-switch-ibus ()
(defconst ibus-engine-default "xkb:us::eng" "The default I-Bus engine.")
(defvar ibus-engine ibus-engine-default "The current I-Bus engine.")
(defun input-switch-enter ()
"Start using current I-Bus engine."
(call-process "ibus" nil nil nil "engine" ibus-engine))
(defun input-switch-exit ()
"Stop using current I-Bus engine."
(setq ibus-engine (substring (shell-command-to-string "ibus engine") 0 -1))
(call-process "ibus" nil nil nil "engine" ibus-engine-default)))
(defun input-switch-fcitx5 ()
(defvar fcitx5-active nil)
(defun input-switch-enter ()
(when fcitx5-active
(call-process "fcitx5-remote" nil nil nil "-o")))
(defun input-switch-exit ()
(setq fcitx5-active
(equal "2"
(substring (shell-command-to-string "fcitx5-remote") 0 -1)))
(call-process "fcitx5-remote" nil nil nil "-c")))
(when (equal (getenv "XDG_CURRENT_DESKTOP") "KDE") (input-switch-fcitx5))
;; Add hooks.
(add-hook 'evil-insert-state-entry-hook 'input-switch-enter)
(add-hook 'evil-insert-state-exit-hook 'input-switch-exit)
(provide 'input-switch)