@manateelazycat @rua 关于你们说到的扫描库的问题,我想提供一些信息。
Ctags 其实有 reference tags,但是目前关注的并不是函数、类等等的引用,而是模块的引用。比如在 Julia 的一个文件中如果有
using Module1
Ctags 会生成这样的 tags:
Module1 input.jl /^using Module1$/;" kind:module roles:used
目前就我所知,Ctags 对大多数语言都实现了这种模块引用的 tag,其目的就是在扫描完一份代码之后,知道它使用了哪些模块。如果能再配合模块名 <-> 路径名的转换规则,就可以做到把库也一起扫描了。
(Citre 也稍微利用了一下这种 tag。如果你在 dired 里面,对头文件找定义的话(比如用 citre-peek),会把所有用到这个头文件的地方找出来。)
我现在仍然不好说这个功能什么时候会有,但 Masatake 确实一直很注重模块的 reference tags,所以还是很有希望的。