这里使用 company + eglot + typescript-language-server,补全列表里面很多不是想要的待选项。这个结果应该哪里来过滤?Company,Eglot 还是 typescript-language-server ?
按照这个帖子里说 typescript-language-server 后端给出多余项是正常表现。还有 Eglot 表现是没有多余项,多余项是 Eglot 过滤的?还是前端补全框架 Company ?
这里使用 company + eglot + typescript-language-server,补全列表里面很多不是想要的待选项。这个结果应该哪里来过滤?Company,Eglot 还是 typescript-language-server ?
按照这个帖子里说 typescript-language-server 后端给出多余项是正常表现。还有 Eglot 表现是没有多余项,多余项是 Eglot 过滤的?还是前端补全框架 Company ?
可以试试
(defun my-company-capf--candidates (func &rest args)
"Try default completion styles."
(let ((completion-styles '(basic partial-completion)))
(apply func args)))
(advice-add 'company-capf--candidates :around 'my-company-capf--candidates)
你这个不存在多余选项,不属于我所说的现象,而是开启了模糊匹配。
这里哪个是多余项?不是模糊匹配的正常返回结果吗?不喜欢关闭模糊匹配就行了。
是因为eglot 默认用的是flex,不喜欢可以自己定义completion-category-overrides这个变量,改为 basic或者其他。
比如,我是喜欢用 orderless 的是这样设置:
感谢各位大佬的解答