Menambahkan jenis file ke ack secara permanen

16

Baru-baru ini saya belajar cara membiarkan ack mendukung lebih banyak tipe file (menambahkan yang berikut ke .ackrc):

--type-add
latte=.latte

Sayangnya, itu menghasilkan baris info pada setiap pencarian ack yang saya gunakan, bahkan yang dengan 0 hasil.

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

Apakah ada cara untuk menjadikan ini tambahan yang lebih permanen? (Yaitu menyingkirkan baris info ini) Ini bagi saya sepertinya menambahkan jenis baru ini pada setiap panggilan ack. Apakah ini masalah dengan instalasi ack saya?

Saya menggunakan Mac OS X 10.5.8 dengan ack 1.92 (Berjalan di bawah Perl 5.10.1)

Martin Tóth
sumber
Mengenai 10.6-> 10.5.8: Saya benar-benar tidak tahu mengapa saya menulis 10.6, saya selalu punya 10.5.8 ... Dan ketika saya menyadarinya, saya mengubahnya ...
Martin Tóth
1
Riwayat revisi ganjil: @Mehper mulai mengedit dalam tenggang waktu 5 menit, dan kemudian (setelah Mehper mulai , tetapi sebelum ia menyelamatkan ) Martin mengubah "10.6" menjadi "10.5.8". Selanjutnya, perubahan dibatalkan ketika Mehper menyimpan suntingan ke (lalu) teks yang lebih tua - yang untuk sejarah masih revisi yang sama karena masa tenggang, maka daftar Mehper sebagai mengubah versi. Jika Anda merasa terganggu dengan hal ini, maka pertimbangkan memilih untuk Setelah menyimpan, beri tahu ketika pos sementara itu disimpan oleh orang lain .
Arjan
+1 Saya menggunakan --type-set setelah dokumentasi tetapi tidak tahu jenis harus di baris baru
Marcelo Diniz

Jawaban:

18

Menurut saya dokumentasi yang mengklaim Anda butuhkan --type-set:

--type-set
latte=.latte

Sedangkan --type-adduntuk, tekankan:

File dengan EXTENSION yang diberikan dikenali sebagai tipe ( yang ada ).

Arjan
sumber
1
+1 Ia juga mengatakan "Jika Anda ingin mendefinisikan tipe baru, atau mendefinisikan ulang sepenuhnya tipe yang sudah ada, maka gunakan --type-set."
Dijeda sampai pemberitahuan lebih lanjut.
Hmmm ... Saya sudah membaca bagian itu beberapa kali, tetapi saya tidak menyadari / mengerti, bahwa saya sesuai dengan kebutuhan saya! Terima kasih!
Martin Tóth
-1

Hmmm ... ackpada dasarnya adalah skrip Perl ... yang cukup mudah diedit:

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

Tapi tetap saja, apakah ada solusi lain untuk ini?

Martin Tóth
sumber
4
Jika Anda mengedit ack-grep sendiri, Anda kehilangan manfaat dari peningkatan selanjutnya karena meningkatkan akan menimpa perubahan Anda. Konfigurasi dapat dilakukan dalam .ackrc yang merupakan solusi superior.
Niels Bom