我有个疑问,为什么你跳转到标准库后 lsp-bridge-mode 就没了,lsp-bridge-mode 不是可以在受支持的文件类型下自动启用的嘛,然后在标准库里也可以接着跳转定义啊
可以 work around 一下,我的解决方法如下
(require 'xref)
(defun find-definitions-with-lsp-bridge ()
(interactive)
(if lsp-bridge-mode (lsp-bridge-find-def)
(call-interactively 'xref-find-definitions)))
(add-to-list 'xref-prompt-for-identifier #'find-definitions-with-lsp-bridge 'append)
(global-set-key (kbd "M-.") #'find-definitions-with-lsp-bridge)
(advice-add #'lsp-bridge--jump-to-def :around (lambda (&rest args) (xref--push-markers) (apply args)))
把persistent-scratch这个包停用了就好了
并不是,我不是要在 lsp-bridge 没开启的时候使用别的跳转方式
不在之前的 project 下面没开启也很正常啊
ps: 我不是用 global-lsp-bridge-mode
那你给你需要的 mode hook (按你的情况就是你那个标准库) 手动启用 lsp-bridge-mode 不就行了,eglot 本质上也是在相应 mode hook 下启动的而已,只是你没有感知而已,做的工作是一样的。如果你不想用 global-lsp-bridge-mode,那用法也应该是加 hook,而不是手动启用
该装的都装了
好的,我试试
停了persistent-scratch
这个包好像也不是一个很好的解决办法,这个问题好像是在这个包写入文件的时候调用了lsp-bridge
服务导致找不到当前服务导致
抱歉我就是手动启动的,而且 lsp-bridge 不支持 tramp,如果我编辑远程的时候想用 lsp 只能用 eglot
今天发现一个小问题。疑似 lsp-bridge 对于 mode-line 支持有乱码?
因为之前一直使用 doom-modeline,没有注意这个乱码。今天在另一个系统上使用 simple-modeline后,开启lsp-bridge 出现了乱码,而关闭 lsp-bridge 后乱码消失。
emacs -Q
后,加载 lsp-bridge 最简配置,也会在 mode-line 出现乱码。
以上遇到的问题,是在更新到最新 lsp-bridge 后,分别使用 emacs 27.2、28.1、29.0 时,都会存在。
不知道大家是否也遇到了相同的状况?
这不是乱码。。。这是正体字的“桥”啊。。。minor mode的 lighter 就是它。。。 工程全局搜 :lighter
你就懂了
好的!谢谢!请原谅我的无知!
emacs29.0.50,win10, 使用lsp-bridge时,感觉补全有时正确有时不完整,看lsp-bridge的log,发现有如下信息:
Exception in thread Thread-3:
Traceback (most recent call last):
File "c:\Python\Python39\lib\threading.py", line 980, in _bootstrap_inner
self.run()
File "c:\Python\Python39\lib\threading.py", line 917, in run
self._target(*self._args, **self._kwargs)
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\lsp_bridge.py", line 105, in event_dispatcher
getattr(self, func_name)(*func_args)
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\lsp_bridge.py", line 227, in _do
open_file_success = self._open_file(filepath) # _do is called inside event_loop, so we can block here.
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\lsp_bridge.py", line 199, in _open_file
self.create_file_action(filepath, lang_server_info, lsp_server)
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\lsp_bridge.py", line 148, in create_file_action
action = FileAction(filepath, lang_server_info, lsp_server, lsp_bridge=self, **kwargs)
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\core\fileaction.py", line 69, in __init__
self.lsp_server.attach(self)
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\core\lspserver.py", line 227, in attach
self.send_initialize_request()
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\core\lspserver.py", line 252, in send_initialize_request
"rootUri": path_to_uri(self.project_path),
File "d:\Users\home\.emacs.d\lisp\lsp-bridge-master\core\utils.py", line 165, in path_to_uri
raise ValueError("relative path can't be expressed as a file URI")
ValueError: relative path can't be expressed as a file URI
I[15:12:19.007] (built by Brecht Sanders) clangd version 14.0.4
I[15:12:19.008] Features: windows
I[15:12:19.008] PID: 29488
I[15:12:19.008] Working directory: d:/Users/home
I[15:12:19.008] argv[0]: D:\mingw64\bin\clangd.EXE
I[15:12:19.008] argv[1]: --all-scopes-completion
I[15:12:19.008] argv[2]: --clang-tidy
I[15:12:19.008] argv[3]: --enable-config
I[15:12:19.008] argv[4]: --header-insertion-decorators=0
I[15:12:19.014] Starting LSP over stdin/stdout
像是在说有个相对路径不能识别? 能帮忙看看这个是啥问题吗?
另:用eglot+company,就没有这个问题了;
252行那行打印一下 project_path 是啥?
failed to provide feature ‘s’
这是什么错误?
self.project_path 是 /cygdrive/e/hello/master
这个咋是一个cygwin的格式呢?这个path是通过啥取的啊?
可能你 $PATH 里面是 cygwin 的 git, 要不然删了用个 git for windows 的。
代码格式化已经完成 https://github.com/manateelazycat/lsp-bridge/commit/156f1ce8af82d5a26fc516fb3ffb9d75d9a3c2f1
你的这个路径太奇怪了, 感觉环境有问题, 看看 lsp-bridge–get-lang-server-func 这个函数返回啥?