你看 lsp-bridge buffer 啥内容
你go文件是go-mode吗?你没安装go-mode的插件吧
这是我的配置,go-mode
确实没安装。那我先去装一个go-mode
试试。
(add-to-list 'load-path "/home/fzdwx/.emacs.d/plugins/markdown-mode")
(add-to-list 'load-path "/home/fzdwx/.emacs.d/plugins/yasnippet")
(add-to-list 'load-path "/home/fzdwx/.emacs.d/plugins/posframe")
(add-to-list 'load-path "/home/fzdwx/.emacs.d/plugins/lsp-bridge")
(require 'posframe)
(require 'yasnippet)
(require 'lsp-bridge)
(yas-global-mode 1)
(global-lsp-bridge-mode)
(setq lsp-bridge-enable-log t)
好的。我现在需要使用多个server的场景还是用lsp-mode,其他的都切换成bridge了。
再退回 lsp-mode 感觉太慢了
我也是写 CSS ,多个 server 一起开比较理想,不能开也还好
多场景的测试代码和期望的语言服务器发一下吧,我有空看看,最近在忙家里的事情,确实太累了,就晚上有空摸会电脑。
晚上研究了一下, 技术上 lsp-bridge 是可以一个文件支持多个 server, 但是会带来很多额外的问题, 比如定义跳转、帮助文档会存在多个 server 返回的情况。
目前还没想好怎么做, 先暂时不动。
如果额外的 LSP 服务器只是提供额外的补全, 倒是实现不麻烦, 如果对查找定义、 查找文档、 重命名、 Code Action 都需要支持多个 LSP 服务器, 就非常麻烦, 而且目测会很多 bug
如何处理没有 lsp 的 mode 下的补全,比如 systemd-mode 提供了 systemd units 的部分关键字补全?
如果对这些 mode 开启 corfu 或者 company,如何防止它们在使用 lsp 的 mode 下和 acm 冲突?
可以给acm编写systemd的补全后端,就像acm提供英语补全一样,创建一个systemd关键字的内存词典就好了。
是的,emmet-ls仅仅是为了扩展补全,我觉得你可以支持 (Major-mode '(server1 server2 …))类似的,所有定义,跳转,文档功能都仅限于server1。毕竟多server模式我也只见过css+emmet,html+emmet,需求场景少并不复杂。
没这么简单, emmet-ls 是为了补全, 有些lsp server, 比如 eslient 是为了诊断。
多个服务器的需求还需要进一步讨论, 想清楚再动手。
eslint server我还没用过。。我一直使用flycheck配置的。我去看了下,好像功能还挺多的,autofix,document之类,那这就麻烦了感觉。
写了下关于虚拟环境的配置,有需要的可以看一下
赞啊,字数补丁
卧槽,谢谢大佬
这个acm能用于minibuffer补全吗?
理论上可以,但是没有必要