Hi All,

As an attempt to migrate my default shell from zsh to fish, I found myself not 
being able to use some of my favourite tools, mainly Rbenv. For some of you who 
may not be familiar with Rbenv, it is a sophisticated Ruby version manager for 
POSIX shells:
https://github.com/sstephenson/rbenv

Some people have been able to make Rbenv work with some hacks or workarounds by 
creating their own shell functions that mimic the original functionality of 
Rbenv, however the problem is that it might get out of sync with the original 
Rbenv implementation meaning that those hacks could potentially break any 
moment.

I think as it is with Rbenv, fish’s popularity is highly dependant on the fish 
compatibility of the most commonly used tools. Rather than introducing external 
workarounds, I think we need to get the most common tools to support the new 
shell out of the box in order to raise awareness of fish itself. I understand 
that this sounds like a major pain in the a** and would involve lots and lots 
of work from the community but we could do one thing at a time.

Having said that I decided to try adding fish shell compatibility to Rbenv. 
Unfortunately, turns out that I’m not a huge shell magician and I’m just 
getting familiar with the fish shell scripts. Having said that, I’m looking for 
contributors and guidelines towards doing a good job in adding fish compatible 
functionality to Rbenv.

I’ve joined the discussion on Github that is related to the fish shell 
compatibility:
https://github.com/sstephenson/rbenv/issues/195

I did contact the authors of Rbenv and manages to squeeze out some information 
of them. Now, even though Rbenv is making use of bash or zsh (either one of 
them, really) those shells do not necessarily need to be your login shell, just 
need to be available on the system to make sure Rbenv operates as expected. 
Looks like the majority of the work would be to ensure that this particular 
script spits out fish compatible commands:
https://github.com/sstephenson/rbenv/blob/master/libexec/rbenv-init

Is there somebody who might be interested in helping out?

Here’s what we’d need:

* A fish shell compatible output of `rbenv init -` so that it can be evaluated 
by fish and the rbenv function could be loaded into the shell.
* A shell script testing too that is compatible with fish. Rbenv issuing Bats 
for testing Bash scripts. Having tests for the fish compatible layer of Rbenv 
would be great.

Let me know if somebody is eager to help out.

Thanks,

— Attila

PS: If somebody knows of a useful and easy to understand resource online that 
would help in porting POSIX scripts to fish, then let mw know please. (Mostly 
for shell script noobs like myself)
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Fish-users mailing list
Fish-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to