lsp+ bingo针对go-mode补全无法忽略大小写


#1

系统,debian9。emacs 27。 使用lsp进行补全,在python中补全能够做到不分大小写,就是说输入小写也可跳出包含大写的补全列表。但是在go-mode中却做不到。 因为go可导出方法为大写字母开头,要输入大写字母才可补全,比如fmt.Println,输入fmt.之后要按大写的P才能弹出补全候选项,这样需要多按两次大写键或按住Shift键。能不能设置成补全忽略大小写呢?

使用centaur的配置无法实现我要的效果。到github上bingo提要求,saibing大大回答说在vscode和vim中可以实现,所以不重复实现这个功能。


#2

company-lsp-cache-candidates设为'auto可以解决这个问题。

原理是'auto是靠company-lsp过滤补全(前提是bingo已经返回完整的补全项目),而company-lsp是不区分大小写的。

但是这只是半个解决方案,如果你在fmt.p后面触发补全,结果还是什么都补全不到,因为结果已经被bingo过滤掉了。我怀疑vscode和vim里也是如此。


#3

@ tigersoldier,问题解决了!太感谢了!