lsp-bridge -- 速度最快的语法补全插件

没法完全在后端处理好这个问题,因为 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 子串应该就可以

1 个赞