freshshell/fresh

Fish (Friendly Interactive Shell) support

bugabinga opened this issue · 4 comments

fish is a nice shell, but not very Posix compliant, hence "fresh" does not work out of the box with fish.

What is necessary to make fresh work with fish? Would it be enough to ensure that ".fresh/build/shell.sh" conforms to fish syntax in case it is used?

That should be enough. fresh runs under bash so you will still need it installed. I can't link to the exact line on my phone but the top of shell.sh has so environment variables set by the _fresh_preamble function so if that's valid in Fish shell you should be fine :)

Were you having any problems in particular?

Perhaps a cleaner way to go is to just have an option to disable the preamble and people with incompatible shells can handle mutating the PATH themselves?

Another option is to not use fresh’s default shell.sh behaviour and instead always specify an explicit path for shell lines. Something like:

fresh-options --file=~/.config/fish/config.fish --marker=\#
  fresh …
  fresh …
fresh-options

I use fish with fresh without any issues. Check out my dotfiles...