What about adding Elvish shell?

Elvish is a powerful and highly customizable shell with many features not available in other shells.
I would love to see it in the default install with a powerful Manjaro configuration.

Currently this is a question, not a request. Please re-frame the post to form a request:

Please note the highlighted words.

However:

Inclusion by default of pre-release software doesn't bode well for user experience, so I'd say this one would (currently) be a "no".

1 Like

I looked into it. It has some nice ideas (integrating fzf style search and ranger style filemanager into the shell) and is fun to play with. However, at this point, I don't think it offers enough as an interactive shell over other options to make it a default shell on a install media.

Let's compare it with manjaro-zsh-settings. Both have history substring search syntax highlighting like fish does. Advantages elvish has are

  • inbuilt filemanager

Advantages zsh has are

  • strictly superior tab completion
  • bash like syntax (commands you copy-paste from internet work)
  • much much lighter. Elvish is 10-20 times heavier in ram usage

Also. The advantages elvish has are easy to replicate with dedicated tools. If you want cli filemanager, you could just use ranger, which is the same as elvish filemanager, but superior in almost every way. And if you want fuzzy search, you can just use fzf. (this actually makes me want to integrate these tools into my zsh configuration. The ideas elvish has are really good! :slightly_smiling_face:)

As an scripting shell, it shows some promise, but that is secondary when choosing a default shell.

Maybe we should reconsider this when the shell matures? Right now I'm trying to sell the idea of moving to zsh as the default shell :wink:

2 Likes

On my system Elvish is only 3-4 times heavier on RAM than Zsh.

Most of the commands can be copy-pasted from the internet since Elvish uses the same syntax for launching external executables. The difference is mainly in the syntax of the scripting elements, that make Elvish more powerful. The internal value pipes are amazing!

Yes, it is under heavy development, and is not ready for default shell on Manjaro. Most of the users even uses a different login shell. (For example I currently use Zsh for login, but launch the terminal with -e elvish option)

There are power users in the Manjaro community, and I think they would enjoy to try a powerful shell.
Currently there are more stuff for Zsh. But look at the number of community members. Oh-my-zsh has currently 20 times more stars on Github than Elvish.

I learned Zsh configuration and scripting for a few weeks, but I could tinker only a quite minimal Zsh config.
I learned Elvish for a few hours and I could create a lot more powerful Elvish config, because Elvish has a better designed structure.

What I like in Elvish shell:

  • Easy to understand and memorize the documentation.
  • It converts the source into an AST, and unlike Zsh, Bash, etc... it don't run any commands if there is a syntax error like a mistyped &, (, [, or something similar. I hated the lack of this feature in Zsh: running of a script can fail because of a missing ] nearly to the end of the script.
  • In interactive mode, it checks the syntax while typing.
  • Internal value piping is faster than STDIN, STDOUT, and programming with using internal pipes results in a more clean and easily maintainable code. No more worry about newlines or shell syntax characters in filenames.
  • Its readline configuration is very powerful and easy to understand. (Look at the zshzle man page: it's 1700 lines long, and quite difficult to understand, compared to the Elvish editor documentation. It's a few minute to read, and easy to understand.)
1 Like

elvish is available as a single binary from the project site, plus it's in the AUR, so they already can. :wink:

Forum kindly sponsored by