company-lsp 终于来了

这么久了,终于有人憋不住了给 lsp-mode (The Language Server Protocol )写了 company backend:

2 个赞

:rofl::rofl: 哈哈哈哈终于有人动手写了。

跟我们比“忍”,还嫩点。。。。

你们是懒癌晚期了么

普及一下,lsp-mode是干啥用的?

Microsoft 主持开发的主流语言通用补全后端。

写了几行扔一边了 :sweat_smile:

哈哈,其实这个不是很难写,不过目前功能很有限就是了

5 个赞

哈哈,作者现身了

其实lsp-mode配合company-capf用起来已经可以了。company-lsp的功能都可以在lsp-mode里实现。只是我提交的pull-request一直没人理所以只能自己干了。

求指导company-capf怎么用,据说这个后端加company-flx可以fuzzy-match,帖子在这里

company-capf只有在你的buffer里指定了completion-at-point-functions的时候有用。一般是需要major mode实现或者由像lsp-mode这样的第三方包来实现。

我一般这样在我想要的mode里启用company-capf:

(add-hook 'java-mode-hook
          (lambda ()
            (set (make-variable-buffer-local 'company-backends)
                 '(company-capf))))

关键就是设置company-backends,这个变量指定了company的补全后端使用什么。

哦,completion-at-point-functions只有(tags-completion-at-point-function),怪不得我用company-capf没补全

如果那个 PR 已经没有意义了,建议关闭并删除相关分支

我也有过这种经历,我发 issue 表示有意汉化某项目,结果被无视了。

今天试了下,company-lsp结合yasnippet很好用,Python, Go, Java 中都能实现completion-at-point功能。

你这是什么gtk theme

這是 macOS :joy:

:joy:不好意思,孤陋寡闻了…

lsp-mode还是不成熟不稳定,用了几天放弃了。等段时间再看吧

java的话,可以做语义跳转么,不知道你之前用过java的哪些mode?这个lsp-mode会考虑项目管理么