From: Dan Zwell Date: 2007-12-25T09:46:07+09:00 Subject: Re: zsh and ruby functions d c wrote: > hi roobyfiends - > > i am trying to get zshell to use some ruby scripts transparently but > running into problems. > > in the ruby script i have: > > #!/usr/bin/env ruby > > and yet: > [dc@metroid:~]$ type svnbatchmove.rb (12-24 09:43) > svnbatchmove.rb is a shell function > > then running of course gives parse errors: > > [dc@metroid:~]$ svnbatchmove.rb (12-24 09:42) > svnbatchmove.rb:20: parse error near `puts' > > how do i coerce zsh into recognizing this as ruby? > > if i run the script directly (ie full path) it's fine... > > i have this in my zshrc to prep the ruby scripts as zsh functions - > is there another way to do this? i tried adding this dir to my path, > but unable to find the new funcs. > > autoload ~/rpm/bin/rubyfuncs/*(:t) > > but this gives: > > [dc@metroid:~]$ which svnbatchmove.rb (12-24 10:02) > svnbatchmove.rb () { > # undefined > builtin autoload -X > } > > is it only possible to extend zsh with other shell algebra gook? > > i found a workaround by defining a shell function to call the ruby one... > > svnba() { > ~dc/rpm/bin/shellfuncs/svnbatchmove.rb $* > } > > but this is obviously duplicitious and duplicative ... > > guess this maybe more of a zsh list thing but ... tips appreciated! > > /dc > > Well, I've never used zsh, but you can just call "ruby svnbatchmove.rb"--this will always work. If that's too clunky, you could create a valid zsh script called "svnbatchmove" that acts as a wrapper and calls "ruby svnbatchmove.rb". Dan