这个应该是我的提交引入的,抱歉 ,我先看看 报错之后就无法输入中文了吗?
是的,报错后无法输入中文,其它补全也实效,重启lsp-bridge也无效!
可以回滚你那个补丁,中文过滤在你的后端过滤,不要全局过滤。
应该就不会影响其他补全后端了。
ess进程是啥?另外一个lsp server?
没法完全在后端处理好这个问题,因为 acm 的边框起点用的是
(setq acm-frame-popup-point (or (car bounds) (point)))
而 bounds 原本是直接用 (bounds-of-thing-at-point 'symbol)
获得的,这种情况如果
输入是 “我们使用ema”,得到的边界的起点是 “我”,终点是 “a”, 导致无法对 ema弹出补全候选词 “emacs”, 因为整个前缀是 “我们使用ema” 而不是 “ema”,这对 Search word 乃至所有后端都是失效的
主要问题是因为 bounds-of-thing-at-point 不会对中英文自动分开处理 我在 lsp-bridge -- 速度最快的语法补全插件 - #2103,来自 twiddling 里用 string-match 去找第一个 ascii 字符的位置,然后加上 offset 把中文排除,但如果全是中文,返回的 offset 就是 nil ,而 nil 还要继续参与加法导致报错。
我改成从后往前搜 ascii 子串应该就可以
修改 acm-update-candidates
吧,我自己 hack 了一个和你的想法差不多的
是R的REPL
你们玩的太高端了,把我整不会了,发补丁吧
@zwwang 确实如 @hilde 所说, acm 现在融合各个后端的函数就是 acm-update-candidates
高级用户可以自己编写这个函数, 但是要注意随时检查最新版的实现以方便自己 fork
大佬,这个位置被占用了。我想弄个类似现在的查找代码引用的函数,但是又不想破坏现在的这个lsp-bridge-find-references。现在的这个用来重构代码非常好用,但是我又想弄个别的来查看代码。
一样,我这里 gopls
pyright 一样
我最后一个补丁写的有问题,我已经回滚了,不好意思。
谢谢,收到!
不好意思,没看懂你说的啥意思。
没事没事,忽略就好了,已经解决了