Widersprüchliche Typflags in ack

261
Chris Connett

Ich habe meinem .ackrc einen benutzerdefinierten Typ hinzugefügt, der genau das macht, was ich will.

--type-set=test:match:/_test\b/ 

Es entspricht Unit-Test-Dateien. Da ich nicht häufiger Testbenutzungen sehen möchte als ich, habe ich auch festgelegt

--notest 

Wenn ich jedoch nach Tests suchen möchte, versuche ich --test, die Befehlszeile hinzuzufügen, erhalte jedoch keine Ergebnisse. Meine Hoffnung war, das --testwürde überschreiben --notest, aber sie geben zusammen, um nichts zu geben. Die Manpage bestätigt, dass sie OR-verknüpft sind.

Irgendwelche Vorschläge für das, was ich versuche?

0

1 Antwort auf die Frage

0
Chris Connett

Since ack's behavior is to OR all the type expressions together, there isn't a way to do this directly in the .ackrc without changing ack.

However, I was able to write a bash function wrapping ack that adds --notest unless --test is passed.

function ack { test_flag='--notest' for arg in "$*"; do case "$arg" in --test) test_flag='' ;; esac done command ack "$*" $testflag }