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