基于 ripgrep 的代码搜索和重构工具

三个函数 函数pub 调用了pri1和pri2

我想知道pub函数被用在了哪里 及另外两个函数的实现

在搜索pub的color-rg里 我删除了一些不想要的文件 这个时候我又想搜索classa的用法 但怎么保留我的修改

其实我最想要的是保存当前搜索的结果

当然 是得编辑之后的

但鉴于你对数据库的态度 我觉得还是得自己来

  1. color-rg.el 是我在旅游的一天早上写的,主要的目的是集成 ripgrep 的速度和color-moccur.el 的功能(能够递归搜索,同时能够自由编辑搜索结果进行快速重构)
  2. color-rg.el 的初始目的就是递归搜索关键字,过滤不要的文件,快速针对需要的文件进行重构

上面这是我写color-rg.el的初衷,针对搜索重构这件事情提供一个开箱即用,易于使用的工具。

我尊重你自己的选择,但是从和你沟通的很多次来看,我看不明白你到底需要拿 color-rg.el 去做什么,你只说你需要多种关键字搜索,多个目录搜索,你需要我加很多hook,但是我最后不知道你这么多需求的目的,所以我没法在不知道你要干什么的时候,去增加这些东西,因为在没有目标的情况下,盲目加代码,最后代码臃肿不说,bug太多,所有人都不会用的,包括我,希望你明白想清楚比功能更重要好。

同时,我觉得你应该提高沟通和报issue的方法,和别人沟通问题,先清楚表达自己想要什么,而不是一句一句别人去问你。报issue需要提供问题描述和最小的重现环境,而不仅仅只是一个评论的地方。

我现在明白你要的是一个交叉搜索分析源代码的工具,我只能说这不是 color-rg.el 这个项目的初衷,那样改,不但最后改的color-rg.el核心功能没法用,最后也很难让你满意。我建议你根据你自己的需求去写你自己的插件,这是我的建议,也欢迎使用 color-rg.el 的任何代码,只要符合GPL3协议即可。

最后,请不要达不到你的需求后说 “鉴于你对数据库的态度” 这种话,我没有义务给任何人开发功能。 开源社区一向都是互惠互助,如果达不到自己想要的,就自己上。

11 个赞

每个搜索结果使用独立的buffer是不是就可以了?

代码臃肿不至于 还没有100k

我报issue是想让作者去更新代码 让更多人用

我可以自己改 不需要issue

你试过了吗?

我做插件就是给自己用,而不是更多人用。 别人喜欢我的插件就用,不喜欢我也不会去追求。

你自己fork吧,你的需求我满足不了。

1 个赞

我不用这个插件,没有试过,我用的同类插件,有此功能,感觉可能满足你的需求。我不知道此插件是否支持,支持的话,你可以试用一下,不支持的话就需要定制或者向作者提需求。

那就是pr?

什么 名字?

我选rg.el吧

我是把ag.el调用的命令及参数改造成了rg

今天增加了两个新命令:Add new functions: `color-rg-search-input-in-current-file' and `color… · manateelazycat/color-rg@4b3ad5e · GitHub

  • color-rg-search-symbol-in-current-file
  • color-rg-search-input-in-current-file

color-rg 以前主要针对当前的目录,或者Git项目进行递归搜索,但是有时候只想搜索和重构当前文件的内容,上面的两条命令就是把搜索和重构功能限定在当前聚焦的文件范围。

1 个赞

赞!大文件搜索比swiper快多了!:smile:

是的,聚焦单文件以后,ripgrep 的速度秒杀 swiper/moccur这种。

1 个赞

swiper属于增长型搜索吧

其实你用多了,发现增长性搜索只是看着很酷,更像探索性的操作。

但是平常编程一般都是自己的代码,搜索和重构之前想输入啥都清清楚楚,目标很明确,而且往往就是光标处的符号。

这时候color-rg这种又能搜文件和目录,同时还内置批量重构功能的插件更为实用。

rg --column --color=always -H --heading --smart-case -e “可以给单词着色。”

c:/Users/yzl/AppData/Roaming/.emacs.d/README.md warning: extra args ignored after ‘rg --column --color=always -H --heading --smart-case -e "可以给单词着色。’

color-rg finished with no matches found at Thu May 16 09:35:31

color-rg的中文搜索怎么不给力? 需要单独额外的配置?明明光标下就有该词组(windows系统)

中文是可以搜索的,检查一下你Emacs的编码设置,可能和你终端的编码设置不一样。