大佬, 就用 git submodule 来管理 lsp-bridge 哇。
两年前我在 lsp-bridge 的 wiki NixOS · manateelazycat/lsp-bridge Wiki · GitHub 里添加了以全局方式安装 lsp-bridge 所须的 Python 依赖的方法
只需要原封不动地按照 lsp-bridge Readme 及时更新依赖列表,就可以直接
(use-package acm
:load-path (lambda () (expand-file-name "git/lsp-bridge/acm" (getenv "HOME"))))
(use-package lsp-bridge
:load-path (lambda () (expand-file-name "git/lsp-bridge" (getenv "HOME"))))
或者如果不想改变全局 Python 环境,可以像这样单独打一个别名包
let
python = pkgs.python3.withPackages (p:
with p; [
epc
orjson
paramiko
rapidfuzz
setuptools
sexpdata
six
watchdog
]);
in pkgs.runCommand "python-for-lsp-bridge" { } ''
mkdir -p $out/bin
ln -s ${python}/bin/python $out/bin/python-for-lsp-bridge
''
然后
(use-package lsp-bridge
:custom (lsp-bridge-python-command "python-for-lsp-bridge"))
可以用。非常感谢!
遇到個問題,這里應該試是没有补全才對。不同語言都有,elisp 也有。
我开启了 acm-enable-preview
方便说一下详细的重现步骤吗?
感谢大佬提供线索啊, 终于把 Nix 的 nil lsp server 问题修复了:
大佬, 这个语言我用的少 Segmentation error in terraform-ls · Issue #1025 · manateelazycat/lsp-bridge · GitHub
欢迎提供线索啊, 只要可以稳定重现我都可以修复。
还是大佬效率高,我更新后测试了一下 nil 已经正常了。
最近论坛有人提到 nix 下使用 lsp-bridge 我就去看看 issue 还有没有其它人遇到此类问题,结果碰到几个熟悉的领域。 terraform-ls 的问题也破案了,坐等大佬修复。
应该已经修复了, lsp-bridge 创建之处为了区分不同的LSP请求, 加的一个标识在 message 内, 到成功发送消息给LSP server之前, 再根据 message_type 打印不同请求的日志, 方便调试。
没想到只有 terraform-ls 这个LSP Server如此诚实, 拒绝接受任何不对的JSONRPC, 哈哈哈哈。
大佬, 你想要啥样的通知, 我给你加, 但是 Rust 返回了好多不同类型的消息:
我按照你说的用acm-backend-lsp-show-progress 已经够用了
这个 C-Entropy不是我
弹出补全窗口时,光标会跳到括号)的后面,这个该怎么解决
大致试了下,当补全窗口出现时,按空格键光标就会跳到括号外面
再次尝试了下,只有在终端运行会有这个问题,gui不会
你应该是绑定了空格到快捷键绑定吧, lsp-bridge 默认没有这个功能。
只有终端下才有这个情况,以及我使用doomemacs并且没添加过任何绑定空格键的keybinding,第三方插件除了doom自带的以外只有下面这些
(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"))
因此我推测是acm显示补全时卡顿造成的bug
经进一步测试,lsp-mode+company不会出现这个问题
经进一步测试,光标的跳转不是会跳到括号外,而是跳到当前行的最后面
应该是 acm-terminal 的bug
可以编译Emacs的 child-frame 分支, 应该会自动解决这个问题。
如何看当前的emacs是否支持childframe
M-x emacs-build-description
似乎是这个
对,scratch/tty-child-frames 还没有并入主线,Ubuntu 不知道有没有ppa,直接克隆这个分支然后照常autogen,configure,make就是了