永久添加文件类型以进行确认


16

我最近学习了如何让ack支持更多文件类型(将以下内容添加到中.ackrc):

--type-add
latte=.latte

不幸的是,这会在我使用的每个ack搜索上产生一条信息行,即使结果为0。

$ ack --latte dump
ack: --type-add: Type "latte" does not exist, creating with ".latte" ...

有没有办法使它成为更永久的添加?(即摆脱此信息行)在我看来,这就像在每个ack调用中添加了这种新类型。我安装ack是否有问题?

我在Mac OS X 10.5.8上使用ack 1.92(在Perl 5.10.1下运行)


关于10.6-> 10.5.8:我真的不知道为什么我写10.6,我一直都有10.5.8 ...而当我意识到这一点时,我改变了它……
MartinTóth

1
奇怪的修订历史:@Mehper在5分钟宽限期内开始编辑,然后(在Mehper 开始之后,但在他保存之前),Martin将“ 10.6”更改为“ 10.5.8”。接下来,当Mehper将编辑内容保存到(然后)较旧的文本时,所做的更改被撤消-由于宽限期,该历史记录仍是相同的修订,因此将Mehper列为更改版本。如果您对此感到不安,请考虑投票赞成保存后,在其他人同时保存帖子时发出警报
Arjan

+1我在文档后使用--type-set,但不知道类型应该换行
Marcelo Diniz

Answers:


18

在我看来,文档声称您需要--type-set

--type-set
latte=.latte

鉴于此--type-add,重点是:

具有给定扩展名的文件被识别为(现有)类型TYPE。


1
+1它还表示“如果要定义新类型或完全重新定义现有类型,请使用--type-set。”
暂停,直到另行通知。

嗯...我已经读过好几次了,但是我没有意识到/理解我适合我的需求!谢谢!
马丁·托斯

-1

嗯... ack基本上是一个Perl脚本...很容易编辑:

%mappings = (
    actionscript => [qw( as mxml )],
    ada         => [qw( ada adb ads )],
...
    latte       => [qw( latte )],
...
    yaml        => [qw( yaml yml )],
    xml         => [qw( xml dtd xslt ent )],
);

但是,还有其他解决方案吗?


4
如果您自己编辑ack-grep,则会失去后续升级的好处,因为升级会覆盖您的更改。可以在.ackrc中完成配置,这是一种出色的解决方案。
Niels Bom
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.