https://github.com/enricozb/mollusk
🐠 + 🐚 = 🌈 : fish + xonsh = everything nice
https://github.com/enricozb/mollusk
fish mollusk xonsh
Last synced: about 1 month ago
JSON representation
🐠 + 🐚 = 🌈 : fish + xonsh = everything nice
- Host: GitHub
- URL: https://github.com/enricozb/mollusk
- Owner: enricozb
- Created: 2018-06-23T08:23:21.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-07T08:54:34.000Z (almost 7 years ago)
- Last Synced: 2024-10-24T15:38:44.379Z (6 months ago)
- Topics: fish, mollusk, xonsh
- Language: Python
- Size: 7.81 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mollusk (`fish` + `xonsh`)
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.## Installation
1. 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.2. Put `mollusk` in `/usr/bin/` or somewhere in your path. Make sure that
`fish` can find `mollusk` wherever it may be.3. Try it out, see it break.
## TODO \[bugs\] (in order of priorty)
- Multi-line command support
- Robustness against breaking the internal xonsh interpreter
- ~~Fix end of file not terminating shell~~
- Fix syntax highlighting
- ~~Probably combine `mollusk` and `mollusk-relay`~~## TODO \[features\] (in order of priorty)
- Have `~/.xonshrc`'s prompt be the one presented on the fish prompt.
- Ultimately never have to edit any fish configuration files, only `xonsh`
ones## Laments
Sadly I can't change `$SHELL` to `/usr/bin/mollusk`. This is because `xonsh`
is what is actually running the commands.