blove
2313
感觉实时切换 StarDict 字典也非常方便。
自己写了对应切换字典的函数,绑定到快捷键,立即实时切换到目标词典!爽~!!!
;;; --- blove/korean-zh-dict
(defun toggle-dict-kc ()
"switch to korean-zh dict."
(interactive)
(setq acm-backend-search-sdcv-words-dictionary (expand-file-name "naver_krcn/Naver_KrCn" user-emacs-directory))
(lsp-bridge-restart-process)
)
;;; --- blove/zh-korean-dict
(defun toggle-dict-ck ()
"switch to zh-korean dict."
(interactive)
(setq acm-backend-search-sdcv-words-dictionary (expand-file-name "naver_cnkr/Naver_CnKr" user-emacs-directory))
(lsp-bridge-restart-process)
)
2 个赞
问个lsp-bridge使用问题:
目前遇到这样一个问题,比如,我需要对nginx 二次开发,由于头文件分散在各个目录下,需要include才能补全,怎么在lsp-bridge中设置c项目的包含目录,配置ccls后在项目根目录下.ccls不生效(lsp-mode可以)。
第二个,由于python项目是很老的项目,模块的目录也不规范,导致一些公用的目录在python项目本身的目录之外,怎么设置让其能找到。
这些你要分别研究ccls和pyright的配置,自己编写ccls.json和pyright.json
然后设置lsp-bridge用你定制化的json文件加载。
blove
2316
虽然 sdcv-helper 已经带来的极大的简易使用方式,无需再 fork lsp-bridge 的代码了。但是本着探索好奇,简单 fork 了一下,换成自定义 svg图标,并结合自己的使用习惯,形成系统的快捷切换。
;;;
;;; --- dec init var
;;;
(defvar my-lang "defor"
"for no sdcv-helper.")
(defvar or-acm-icon-dir acm-icon-dir
"get init acm-icon-dir.")
;;;
;;; --- main icons path func
;;;
(defun blove-icons-path (my-lang)
(interactive)
(when (string= my-lang "korean")
(setq acm-icon-dir (expand-file-name "svg/korean" user-emacs-directory))
)
(when (string= my-lang "us-eng")
(setq acm-icon-dir (expand-file-name "svg/us-eng" user-emacs-directory))
)
(when (string= my-lang "ox-eng")
(setq acm-icon-dir (expand-file-name "svg/ox-eng" user-emacs-directory))
)
(when (string= my-lang "defor")
(setq acm-icon-dir or-acm-icon-dir)
)
)
;;;
;;; --- fork acm-icon-filepath
;;;
(advice-add 'acm-icon-filepath
:before (lambda (collection name)
(blove-icons-path my-lang)
)
)
;;;
;;; --- toggle dict
;;;
;;; :: blove/korean-zh-dict
;;;
(defun toggle-dict-kc ()
"switch to korean-zh dict."
(interactive)
(setq my-lang "korean")
(setq acm-backend-search-sdcv-words-dictionary (expand-file-name "blove_krcn/krcn" user-emacs-directory))
(lsp-bridge-restart-process)
)
;;;
;;; :: my-sdcv-toggle
;;;
(defun blove/toggle-sdcv ()
(interactive)
(lsp-bridge-toggle-sdcv-helper)
(if acm-enable-search-sdcv-words
(setq spc-add 0)
(progn
(setq my-lang "defor")
(setq spc-add 20)
)
)
)
目前的办法是~将用到的多个 svg 图标文都命名为相同的 material_file-find-outline.svg,分别放到对应的目录内。通过 fork (acm-icon-filepath) 这个函数,在特定条件下切换到对应的自定义 svg 目录内!
Jerry
2317
Archlinux + 最新版lsp-bridge
*Messages*
报错
Error in post-command-hook (lsp-bridge-monitor-post-command): (void-function org-at-table-p)
辛苦大佬看一下
今天的补丁, 避免 lsp-bridge 在 org 表格中弹出补全, 已经修复了, 更新吧。
1 个赞
wd1
2323
我尝试在 doom 下使用,提示这个错误
Error in private config: config.el, (file-missing Cannot open load file No such file or directory acm)
我看了 stright clone lsp-bridge 是成功的,我是还需要装一个 acm 相关的包吗?还是这个应该是 lsp-bridge 自带的?
lsp-bridge-toggle-sdcv-helper
1 个赞
Emacs 29 的 make-frame-invisible‘ 函数性能太慢了(Emacs 28 很快), 导致 acm 菜单打字非常卡, 上面这个补丁暂时用
run-with-timer’ 绕过 Emacs 29 这个问题。
现在 Emacs 29 应该不卡了, 但是我的体验, Emacs 28 的性能反而比 Emacs 29 好。
我今天测试的结果是, Emac28 下ACM的性能最少是 Emacs29 两倍。
Emacs28下 lsp-bridge 非常丝滑, Emacs29下 acm 渲染很慢, 原因未知。
如果大家重度使用 lsp-bridge, 推荐使用 Emacs 28, 我的版本是 GNU Emacs 28.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, cairo version 1.17.6) of 2022-09-12
2 个赞
应该是个bug, 我在gopls 下,候选项老是停在 yasnippet 的条目上面。
这个挺容易触发的,我分别试了两次单独输入 ‘s’ 一次停在最后一个s(search word) 一次停在resdb(yas-snippet). 可能工程要大一点吧的时候会比较容易触发,而且要有点耐心,因为不是每次都会触发。
因为最近写代码老是一不小心把yasnippet 给补全上去所以就比较心烦。
再就是,因为明明想补全第一个,但是手速快的时候,就不知道补全的到底是个啥了 有点违反直觉了。
我刚去看了下lsp-bridge buf 的简略日志 发现有挺多这种报错的