jdx / mise

dev tools, env vars, task runner
https://mise.jdx.dev
MIT License
8.03k stars 210 forks source link

Augment documentation to include how, when using mise with fish, changing the PATH is a reliable design approach given... #1682

Open EdmundsEcho opened 4 months ago

EdmundsEcho commented 4 months ago

Nice work porting asdf to rust.

So, the reason I originally bought into the use of shims was that I found that other solutions ended up corrupting my fish PATH. fish, as you are aware, has a unique approach to managing the PATH value. The corruption was caused by repeated appending to the PATH. I don't know enough to be more specific than that other than to say the application was supposed to work with fish.

The shims approach only requires that the version manager be part of the PATH. Precisely as mise does in my neovim IDE setup.

With that background, how does mise change the value of the PATH with every change to the active version of whatever is being managed? How does mise reset the PATH value (where reset implies clearing previous mise regulated values)?

Thank you in advance!!

jdx commented 4 months ago

It's not clear to me what you're asking here. If you just want to see what mise does with fish then instead of activating, manually run mise hook-env -s fish to see what fish commands it executes.