请教下counsel-XX有没有使用 file mask(*.js)的函数

之前lazycat推荐的color-moccur是可以添加file mask的,不过我还是想使用counsel。

然后rgrep也能添加,但是它使用的arg是--iname,貌似不方便添加多个mask。

请教下大家有没有比较好的解决方案。

interactively问用户有哪些file extension,问完了把counsel的ag-command什么的改成带有文件类型参数的,搜索结束改回纯的ag?

rgrep使用的find + -exec来过滤并执行指令的。

栗子如下:

find . -type d \( -path \*/elpa -o -path \*/.npm -o -path \*/.cache -o -path \*/.sass_cache -o -path \*/\*dist -o -path 
\*/bower_components -o -path \*/node_modules -o -path \*/target -o -path \*/auto -o -path \*/SCCS -o -path \*/RCS -o -path 
\*/CVS -o -path \*/MCVS -o -path \*/.src -o -path \*/.svn -o -path \*/.git -o -path \*/.hg -o -path \*/.bzr -o -path \*/_MTN -o 
-path \*/_darcs -o -path \*/\{arch\} \) -prune -o \! -type d \( -name \*.log -o -name \*.json -o -name cscope.files -o -name 
GPATH -o -name GRTAGS -o -name GTAGS -o -name TAGS -o -name tags -o -name \*.min.css -o -name \*.bundle.js -o -name 
\*.map -o -name \*.min.js -o -name .\#\* -o -name \*.o -o -name \*\~ -o -name \*.bin -o -name \*.lbin -o -name \*.so -o -name 
\*.a -o -name \*.ln -o -name \*.blg -o -name \*.bbl -o -name \*.elc -o -name \*.lof -o -name \*.glo -o -name \*.idx -o -name \*.lot
 -o -name \*.fmt -o -name \*.tfm -o -name \*.class -o -name \*.fas -o -name \*.lib -o -name \*.mem -o -name \*.x86f -o -name 
\*.sparcf -o -name \*.dfsl -o -name \*.pfsl -o -name \*.d64fsl -o -name \*.p64fsl -o -name \*.lx64fsl -o -name \*.lx32fsl -o -
name \*.dx64fsl -o -name \*.dx32fsl -o -name \*.fx64fsl -o -name \*.fx32fsl -o -name \*.sx64fsl -o -name \*.sx32fsl -o -name
 \*.wx64fsl -o -name \*.wx32fsl -o -name \*.fasl -o -name \*.ufsl -o -name \*.fsl -o -name \*.dxl -o -name \*.lo -o -name \*.la -o 
-name \*.gmo -o -name \*.mo -o -name \*.toc -o -name \*.aux -o -name \*.cp -o -name \*.fn -o -name \*.ky -o -name \*.pg -o 
-name \*.tp -o -name \*.vr -o -name \*.cps -o -name \*.fns -o -name \*.kys -o -name \*.pgs -o -name \*.tps -o -name \*.vrs -o 
-name \*.pyc -o -name \*.pyo \) -prune -o  -type f \( -iname \*.js \) -exec grep -i -nH --null -e \ class \{\} +

找到解决方案了。counsel支持添加args,和文本中间用 -- 隔开就行了,具体的信息看这个PR

还有这个discussion。Is it possible to apply file masks to counsel search without modifying the base command? · Issue #1688 · abo-abo/swiper · GitHub

1 个赞