最近一直跟随大佬们在Emacs里用telega,也逐渐开始喜欢在emacs里集中做事的方式。我用的是doom-emacs,跟其它的emacs配置版本有些不同。一是像spacemacs一样,doom-emacs 也是全局使用evil包,这样对于类似我这样的vim党比较容易适应;二是doom-emacs里进行了比较深的封装,导致有些个性化配置不能生效。比如我想在telega里使用 telega-company-emoji包进行表情补全,却发现按照官网的示例无论如何都不能生效,最后发现还是doom-emacs对company-backends的特殊处理造成的。因此对配置进行了一些修改,总算能正常使用了,现在贴出最终配置(11月21日更新,注意在packages.el里加上telega 包):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| ;; telegram client for emacs
(use-package! telega
:commands (telega)
:defer t
:bind ("C-c t" . #'telega)
:init
(unless (display-graphic-p) (setq telega-use-images nil))
:hook
('telega-root-mode . #'evil-emacs-state)
('telega-chat-mode . #'evil-emacs-state)
('telega-chat-mode . #'yas-minor-mode)
('telega-chat-mode . (lambda ()
(set-company-backend! 'telega-chat-mode
(append '(telega-company-emoji
telega-company-username
telega-company-hashtag)
(when (telega-chat-bot-p telega-chatbuf--chat)
'(telega-company-botcmd))))
(company-mode 1)))
('telega-chat-pre-message . #'telega-msg-ignore-blocked-sender)
:config
(setq telega-proxies
(list '(:server "127.0.0.1" :port 1086 :enable t
:type (:@type "proxyTypeSocks5"))))
(set-popup-rule! "^\\*Telega Root"
:side 'right :size 100 :quit nil :modeline t)
(set-popup-rule! "^◀\\(\\[\\|<\\|{\\).*\\(\\]\\|>\\|}\\)"
:side 'right :size 100 :quit nil :modeline t)
(telega-mode-line-mode 1))
|