Idea征集:改进lsp-ui-doc

如果一个文件里出现次数很多, 比如500个以上, 文件名分开就不方便了, 容易迷失, 不知道当前在哪个文件. 还需要一个outline窗口

可以使用ag.el, 搜索文件, 然后生成一个类似occur的buffer, 在里面开启wgrep, 就可以同样的操作了, 一直在用.

ag.el: GitHub - Wilfred/ag.el: An Emacs frontend to The Silver Searcher wgrep: GitHub - mhayashi1120/Emacs-wgrep: Writable grep buffer and apply the changes to files

跟你说的操作方式很类似, 不过这两个有人维护.

都是可以点击或者enter跳转的,这个问题倒是不大,而且一般candidates出现500多个,这个搜索本身就不太readable,需要优化下搜索的内容了。

如果像ide这样能exclude candidates by directory/module那倒说不能还readable一点,但我觉得还是优化搜索内容吧。

确实我也在用ivy-occur,提了个issue,问问看有没有类似的formatter function,貌似现在没有。

这个图也相当于个outline,没有这个东西容易迷失,不说500个,只要把屏幕占满(50个),看上去就不太舒服了。而且没有outline的统计数据,也不好优化搜索内容

还是以python为例

python代码的company-lsp本身就已经得到了关于补全的文档

而lsp-ui-doc又会重新调用以得到文档,速度就会慢了些

应该用text-propery将文档保存,这样不仅能查看文档,还能得到参数的信息

甚至还有Example

一会儿发个图片上来

1 个赞

只是实现了第一步 :

用text-property保存文档

接下来是第二步:

得到参数(会有点困难,因为你可能会修改参数的内容,但要求同样能得到文档)

hhh

1 个赞

感觉anaconda mode里应该有些function可以拿来parse参数

应该用markdown

今天晚了 明天就能实现了

得到数据了 保存一下就行了

你的文档去哪里了

算是好了吧

lsp-ui

1 个赞

很六!求代码😂

我都是直接修改el文件

这个要配合 yasnippet 来玩, 把 lsp 返回的函数定义参数用 yasnippet 动态生成.

现在在写 demo。

1 个赞

配色有点丑陋...

要的只是跳到参数上的功能吧,我觉得不用费劲结合yas,直接内置一个实现就好了。

如何保证 numpy.sort 与 np.sort 是同一个

而 numpy.sort 与 jedi.sort 是不同的呢?

你觉得我不会配色吗? 这个总可以了吧

卧槽 这是ssh的还是Android上直接装的? Termux支持LSP?