The original support for fish shell requires converting bash script to a fish script.
I found there's a simpler solution: let bash do the bash scripts, we only need the result of the environment variables.
Code:
Just insert the first one into your own config.fish, then copy rvm.fish to ~/.config/fish/functions/ will do the tricks.
I believe this method can work on other shells (ex: zch).
Andrew Liu