rust的diagnostics有点问题, 我创建了一个最简单的main.rs
fn test(x :i32){
}
fn main() {
println!("Hello, world!");
}
期望是fn test(x :i32){
这行会有提示,变量未使用
在命令行中使用rust-analyzer diagnostics test_rust/main.rs
得到的结果是
Diagnostic { code: RustcLint(“unused_variables”), message: “unused variable”, range: FileRange { file_id: FileId(11), range: 8…9 }, severity: Warning, unused: false, experimental: true, fixes: Some([Assist { id: AssistId(“unscore_unused_variable_name”, QuickFix), label: “Rename unused x to _x”, group: None, target: 8…9, source_change: Some(SourceChange { source_file_edits: {FileId(11): (TextEdit { indels: [Indel { insert: “_x”, delete: 8…9 }] }, None)}, file_system_edits: , is_snippet: false }), trigger_signature_help: false }]), main_node: Some(InFileWrapper { file_id: FileId(11), value: SyntaxNodePtr { kind: IDENT_PAT, range: 8…9 } }) }
会提示有未使用的变量。
但是在lsp-bridge的diagnostic中却没有提示。
好像是 acm-frame-default-face
的初始化的问题,如果 theme
设置在 acm
加载之前, acm-reset-colors
就不会被调用。 acm-frame-init-colors
只在 acm-update
中被主动调用,没激活 acm 补全窗口时 acm-frame-set-frame-colors
就会因为 acm-frame-default-face
是空的就把背景设置的跟 default face 一样。
是不是到了加测试的时候了,eslint的初始化好像又坏了
1 个赞
大佬, 能帮忙看一下吗?
估计是动 workspace/configuration 相关 response 代码弄坏的, workspace/configuration 这一块很多语言都依赖这个协议的正确响应。
好像这块没有调用……
# lsp-bridge/core/lspserver.py:563
def handle_workspace_configuration_request(self, name, request_id, params):
配置代码
(package-initialize)
(add-to-list 'load-path "~/.emacs.d/elpa/lsp-bridge")
(require 'yasnippet)
(yas-global-mode 1)
(require 'lsp-bridge)
(setq lsp-bridge-enable-log nil)
(global-lsp-bridge-mode)
rust 项目执行 cargo new test_rust
在生成的文件 src/main.rs 中加上
fn x(){
let y = 12;
}
期望是会对 fn x()
和 let y = 12;
提示未使用。但是没有提示。
我早上看了一下, 命令行确实有unused var的诊断信息。
但是LSP server返回的却是空 {'jsonrpc': '2.0', 'method': 'textDocument/publishDiagnostics', 'params': {'uri': 'file:///home/andy/rust_test/src/main.rs', 'diagnostics': [], 'version': 0}}
我估计 rust-analyzer 的LSP协议这一块有差异, 或者 lsp-bridge 默认给 rust-analyzer 的配置 lsp-bridge/langserver/rust-analyzer.json at cb523ab55a1b2f36b496e00cc7991d78c8f6e63a · manateelazycat/lsp-bridge · GitHub 有缺失
我早上翻了一下 rust-analyzer 的文档, 没有发现配置有啥特别的。
如果有线索, 欢迎反馈。
早上添加了5个新的编程语言: Cobol、Yang、HLASM、 GLSL、 Jsonnet的支持。
lsp-bridge目前已经支持97种LSP Server, 还有46种LSP Server, lsp-bridge就完成对所有LSP语言的支持。
欢迎大家对46种LSP Server提交PR。
7 个赞
求助大佬一个问题,我现在用lsp-bridge看上去在工作,但是对于有问题的地方只会有标注,例如红色/橙色波浪线,但是不会提示错误信息,我想请问,我应该检查哪些接口是否工作,哪些组件是否工作呢?
lsp-bridge-diagnostic-jump-next
lsp-bridge能自由定制lsp server的启动参数吗,根据设定逻辑自动选择使用哪些参数,例如根据使用的gcc还是clang来给clangd传递不同的参数,可以自动检测,也可以设置某个变量来指定启动参数,我看现在lsp都是json文件配置的,不知道怎么配置这个功能
c++怎么启用inlay hints,lsp-bridge-enable-inlay-hint已经设置为t,但是没效果
blove
3629
大家有没有遇到即使 emacs -q 最简加载 lsp-bridge 后,lsp-bridge 也无法找到 pyright 的情况?
错误提示信息为
[LSP-Bridge] Error: can’t find command ’basedpyright-langserver’ to start LSP server basedpyright
已经正常安装了 pyright,而且在 vim、neovim 中都可以正常使用 pyright。
系统: Arch, Debian 12.6
Emacs 版本 : 29.4
lsp-bridge 最新版换成 basedpyright 做为默认的 Python LSP Server, 你需要安装 basedpyright
2 个赞