Closed zbirenbaum closed 2 years ago
I would like to know this as well.
Hello! I've been one of the (unofficial) primary maintainers on prezto for a while. I say "unofficial" because the owner of the repo is MIA (no Github activity in more than a year, no Prezto activity in even longer than that) and nobody other than him has admin access to the repo. Though, I spent quite a bit of time a few years ago trying to whip this repo more into shape (along with the help of some fantastic other maintainers).
There are a few other people who have commit access (@facastagnini, @johnpneumann, @paulmelnikow, @jeffwidman, @indrajitr) who may want to weigh in, but I'll give my opinion below.
I wouldn't say prezto is dead, but we've been actively avoiding most new features, so I would say it's in "maintenance mode". Most of the changes that go in are fixing issues (I've been meaning to take a look at your PR @zbirenbaum, but I've been trying to stay away from my computer while I'm on paternity leave unless an emergency comes up) and features that fit into existing modules.
All this being said, I grew out of love with prezto quite a long time ago (part of the reason I'm not pushing as hard to make bigger changes). I don't use prezto any more (other than setting it up to try and reproduce an issue). My current zshrc uses my own minimal framework, zsh-utils. Here are a number of reasons why (in no particular order):
I could probably go on, but I think that makes my point well enough. The short version: I'm unhappy with the state of things, but we don't have full control of the repo or approval from the owner to make more major changes which are sorely needed.
But enough complaining! You also asked about alternatives!
I've also been considering making my own larger framework/starter kit, but after how burnt out I am on prezto, I don't know if that will ever happen.
Please let me know if you have any other questions/concerns and I'll do my best to answer them.
- zsh4humans this is a really solid zsh starter kit that works as a great starting point
I wouldn't describe it this way. I try to support two kinds of users in zsh4humans:
PATH
exporting a bunch of variables, etc.Users who like to use many third-party plugins and who are used to them should best avoid zsh4humans. zsh4humans has builtin alternative to virtually all useful third-party plugins but it may require changing habits when switching to zsh4humans. These costs aren't always justifiable. New users don't have this disadvantage, hence point (1) above. Advanced users can suck up the switching cost when the final result is an improvement, hence point (2) above.
I should add that zsh4humans is in maintenance mode. I'm still fixing bugs but the only features I'm adding are those that I need myself.
@romkatv @belak I do have write permissions on the repo but as @belak mentioned, I do the occasional cleanups on issues (truth be told, I haven't been active in the last year).
I still use prezto on Mac and Linux so it's in my personal interest to fix any issue which breaks them on stable for both and hence as of now I continue to look into any breaking issues on stable.
That being said, my work does not allow me the liberty of fixing other bugs and whilst I lament on this situtation - c'est la vie
. I agree with both @romkatv and @belak, the project as of now is in maintenance mode
rather than active development.
I wouldn't describe it this way. I try to support two kinds of users in zsh4humans:
Thanks for the description! I pinged you because I didn't want to misrepresent it. I've updated the 2 sentence explanation of zsh4humans in the previous post.
I should add that zsh4humans is in maintenance mode. I'm still fixing bugs but the only features I'm adding are those that I need myself.
Huh. I didn't know that. Thanks for mentioning it.
It does seem like there's a bit of a demand for a zsh framework (that doesn't exist yet) somewhere between a raw config and OMZ, but I'm not aware of a popular, actively developed, well supported one.
Thank you so much for the incredibly detailed and helpful explanation regarding the status of the repository @belak. I am sure many other people who are also curious will find that response very helpful!
I'd like to thank you and the other maintainers for the hard, likely often (un-rightfully) thankless work you all have done. I was unaware of the situation with the repository owner, but it sounds quite difficult and you guys have done a great job keeping things running in his absence! Thank you so much for responding despite being on paternity leave, and I wish the best of luck to you and the new mini-programmer!
As a side note, I do think that this is correct:
It does seem like there's a bit of a demand for a zsh framework (that doesn't exist yet) somewhere between a raw config and OMZ, but I'm not aware of a popular, actively developed, well supported one.
As, while I have considered @romkatv's zsh-for-humans, I was a little concerned with it coming with so much out of the box and being difficult to integrate existing plugins with. What I'm looking for is more optimizations than quick functionality. I started with prezto, because at the time, it was the fastest framework available (that I could find at least). I am not a stranger, nor adverse, to writing extensive configurations and scripts, having modified quite a few of the prezto modules over time to fit my purposes, written some zle widgets, advanced customization on p10k (one if which romkatv helped me with and I am still thankful for that), and other things, but optimizing remains quite the difficult task as my personal code-base grows, so having a framework to keep things organized and the bulk of it optimized/maintained by more knowledgeable scripters is helpful.
Having messed with a number of the modules though, I fully understand what you were referring to by them 'lacking focus' and being difficult to debug, as often times to trace down what I need requires quite a bit of grepping, keyword searching, echo statements, etc. Given that you said it is fairly minimal, I think your zsh-utils may fit my purposes much better, or at least provide some inspiration, so I'll take a look at it!
As, while I have considered @romkatv's zsh-for-humans, I was a little concerned with it coming with so much out of the box and being difficult to integrate existing plugins with.
I'm totally OK with people not using my stuff but just wanted to clarify a couple of points here.
It's not more difficult to use third party plugins with zsh4humans than with zplug, zgen, antigen and similar. It's just not something you'll want to do because for every useful third party plugin there is a better solution within zsh4humans. Well, not for every useful plugin but for many.
It's also worth mentioning that plugins don't compose in zsh very well. Even just using zsh-syntax-highlighting with zsh-autosuggestions causes integration issues that result in high input latency, incorrect highlighting and blinking. Powerlevel10k also has to be defensive in order to survive in unknown and often hostile environments. This has costs. But when p10k finds itself in zsh4humans, it drops many of its defenses and workarounds and becomes faster. I'm already used to zsh4humans and when I test other dotfiles that use plain plugins I immediately notice just how jarring all those minor issues are.
@zbirenbaum It's not dead, but it needs more maintainers. Thanks for contributing. I have invited you as a collaborator. Thank you.
@romkatv There is no sandboxing or namespaces. The more plug-ins you use, the worst the experience. Plug-ins are developed independently and likely to be incompatible. Syntax highlighting is quite complex. Issues have been known with it. Debugging shell code is primitive.
@sorin-ionescu Thank you very much for the invitation, I am happy to help out with maintaining Prezto and accepted the invite just now.
Will close the issue as there are not discussions pending!
Last PR I submitted sat for months without anyone reviewing it until I just closed it. It’s been two weeks since I submitted a fix for a major issue that can lock someone out of their system completely and radio silent.
very few new commits getting pushed, and I rarely see maintainer activity here.
If it’s dead what have people moved to as an improvement?