什么是 recursive-search-references.el ?
有时候我们想知道某个Emacs插件是否依然在被使用?如果插件没有再被使用,我就想从Emacs配置文件中删除这个插件
通常我们会打开插件文件,找到插件的每个函数定义,然后传递给ripgrep去搜索,当所有函数都没有使用时我们才能放心删除这个插件,但是如果这个插件定义了很多函数,这个重复的过程就会非常痛苦。
recursive-search-references帮助你自动完成这个动作:
- 基于TreeSitter的AST扫描所有Emacs函数定义
- 通过ripgrep在Emacs配置目录下递归搜索,同时会排除插件目录自身的扫描
- 如果所有函数都没有被引用就提示你可以安全删除这个插件
recursive-search-references帮我快速清理那些很久之前添加但现在又很少使用的插件。
安装
- 安装tree-sitter
- 安装ripgrep
- 下载recursive-search-references.el并加载到load-path
把下面的代码添加到 ~/.emacs 中, 替换 <path-to-recursive-search-references>
为 recursive-search-references.el 所在目录
(add-to-list 'load-path "<path-to-recursive-search-references>")
(require 'recursive-search-references)
使用
- recursive-search-references : 在Emacs配置文件目录中搜索插件引用
12 个赞
话说 基于 tree-sitter 的语法高亮,可以用了吗?
感觉有点复杂,每种语言都要手动编译 ,emacs 怎么还没有 流行起来?我看 nvim 都是 主流配置了。 好像我们论坛 还没有系统性的配置文档
就我配置哪几种需要手动编译,其他语言都直接支持了呀。
hek14
6
很赞!treesitter一个很好的应用案例,勇哥真喜欢探索新东西👍🏻 nvim treesitter相关插件已经比较多了,treesitter和snippet结合起来之后有造出来的snippet可以更好的获取上下文信息,也是一个treesitter开发的方向
没太明白这个要怎么用呀,我应该调用 recursive-search-references 后,应该选择哪个文件夹呢?我试了几种,如 .emacs.d, .emacs.d/elpa/ivy, 返回的结果都是 no references in directory,但 ivy 我是一直用着的。
打开一个 .el 文件,启动命令 recursive-search-references , 然后选择最顶级的配置文件,比如 .emacs.d
recursive-search-references.el 会扫描 .el 文件的函数,并在 .emacs.d 中扫描是否有其他文件引用这些函数。
1 个赞
epkgs 这个包中有一个函数,可以查到各插件的 reverse dependencies: (epkg-reverse-dependencies "dash")
。
1 个赞
这个不是一个概念,这个包是所有上传的包查询依赖。
我的这个插件是暴力搜索emacs配置目录,查找引用的地方。