在支持tty-child-frame的emacs下这个bug不再出现
详细说测试代码,怎么重现的,就一张图,没法沟通哇。
这张图还不够吗。。。 go mod init创建项目 新建main.go文件,lsp-bridge会自动加载 然后随便写点什么,我图里就是随便写的啊 环境是ubuntu22 用的doom,没进行过flycheck的配置
那我没法说什么,这个不是商业项目,我不会因为一张图就提供啥服务的。
这是创建项目的全流程 只是一个helloworld级的测试代码,还需要其他细节我可以继续提供
整个测试代码两个文件
main.go
文件
package main
func main() {
fmt.xxxx
fmr.xxxxx
}
go.mod
文件
module xxx
go 1.23.1
你还需要啥测试细节可以告诉我,我会在回复里提供
我的doom配置:
package.el
(package! gruber-darker-theme
:recipe (:host github :repo "rexim/gruber-darker-theme"))
(package! evil-terminal-cursor-changer)
(when (package! lsp-bridge
:recipe (:host github
:repo "manateelazycat/lsp-bridge"
:branch "master"
:files ("*.el" "*.py" "acm" "core" "langserver" "multiserver" "resources")
;; do not perform byte compilation or native compilation for lsp-bridge
:build (:not compile)))
(package! markdown-mode)
(package! yasnippet))
(package! popon
:recipe (:host nil :repo "https://codeberg.org/akib/emacs-popon.git"))
(package! acm-terminal
:recipe (:host github :repo "twlz0ne/acm-terminal"))
config.el
(use-package! lsp-bridge
:config
(setq lsp-bridge-enable-log nil)
(setq acm-backend-lsp-show-progress t)
(global-lsp-bridge-mode))
(after! acm
(require 'acm-terminal))
正常情况下,报错提示应该出现在
·fmt.xxxx·行以及fmr.xxxxx
行,共两个错误
但是报错出现在package main
行,并且右下角提示只有一个错误
以下为lsp-mode
的提示效果,为正常情况下应有的提示
经进一步测试,该问题仅在终端会出现,gui不会出现该问题
- 我没有重现你说的诊断在buffer里面少或者错位的问题
- lsp-bridge 只提供 lsp-bridge-diagnostic-count 变量(和诊断overlay数量一样), mode-line 的数量渲染问题应该是 GitHub - liuyinz/flymake-bridge 的问题, lsp-bridge 不提供 mode-line 显示诊断数量的功能
- 重现问题, 请用
emacs -Q
加载最小配置的方法去测试, 这样可以最少程度减少自己其他配置的影响
反馈问题, 应该详细的按照 emacs -Q、 最小配置、 详细环境、 怎么重现、 代码文本等尽可能详细的信息去反馈, 一是帮助你自己排查问题, 二是节省开发者的时间, 一张图, 什么都不说, 希望开发者照着你的图去敲代码重现问题, 这个很不尊重人, 让开发者觉得 “我丢了一张图给你, 你就应该修bug”, 开源项目都是为爱发电, 不是商品, 开发者没有义务去牺牲自己让大家爽。
tty-childframe目前是个未完善的分支,有很多奇怪的行为要等上游解决。再其次,等上游解决完问题,因为懒猫主用的gui,应该会等到其他终端用户来解决。
推荐继续acm-terminal,等这分支完善了再说。
或者eglot+emacs-lsp-booster,我感觉性能算够用
已解决,是flycheck的问题,根据 Flycheck displays all erros on first line. · Issue #12696 · syl20bnr/spacemacs
进行如下设置即可解决
(setq-default flycheck-disabled-checkers '(golangci-lint))
点赞👍, zsbd
想问下,这个红线的 error(缺包)已经修了, diagnostic 也没有这个 error 了,但是 face 似乎没有正确更新,我该如何手动更新或者检查相关的什么设置/依赖呢?
有稳定重现方法吗?
执行下lsp-bridge-restart-process
应该就好了,XD
这个试过了,似乎不太行。
目前没有,偶尔出现,开的项目不太多的时候我就直接 restart-emacs
解决😂
先留在这吧,看有没有朋友遇到类似的问题。
或者,我想确定一下是在 lsp-bridge/lsp-bridge-diagnostic.el at d46260fcddbb39bf4762acbba6db18434892dfd8 · manateelazycat/lsp-bridge · GitHub 这里做的相关逻辑对不?是的话,我之后遇到了先尽力看看有什么异常。
好的, 感谢反馈。
能稳定重现我就可以修复。
可能和这个我刚提的 issue 有关
这个很理想, LSP有协议, 但是这些 LSP server 的首先并不标准, 比如就发送 save 提醒这个标准:
- Python: basedpyright 服务器 有 willSave 字段
- Rust: rust-anaylzer 服务器有 save 字段
- Nix: nil 服务器没有 save 和 willSave 字段
干脆直接在 lsp-bridge 兼容得了, 增加一个 sendSaveNotification 字段, 大多数LSP server都支持 save 提醒协议, 专门针对 Nix LSP server 设置这个字段。
这样也修复了
也保证nil不会出错
现在皆大欢喜啦。