Додавання типу файлу в ack назавжди


16

Нещодавно я дізнався, як дозволити Ack підтримувати більше типів файлів (додаючи наступне до .ackrc):

--type-add
latte=.latte

На жаль, це створює інформаційну лінію для кожного пошуку, який я використовую, навіть тих, що мають 0 результатів.

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

Чи є спосіб зробити це більш постійним доповненням? (тобто позбудьтеся цієї інформаційної лінії) Мені здається, що вона додає цей новий тип під час кожного дзвінка. Це проблема з моєю установкою ack?

Я на Mac OS X 10.5.8 з ack 1.92 (працює під Perl 5.10.1)


Щодо 10.6-> 10.5.8: Я справді не маю уявлення, чому я писав 10.6, у мене завжди було 10.5.8 ... І коли я зрозумів це, я змінив його ...
Мартін Тот,

1
Незвичайна історія редагування: @Mehper почав редагувати протягом 5 хвилин пільгового періоду, а потім (після того, як Мехпер почав , але до того, як він врятував ) Мартін змінив "10.6" на "10.5.8". Далі зміну було скасовано, коли Мехпер врятував правки до (тоді) старого тексту - який для історії був ще тим самим переглядом через пільговий період, отже, перерахував Мехпера як зміну версії. Якщо вас це турбує, то подумайте про те, як проголосувати. Після збереження повідомте, коли повідомлення тим часом зберігав хтось інший .
Ар'ян

+1 Я використовував набір -типів за документацією, але не мав уявлення, що типи повинні бути в новому рядку
Marcelo Diniz

Відповіді:


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, який є чудовим рішенням.
Нільс Бом
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.