Dear all,
in the past there're some mails regarding to Find In Project.
Henrik Nyh wrote the wonderful command 'Grep In Project'. This inspired me to go one step further.
Instead of using 'grep' in fixed string mode I used 'onigrep'. I wrote the command line tool 'onigrep' in C which includes Kosako 's Oniguruma regexp engine (5.8.0) and works ONLY on utf-8/ASCII text files. You can find it within the bundle in folder ./bin/ppc or /bin/i386. More details on that 'onigrep --help'. (By myself I copied onigrep to /usr/bin to use it system-wide ;) but please note: onigrep is work in progress too!)
The matches, also for regexp!, are highlighted as usual.
Furthermore I used a self-made dialog with history list etc. The search function is working not only in a project but also for a single document.
If you select 'Search in the entire project' it will exclude the paths '*/.svn' '*/vendor/rails' '*/build'.
If you select the root folder of your project in the drawer, and you select 'Search in Selection' it will search in all subfolders.
The option 'Ignore diacritics' is up to now only working if you saves the entire text according to the canonical Unicode decomposition. Then you can search for 'arger' or 'facade' or た and you will get words like 'Ärger', 'façade', で. A command line tool which does it will be included in the near future.
So, if someone has a bit time I would be appreciated if s/he can test it. My main question is whether it runs also on Intel Macs. I compiled 'onigrep' for both architectures, and I don't know whether my ruby code got rid of it.
Some words about the speed of 'onigrep'. Of course, to deal with utf-8 regexp, well it takes a bit more time. I compared 'onigrep' with 'LC_ALL=en_US.UTF-8 grep' and the search speed was almost identical, but 'onigrep' is 'ignore case' safe and it uses the Oniguruma syntax ;)
You can download the BETA VERSION! of the Hypersearch here:
http://email.eva.mpg.de/~bibiko/dt/Hypersearch.tmbundle.zip (256k)
Any other suggestions, bugs, etc. are highly welcomed for both the Hypersearch bundle and for onigrep.
Many thanks in advance
Hans