当dot是扩展的一部分时,ack类型不起作用

时间:2015-08-10 20:04:27

标签: ack

尝试使用this method来消除垃圾文件ack' d,但我的定义不起作用:

--type-set=map=.min.map
--no-map               

这仍然会产生结果

$ ack MARK -l                       
public/js/vendor/jquery-2.1.1.min.map

非常令人沮丧。

我的解决方法是--ignore-file=is:jquery-2.1.1.min.map

但是我想要删除所有*.min.map个文件。

我真的不明白为什么ack必须发明一种新的片状配置语法。支持团队有什么问题。

1 个答案:

答案 0 :(得分:3)

  

支持globs有什么问题。

ack不支持文件类型检测中的globbing,因为* nix和Windows之间的globbing不同。使用Unix风格的globbing语法的基于Glob的规则会让基于Windows的用户感到困惑。 Perl正则表达式在所有平台上都是相同的,并且比globbing更灵活。

要解决匹配.min.map文件的问题,如果您的单个扩展程序不起作用,您可以像这样使用正则表达式:

--ignore-file=match:[.]min[.]map$

ack在其默认规则集中使用了许多类似的规则。您可以使用ack --dump来获取ack规则的转储,这样可以方便地查看其他文件类型的处理方式。

$ ack --dump | ack =match:
  --ignore-file=match:/[.-]min[.]js$/
  --ignore-file=match:/[.]css[.]map$/
  --ignore-file=match:/[.]css[.]min$/
  --ignore-file=match:/[.]js[.]map$/
  --ignore-file=match:/[.]js[.]min$/
  --ignore-file=match:/[.]min[.]css$/
  --ignore-file=match:/[._].*\.swp$/
  --ignore-file=match:/^#.+#$/
  --ignore-file=match:/core\.\d+$/
  --ignore-file=match:/~$/