きりかノート 3冊め

おあそびプログラミング

ackでPortfileを検索

他の人のPortfileを参考にしたいときに、port treeのディレクトリで`grep -r keyword --include Portfile .'とかするのも飽きてきたので、ackの検索ファイルにPortfileを追加してみた。PerlわからないけどMakefileを参考に雰囲気でね。(拡張子ならコードいじらなくても対処できそうなんだが)

これで

 % ack --port keyword

で検索できるよ。速いし、色がつくし、かいてき。

 --- Ack.pm        2008-04-14 01:27:51.000000000 +0900
+++ /opt/local/lib/perl5/vendor_perl/5.8.8/App/Ack.pm 2008-06-29 23:53:48.000000000 +0900
@@ -95,6 +95,7 @@
perl => [qw( pl pm pod t )],
php => [qw( php phpt php3 php4 php5 )],
plone => [qw( pt cpt metadata cpy py )],
+ port => q{Portfiles},
python => [qw( py )],
ruby => [qw( rb rhtml rjs rxml erb )],
scheme => [qw( scm )],
@@ -447,6 +448,8 @@

return ('make',TEXT) if $filename =~ m{[$dir_sep_chars]?Makefile$}io;

+ return ('port',TEXT) if $filename =~ m{[$dir_sep_chars]?Portfile$}io;
+
# If there's an extension, look it up
if ( $filename =~ m{\.([^\.$dir_sep_chars]+)$}o ) {
my $ref = $types{lc $1};