Hacker News new | ask | show | jobs
by duckerude 1940 days ago
Not having to fight against POSIX. Arrays are first-class, strings don't split when you don't want them to, things that could be builtins generally are builtins instead of inscrutable syntax.

Command output is split on newlines, which turns out to work really well with most Unix tools and only breaks on the most pathological of filenames. The newbie-ism `for f in (ls)` isn't actually harmful in fish.

Autocomplete definitions are very straightforward and declarative, so writing your own is easy. See https://fishshell.com/docs/current/cmds/complete.html#exampl.... zsh's system is more intimidating. (I even contributed completions for a few commands to this release of fish.)