Live data from Hacker News

Fish shell 3.0

github.com

71–80 of 227 posts

Re: Fish shell 3.0

#71

>? as a glob (wildcard) is deprecated and will be removed in the future ( https://github.com/fish-shell/fish-shell/issues/4520 ) This surprised me, but maybe it's for the best. It got in my way more often than I used it. I'll still miss it.

huh ... interesting. I missed that. I often quote URLs when running wget because of question marks, and I guess I don't have to now.

Re: Fish shell 3.0

#73
I started using fish around 2013, back when it would occasionally crash and leave stack traces in the console. I'm really glad I stuck with it though. Fish has come a long way and it's totally an amazing shell. I really love all the functionality that's come out of the box and don't really mind learning new syntax if it means I can get away from old cruft.

Re: Fish shell 3.0

#75
post #58

Apart from the other good stuff in this release, I think this will make a lot of things much easier: fish now supports && (like and), || (like or), and ! (like not), for better migration from POSIX-compliant shells

That’s new? Suddenly I feel less guilty about dodging coworkers who have been trying for years to get other people to try fish. But maybe now it’s getting closer to production readiness.

The fact that it doesn't support your particular preferred syntax doesn't mean it's not production-ready.

Re: Fish shell 3.0

#76

Earlier quoted context omitted.

Starting at 1 is good for non-programmers, who IMO could benefit the most from switching to Fish. I would love to see a distro using Fish as the default shell for non-root users.

When I’ve been teaching people to program, explaining [0] has been a tragic experience. Starting at [0] is not objectively better than [1]. I actually believe it is objectively worse .

https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E...

Re: Fish shell 3.0

#77
post #37

I've been happily using fish for maybe two years now, just as a default shell and not doing anything fancy. Out of the box it is great. I'm not sure how to feel about only now learning its indexes start at a [1] though (╯°□°)╯︵ ┻━┻ Love it otherwise.

Zero based -> index is offset (natural in low level languages) One based -> index is number of element

Re: Fish shell 3.0

#78
Still no auto-escaping or quoting for pasted URLs, that's really disappointing. I respect fish's stated goals of user friedlieness, but I just don't think they've realized that goal in ways that other more mainstream shells have:

    > mpv https://www.youtube.com/watch?v=LBoF1e5YDdQ
    fish: No matches for wildcard 'https://www.youtube.com/watch?v=LBoF1e5YDdQ'. See `help expand`.
    mpv https://www.youtube.com/watch?v=LBoF1e5YDdQ
        ^
This, to me, is not user friendly.

For reference, pasting the same URL into zsh with the often touted omz (incidentally I recommend you use antigen instead) auto-escapes the URL to

    > mpv https://www.youtube.com/watch\?v\=LBoF1e5YDdQ

Re: Fish shell 3.0

#79

Still no auto-escaping or quoting for pasted URLs, that's really disappointing. I respect fish's stated goals of user friedlieness, but I just don't think they've realized that goal in ways that other more mainstream shells have: > mpv https://www.youtube.com/watch?v=LBoF1e5YDdQ fish: No matches for wildcard 'https://www.youtube.com/watch?v=LBoF1e5YDdQ'. See `help expand`. mpv https://www.youtube.com/watch?v=LBoF1e5Y…

What? That's been in for a few releases!

To trigger it, enter a single-quote, then paste the URL, then close the quote once you're done.

We don't attempt to detect URLs because that can go wrong, and because we don't know your intention. So we use the fact that you're inside single-quotes as the signifier that we should escape things - which also allows this to be used for e.g. pasting shellscript as a literal argument.

Re: Fish shell 3.0

#80
post #69

I made fish my default shell for around a month, and I really liked the smart suggestions of what command I was going for when I started typing. But the "vi" mode had enough incompatibilities that it really irritated me, it was extremely incomplete. Discussions of it with devs went nowhere. Plus, there were incompatibilities in the language that I could never bring myself to commit to memory; I might have if the vi m…

ZSH seems to have broader community support and there's a plugin for basically everything. This is why I chose to stick with it over Fish. If I just wanted a very simple shell, with good defaults, I'd choose Fish. But much like why I use (Neo)Vim I prefer the DIY approach and have gotten my ZSH to the point over the years (and a hundred scripts later) where I love it. But ZSH the language is pretty awful and non-intu…

Similar story for me, but I consider the POSIX shell language a worthwhile least-common-denominator language. I avoid using bash or zsh extensions except interactively (and in a zsh plugin I maintain [0]).

As I think you need to know the standard shell language anyway, new shell DSLs are a bit of a turn-off to me. If the language is trivial it's not very powerful and if it's powerful it takes time to learn.

That's why I have high hopes for shells that combine tried-and-true programming languages and their ecosystems to a thin shell layer. Like http://xonsh.org or https://docs.racket-lang.org/rash/index.html .

But if I'm completely honest, I think bash will still be the standard choice in 5 years and weird shells you haven't heard of will still be weird shells you haven't heard of.

[0]: https://gitlab.com/code-stats/code-stats-zsh

Post reply on HN