5 ms·
Let's release Rust-based fish
- mtxlan 2y agoWhat difference from ZSH, any reason I have to use it over other? As my understaning it bring bunch of features out of box, syntax highligh, tab completion etc.?
- robin_reala 2y agoFaster, simpler and nicer to use, in my limited experience of ZSH. A focus on great defaults rather than expandability. But then I’m somewhat biased, having settled on Fish over a decade ago. ZSH might be better now.
- pizza234 2y agoCan you elaborate on "simpler and nicer to use"? The last time I've seen a description the differences, they were just minor simplifications of bashisms, like iterating an array, which don't simplify the experience significantly.
- drcongo 2y agoI switched to Fish about a decade ago too. "simpler and nicer to use" is a good summary, but to flesh it out a bit from my perspective: given how much time I spend in the terminal, the every day ergonomics are quite important to me. I used to use ZSH with oh-my-zsh and a bunch of plugins, over the years this got slower and slower, and the maintenance burden got annoying. It got to a point where opening a new terminal window would take maybe 5 seconds before it was ready to use. I tried Fish one day, and literally everything I'd customised ZSH to do came for free out of the box, no plugins, no maintenance. Startup time was instant. I now use Fish with a Starship prompt and I'm never going back.
- Twirrim 2y agoThe speed impact is one reason I've never liked oh-my-zsh and similar for other shells. It's also why I love starship https://starship.rs/ https://starship.rs/. Lots of plug-ins to customise what I want at the prompt, and all of it native compiled such that it executes in milliseconds.
- mtxlan 2y agoYeah, that great we have a lot of different opinion on thing and tools. For personal use i would try it. But for server side we as usual stick to default shipment, vim, zsh etc
- kemotep 2y agoWhat installs zsh by default? From my understanding you have to choose to go out of your way to use zsh over bash (or in some cases dash).
- alxhill 2y agozsh has been the default on macOS for a while now so it's pretty commonly used
- yjftsjthsd-h 2y agoSure, but the comment was > But for server side we as usual stick to default shipment, vim, zsh etc And macOS isn't a server OS.
- mirashii 2y agozsh has been default on MacOS for a while, after bash started licensing as GPLv3.
- mtxlan 2y agoMacOS uses zsh by default
- vindex10 2y agoOne of the important differences with bash, which is not dramatic but kind of low level is lack of `>()` process substitution. https://github.com/fish-shell/fish-shell/issues/1786 https://github.com/fish-shell/fish-shell/issues/1786 It is worth mentioning that exists `<()` and is implemented via a helper command `psub`: https://fishshell.com/docs/current/cmds/psub.html https://fishshell.com/docs/current/cmds/psub.html
- deleted 2y ago[deleted]
- 3PS 2y ago> As my understaning it bring bunch of features out of box, syntax highligh, tab completion etc.? I think this is a good summary. The best thing about fish is that you don't need to install any plugins to get all of the nice things that other people put a lot of effort into configuring: tab completion, syntax highlighting, and so on. It's also just really comfortably ergonomic in a way that is hard to describe unless you've used it - multiline commands automatically update their indentation as you type, completions for most common programs come pre-bundled, you can easily set environment variables globally across all of your shell instances without fiddling with config files or reloading your shells, and so on.
- robin_reala 2y agoFor those who haven’t been following along, Fish has been ported to Rust over the last year and a half: https://github.com/fish-shell/fish-shell/pull/9512 https://github.com/fish-shell/fish-shell/pull/9512 - Nobody really likes C++ or CMake, and there's no clear path for getting off old toolchains. Every year the pain will get worse. - C++ is becoming a legacy language and finding contributors in the future will become difficult, while Rust has an active and growing community. - Rust is what we need to turn on concurrent function execution. - Being written in Rust will help fish continue to be perceived as modern and relevant. It’s been pretty successful on the whole as the goal hasn’t been a big rewrite, but a module-by-module port, which will serve as a new baseline.
- yewenjie 2y agoIs there any report on performance improvements or new features that this rewrite unlocked?
- srid 2y agoFurthermore, how does it compare to Nushell which is also written in Rust? https://www.nushell.sh https://www.nushell.sh
- deleted 2y ago[deleted]