已经用Python自身的 threading 替代 PyQt 的 QThread 和事件循环,现在所有系统平台只需要安装 epc 这个依赖即可体验 lsp-bridge.
13 个赞
lsp-bridge 目前代码补全和定义跳转都已经很好用了。 明天完成一下引用跳转、重命名、查看API文档操作后, lsp-bridge 核心目标就完成了。
因为 lsp-bridge 设计之初就考虑了多Server、工程文件或单文件自动探测,横向支持其他语言非常简单,只需要大家收集各种LSP Server的默认配置参数,发PR即可。
2 个赞
我的黑苹果已准备好了。马上试试。
现在只支持 Python/pyright 这个组合,其他语言和LSP Server的支持还要过几天。
1 个赞
期待,已经准备好打赏了
lsp-bridge 的好处是,用户装好 company 和 lsp server 以后啥都不用设置,lsp-bridge 会自动处理各种情况,打开文件的时候再也不会像 lsp-mode 那样顿一下。
1 个赞
想试用一下 lsp-bridge, 配置好后,补全的 ui 没有出现. lsp-bridge buffer 的内容是:
--- Send request (1): textDocument/completion
{
"jsonrpc": "2.0",
"method": "textDocument/completion",
"params": {
"textDocument": {
"uri": "file:///home/lixunsong/Documents/python_work/1.py"
},
"position": {
"line": 20,
"character": 15
},
"context": {
"triggerKind": 3
}
},
"id": 25110
}
--- Recv message
{
"jsonrpc": "2.0",
"id": 25110,
"result": null
}
Traceback (most recent call last):
File "/home/lixunsong/.emacs.d/site-lisp/lsp-bridge/lsp-bridge.py", line 151, in handle_server_message
print("***** ", list(map(lambda item: item["label"], response_result["items"])))
TypeError: 'NoneType' object is not subscriptable
Process *lsp-bridge* aborted (core dumped)
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.977e[0m: Theme parsing error: gtk.css:5601:11: Not using units is deprecated. Assuming 'px'.
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.977e[0m: Theme parsing error: gtk.css:5601:14: '0' is not a valid color name
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5694:26: 'text-shadow' is not a valid color name
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5702:26: 'text-shadow' is not a valid color name
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5838:14: '202020' is not a valid color name
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5853:20: Junk at end of value for border-width
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5878:20: Junk at end of value for border-width
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5905:20: Junk at end of value for border-width
(python3:736261): Gtk-e[1;33mWARNINGe[0m **: e[34m09:22:51.978e[0m: Theme parsing error: gtk.css:5957:26: 'text-shadow' is not a valid color name
不知道是哪里出了问题?
lsp-bridge.el 没有更新到最新版
一个简单的 capf,可以出来补全项。
(defun lsp-bridge-completion-at-point ()
(let (
(bounds (bounds-of-thing-at-point 'symbol)))
(list (car bounds) (cdr bounds)
lsp-bridge-completion-items
:exclusive 'no)))
有没有样本代码可以让我测试?
我是在单文件里面测试的,代码很简单,如下:
import numpy as np
def conv(img, kernel):
h, w = img.shape
kh, kw = kernel.shape
outh = (h - kh) + 1
outw = (w - kw) + 1
res = np.zeros((outh, outw))
for i in range(outh):
for j in range(outw):
res[i, j] = np.dot(img[i:i+kh, j:j+kw].reshape(-1), kernel.reshape(-1).transpose())
return res
img = np.linspace(1, 100, 100).reshape(10, 10)
print('img ', img)
kernel = np.ones((3, 3))
print('kernel:', kernel)
print(conv(img, kernel))
你把文件移动到 HOME 下面测试一下,我怀疑你的那个 python_work 目录里面有一些其他文件影响 pyright 分析了。
上面记录了一下接下来要完成的任务,欢迎大家一起开发,我先休息几天了。
4 个赞
你安装了pyright了吗?
安装了的 子树补丁
用pip还是npm安装的呀?
我记得是 npm 安装的