6

コード検索ユーティリティが大好きですack。Makefileを調べるのに十分賢いですが、sconsが使用するSConstructファイルとSConscriptファイルについては知りません。ackが検索するファイルにそれらを追加するにはどうすればよいですか?

4

3 に答える 3

3

SConsファイルをmakeファイルのように扱うパッチは次のとおりです。

--- ~/bin/ack-old 2011-06-01 15:43:51.000000000 -0600
+++ ~/bin/ack     2011-06-01 15:42:09.000000000 -0600
@@ -1583,6 +1583,8 @@

     return 'skipped' unless is_searchable( $basename );

+    return ('python',TEXT)      if $basename eq 'SConstruct' || $basename eq 'SConscript';
+
     my $lc_basename = lc $basename;
     return ('make',TEXT)        if $lc_basename eq 'makefile' || $lc_basename eq 'gnumakefile';
     return ('rake','ruby',TEXT) if $lc_basename eq 'rakefile';
于 2011-06-01T21:51:20.003 に答える
2

これは、ackのタイプセットを使用して行うことはできません。MakefileとRakefileはソースにハードコーディングされています。$HOME/.ackrcを変更して追加することでsconsタイプを追加できると思い--type-set=scons=SConstruct,SConscriptましたが、「。SConstruct」または「.SConscript」で終わるファイルが検索されます。

最も簡単な回避策は、-a(すべてのファイルタイプ)フラグをackに追加することです。

ackで検索し、SConstructを何らかの方法でフィルタリングできるようにしたい場合#!/usr/bin/pythonは、SConstructファイルの最初の行として追加できます。その後、AckはファイルをPythonソースコードとして扱い、。でフィルタリングできます--python

于 2010-12-28T19:16:30.203 に答える
1

新しいack2が開発中であり、.ackrcファイルでの正確なファイル照合が可能になります。これにより、SconsとJamのサポートが容易になります。

于 2012-01-26T19:49:57.357 に答える