The best parts of fish
and the best parts of xonsh
. I really like xonsh
,
but fish
's autocomplete and suggestion system is way superior to xonsh
's.
But I also love the fact that xonsh
has its whole state as Python objects.
So I decided to combine the two.
This code is 100% garbage. It's very hacky, a single python program manages
an instance of xonsh
and an instance of fish
. On pressing [ENTER]
, fish
sends a message to the running mollusk
instance over a socket, and mollusk
runs that inside of its child xonsh
process.
I consider this an improvement on xonsh
, but not an improvement on fish
at the moment. Once the main bugs are fixed, I'll probably consider it an
overall improvement, despite the spawning of a fish shell every time a
command is run.
-
Add the contents of the configuration files in
fish_config
to your files in~/.config/fish/
. Since configuration files are so complex, there is no way to do this automatically. -
Put
mollusk
in/usr/bin/
or somewhere in your path. Make sure thatfish
can findmollusk
wherever it may be. -
Try it out, see it break.
- Multi-line command support
- Robustness against breaking the internal xonsh interpreter
Fix end of file not terminating shell- Fix syntax highlighting
Probably combinemollusk
andmollusk-relay
- Have
~/.xonshrc
's prompt be the one presented on the fish prompt. - Ultimately never have to edit any fish configuration files, only
xonsh
ones
Sadly I can't change $SHELL
to /usr/bin/mollusk
. This is because xonsh
is what is actually running the commands.