之前lazycat推荐的color-moccur
是可以添加file mask的,不过我还是想使用counsel。
然后rgrep
也能添加,但是它使用的arg是--iname
,貌似不方便添加多个mask。
请教下大家有没有比较好的解决方案。
之前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