romkatv / zsh-bench

Benchmark for interactive Zsh
MIT License
592 stars 27 forks source link

Question about "pure" plugin managers in the benchmark #9

Closed ryaminal closed 2 years ago

ryaminal commented 2 years ago

Hello. This was quite an interesting read. Having been a user of zinit for the last year-ish, I am looking for alternatives because of what has happened over the last few weeks.

I am mostly a noob at this stuff, so this is really just for clarification. I have a question about the following line from the readme.

These allow you to install and load plugins but don't configure zsh on their own in any way.

I assume that if compinit or setopt options are set from something then it doesn't some sort of configuration to zsh.

Wonder if you can clarify what is meant by this and why it's an important grouping/distinction that is made?

romkatv commented 2 years ago

It's not a strict distinction but you can probably see how zinit, zplug, and antigen are in one group and ohmyzsh, prezto and zsh4humans are in another. If your zsh config uses just zinit and nothing else, it's as good as empty zshrc. On the other hand, if you are using ohmyzsh with no changes, your zsh is set and ready to go.

I assume that if compinit or setopt options are set from something then it doesn't some sort of configuration to zsh.

Everyone has to invoke compinit, so it's not configuration in the sense that it doesn't require judgement. Which options to set, which styles to use, which prompt to enable -- all of these are configuration. You can do them this way or that with no objectively best choice.

romkatv commented 2 years ago

FWIW, in my opinion plugin managers are significantly less interesting that the amount of attention they receive would imply. They are easy to implement and barely make a difference -- that's why there are so many of them. They affect the textual content of your config files to a reasonable degree, performance to a smaller degree, and the behavior of your shell not at all. Plugins are actually important and there are very few of them that are worth using. All important plugins interact in non-trivial ways and interactions between them are the most important and the hardest part when it comes to the quality of zsh UX. By their nature pure plugin managers cannot do anything about this difficult and impactful problem.