ack extension

1 view
Skip to first unread message

Roger Pack

unread,
Aug 25, 2009, 10:50:43 AM8/25/09
to Arcadia ruby ide
I've added [experimentally, but seems to work] an extension that wraps
the "ack" [1] command and seems to be a *very much faster* "search in
files, in

http://github.com/rogerdpack/arcadia/tree/ext-ack

It satisfied a big need for me. It wasn't too hard, either--thanks!
Anyway just pointing it out.
-r

antonio.galeone

unread,
Aug 25, 2009, 11:05:52 AM8/25/09
to Arcadia ruby ide
Great! I am excited, after years an extension not made by me!

antonio.galeone

unread,
Aug 30, 2009, 12:31:48 PM8/30/09
to Arcadia ruby ide
Hi, i have this output (in windows) on arcadia when try to use ack in
files:

undefined method `+' for nil:NilClass["./ext/ae-search-in-files/ae-
search-in-files.rb:180:in `add_result'", "./ext/ack-in-files/ack-in-
files.rb:87:in `do_find'", "./ext/ack-in-files/ack-in-files.rb:81:in
`each'", "./ext/ack-in-files/ack-in-files.rb:81:in `do_find'", "./ext/
ack-in-files/ack-in-files.rb:35:in `create_find'", "./ext/ack-in-files/
ack-in-files.rb:35:in `initialize'", "./ext/ack-in-files/ack-in-
files.rb:35:in `new'", "./ext/ack-in-files/ack-in-files.rb:35:in
`create_find'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk/event.rb:443:in
`call'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk/event.rb:443:in
`eval_cmd'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk/event.rb:443:in
`install_bind_for_event_class'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:
1187:in `call'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1187:in
`eval_cmd'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1187:in `cb_eval'",
"c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1138:in `call'", "c:/Opt/
ruby-1.8.6/lib/ruby/1.8/tk.rb:1324:in `callback'", "c:/Opt/ruby-1.8.6/
lib/ruby/1.8/tk.rb:1323:in `catch'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/
tk.rb:1323:in `callback'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:
1354:in `mainloop'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1557:in
`mainloop'", "./lib/a-tkcommons.rb:62:in `run'", "./arcadia:12"]

I have used an ack.bat like this:
perl.exe c:/opt/msys/1.0/bin/ack.pl %*

2) we can put SearchOutput in tkcommons..

thanks

Roger Pack

unread,
Aug 31, 2009, 8:41:43 AM8/31/09
to arcadia-...@googlegroups.com
> Hi, i have this output (in windows) on arcadia when try to use ack in
> files:
>
> undefined method `+' for nil:NilClass["./ext/ae-search-in-files/ae-
> search-in-files.rb:180:in `add_result'", "./ext/ack-in-files/ack-in-
> files.rb:87:in `do_find'", "./ext/ack-in-files/ack-in-files.rb:81:in
> `each'", "./ext/ack-in-files/ack-in-files.rb:81:in `do_find'", "./ext/
> ack-in-files/ack-in-files.rb:35:in `create_find'", "./ext/ack-in-files/
> ack-in-files.rb:35:in `initialize'", "./ext/ack-in-files/ack-in-
> files.rb:35:in `new'", "./ext/ack-in-files/ack-in-files.rb:35:in
> `create_find'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk/event.rb:443:in
> `call'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk/event.rb:443:in
> `eval_cmd'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk/event.rb:443:in
> `install_bind_for_event_class'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:
> 1187:in `call'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1187:in
> `eval_cmd'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1187:in `cb_eval'",
> "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1138:in `call'", "c:/Opt/
> ruby-1.8.6/lib/ruby/1.8/tk.rb:1324:in `callback'", "c:/Opt/ruby-1.8.6/
> lib/ruby/1.8/tk.rb:1323:in `catch'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/
> tk.rb:1323:in `callback'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:
> 1354:in `mainloop'", "c:/Opt/ruby-1.8.6/lib/ruby/1.8/tk.rb:1557:in
> `mainloop'", "./lib/a-tkcommons.rb:62:in `run'", "./arcadia:12"]
>
> I have used an ack.bat like this:
> perl.exe c:/opt/msys/1.0/bin/ack.pl %*

odd.
my ack.bat is
C:\dev\blade_copy\digitalarchive_trunk>cat \installs\ack.bat
@"c:\Program Files\Git\bin\perl.exe" c:\installs\bin\ack.pl %*

are you on vista?
Somehow parsing of ack's output is failing. Wonder what is going
on...I could put in something to handle it, but it would be best to
see what is going on--I wish I could recreate it--I'll probably add a
patch for it this saturday [well, kind of--one that should overcome
it--but it would still be interesting to know *why* it is bugging, if
you could help me out there].

> 2) we can put SearchOutput in tkcommons..

Good idea.
-r

Antonio Galeone

unread,
Aug 31, 2009, 12:08:02 PM8/31/09
to arcadia-...@googlegroups.com
ok with "@" seems to work

Antonio


2009/8/31 Roger Pack <roger...@gmail.com>

Roger Pack

unread,
Sep 1, 2009, 7:36:00 PM9/1/09
to arcadia-...@googlegroups.com
> ok with "@" seems to work
>
> Antonio

Odd. I'll have to try it without @ and fix it :)

Anyway, sometimes when I "delete project" it gives me this backtrace:


Errno::EBADF: Bad file descriptor
---< backtrace of Ruby side >-----
./ext/ae-dir-projects/ae-dir-projects.rb:798:in `write'
./ext/ae-dir-projects/ae-dir-projects.rb:798:in `p'
./ext/ae-dir-projects/ae-dir-projects.rb:798:in `del_project_from_file'
./ext/ae-dir-projects/ae-dir-projects.rb:796:in `each'
./ext/ae-dir-projects/ae-dir-projects.rb:796:in `del_project_from_file'
./ext/ae-dir-projects/ae-dir-projects.rb:747:in `del_project'
./ext/ae-dir-projects/ae-dir-projects.rb:467:in `do_close_project'
./ext/ae-dir-projects/ae-dir-projects.rb:381:in `pop_up_menu_tree'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1187:in `call'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1187:in `eval_cmd'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1187:in `cb_eval'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1138:in `call'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1324:in `callback'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1323:in `catch'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1323:in `callback'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1557:in `mainloop'
C:/ruby18/lib/ruby/site_ruby/1.8/tk.rb:1557:in `mainloop'
./lib/a-tkcommons.rb:62:in `run'
C:/ruby18/lib/ruby/gems/1.8/gems/arcadia-0.7.0.1/bin/arcadia:13
c:/ruby18/bin/arcadia:19:in `load'
c:/ruby18/bin/arcadia:19
---< backtrace of Tk side >-------
invoked from within
"rb_out c00146"
(menu invoke)

Perhaps you've run into something similar?

Reply all
Reply to author
Forward
0 new messages