3 ms·
The main inconvenience of fish is not even having to go into another shell for some tasks like virtual env activation, but wondering whether some command you ju
by throwaway290 4y ago
The main inconvenience of fish is not even having to go into another shell for some tasks like virtual env activation, but wondering whether some command you just ran silently did something wrong because of shell incompatibility. (Edited)
Also, I wonder how fast is OMF compared to Starship?
- buildbot 4y agoVirtualenv supports fish just fine. . venv/bin/activate.fish
- throwaway290 4y agoInteresting, I didn't know they have a separate activate script now
- rgoulter 4y ago> The main inconvenience of fish is not even having to go into another shell for some tasks like virtual env activation For stuff like "in this directory, I want this virtual env activated", I'd recommend using direnv. https://direnv.net/ https://direnv.net/ > wondering whether some command you just ran silently did something wrong because of shell incompatibility I don't recall running into silent incompatibities. Do you have examples in mind? Although, yeah, you can't just copy-paste most sh/bash snippets into fish.
- throwaway290 4y agoI'm sure there are some ways it can fail silently, but excluding that I think of a function that fails loudly but higher-level function does not check that.
- w23b07d28 4y ago> The main inconvenience of fish is not even having to go into another shell for some tasks like virtual env activation, but wondering whether some command you just ran silently did something wrong because of shell incompatibility. I have the impression that you just overlook all the rest of the things that can go wrong when using Bash, because you are simply used to it, you know it and you know how it will behave. In the sense that with Dash you would perhaps have a similar problem. Fish is really pleasant and forgives a lot. > Also, I wonder how fast is OMF compared to Starship? Those are two total different projects. During my hypomania on Fish (yup), I didn't even use OMF, but added things manually and only those really needed, so that there was as little code to maintain as possible. Fish does not have a huge number of scripts, plug-ins. If Starship is too slow for you, you might like Tide. I found nothing more interesting, after which I returned to Starship anyway, but it's really fast. https://github.com/IlanCosman/tide https://github.com/IlanCosman/tide Perhaps you don't need something faster than Starship, just to configure Fish in such a way that it cleans itself of garbage and runs asynchronously?
- throwaway290 4y ago> I have the impression that you just overlook all the rest of the things that can go wrong when using Bash, because you are simply used to it, you know it and you know how it will behave I don't write much of bash or fish, I mean scripts written by others. Encounter cryptic error messages then realize script is just assuming shell is POSIX > Starship is too slow Starship plenty fast for me. You say it's completely different than OMF but from what I see they both exist to customize your prompt, no?
- w23b07d28 4y ago> I don't write much of bash or fish, I mean scripts written by others. Encounter cryptic error messages then realize script is just assuming shell is POSIX I run most of my scripts in Bash, but what I can, I convert to Fish. If the advantages of Fish are less important than POSIX compliance, I won't suggest anything, because I have no need to be POSIX compliant, so maybe I don't really have the same concerns. :) > Starship plenty fast for me. You say it's completely different than OMF but from what I see they both exist to customize your prompt, no? Forgive me, I mistakenly assumed you meant that Starship runs too slowly. It depends on how you define prompt. Strictly it will be whatever is shown in the terminal when it waits for user input. OMF is a multi-tool that, in addition to modifying the appearance, acts as something like a plugin manager. Starship gives you "just the look". I think a good analogy would be to compare systemd and runit in 1 category.
- throwaway290 4y agoHow do you run scripts in bash while using fish as your shell?
- em-bee 4y agoyou execute them like any other script. the script is not interpreted by your interactive shell but it specifies which shell/interpreter will be used to run it. that interpreter is then started for this script. your interactive shell does not limit what kind of scripts you can run. there was never a requirement that bash scripts need to be started from a bash shell. otherwise you could not even run python or other scripts from your shell.