zsh-users / antigen

The plugin manager for zsh.
http://antigen.sharats.me
MIT License
8.01k stars 279 forks source link

Is this project dead? #725

Open jottr opened 3 years ago

jottr commented 3 years ago

Title says it all. There's a number of open pull-requests that have been waiting for review for months. The last PR was merged in 2019.

pPrecel commented 3 years ago

Have you any alternatives for the antigen? 😆

GeorgesAlkhouri commented 3 years ago

Prezto looks good 🤷‍♂️

dakky commented 3 years ago

an "official" statement would be nice. there are some issues which are already fixed with some PRs, but nochting happens to merge them :(

marlonrichert commented 3 years ago

Have you any alternatives for the antigen? 😆

Yes, I do: Try Znap. It's a very light-weight plugin manager that's also very fast and has a simple syntax. It can reduce your time to prompt to ~40ms with just one command. 🙂

FranklinYu commented 3 years ago

I have heard some good word about Zinit and going to try it out.

voltechs commented 3 years ago

Prezto looks good 🤷‍♂️

Prezto looks bloated 😛

I have heard some good word about Zinit and going to try it out.

Thanks for the tip. Zinit looks kinda confusing at first glance, but I'll take a look. zplug looks compelling as well.

hoyacom commented 3 years ago

How about https://github.com/zpm-zsh

jasonm23 commented 2 years ago

10 months since !$... any word on the defacto Zsh init manager?

marlonrichert commented 2 years ago

There has been some talk on the official Zsh mailing list about an official plugin manager (even as far back as 2016), but nothing came from that.

Technically, one doesn’t need any 3rd-party tool to manage plugins. To install a plugin, all you need is to git clone its repo and then source it in your .zshrc file. Whenever you want to update, just run git pull.

One problem with plugins is that many are poorly written and slow down your shell’s startup time. The “proper” solution would be to contribute patches to these plugins to optimize them. However, there appear to be preciously few people who can actually write proper Zsh code. 😅

voltechs commented 2 years ago

Sounds like a Zsh plugin writing guide from those that know for those that don't, could be useful to the community as far as writing efficient plugins.

git cloning is a tad of a bummer/overkill as far as plugin management goes IMHO. I love how lightweight antigen is in terms of managing plugins; it's a bummer this project has lapsed in maintenance. I find others to be a bit too heavy handed or cumbersome. Even slow, at times, speaking of efficiencies.

marlonrichert commented 2 years ago

@voltechs Have you tried my plugin manager Znap yet? It tries to be fast, light-weight and uncomplicated.

voltechs commented 2 years ago

@voltechs Have you tried my plugin manager Znap yet? It tries to be fast, light-weight and uncomplicated.

Hi @marlonrichert, I have not checked it out yet. I'll take a peek here at some point. Thanks!

mattmc3 commented 2 years ago

I might as well also throw a plug out there for my Zsh plugin manager - antidote. Antidote specifically aims to be the successor to antigen (I think of it as antigen's grandchild). It is based off antibody (deprecated), which in turn was also based off antigen (which now also seems to be deprecated). It uses the same terminology as antigen, and many of the same commands (bundle, etc). It also goes a step further and generates a static plugin file which makes loading plugins blazing fast. Antigen users should feel right at home, and get quite the speedup as well.

jasonm23 commented 2 years ago

Thanks for the update @mattmc3. I will definitely give it a try and post feedback here.

I'm looking for something like this, with close to zero re-conf from Antigen.

jasonm23 commented 2 years ago

@mattmc3 - looks good, docs and presentation wise.

I'm going to work over the errors but will bail on the rabbit hole in about 15 mins.

I expect the issue is no equivalence of antign use ohmyzsh

mattmc3 commented 2 years ago

@jasonm23 - Yes, similar to its parent project antibody, antidote does not implement antigen's use command. However, it's on the roadmap since it's so handy. But for now, this works just fine:

# for dynamically loading plugins
source <(antidote init)
antidote bundle 'ohmyzsh/ohmyzsh path:plugins/colored-man-pages'
antidote bundle 'ohmyzsh/ohmyzsh path:plugins/magic-enter'
antidote bundle 'ohmyzsh/ohmyzsh path:plugins/extract'
jasonm23 commented 2 years ago

Unfortuntely this is a show stopper.

antidote bundle ohmyzsh/ohmyzsh path:plugins/aws
# antidote cloning path:plugins/aws...
fatal: unable to access 'https://github.com/path:plugins/aws/': The requested URL returned error: 400
antidote: error: failed to bundle: /Users/jason/Library/Caches/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-path-COLON-plugins-SLASH-aws: no such file or directory
fpath+=( /Users/jason/Library/Caches/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh )
source /Users/jason/Library/Caches/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/oh-my-zsh.sh
mattmc3 commented 2 years ago

@jasonm23 - use quotes, per this comment. Also, if you're coming from antigen, I assume you'll want to start by putting antidote in dynamic mode with source <(antidote init). Otherwise antidote will behave like you intend to write to a .zsh_plugins.txt file for static (blazing fast) sourcing and just output fpath and source statements rather than executing them.

source <(antidote init)
antidote bundle 'ohmyzsh/ohmyzsh path:plugins/aws'

If you have further issues, feel free to open a bug report here: https://github.com/mattmc3/antidote/issues

jasonm23 commented 2 years ago

@mattmc3 thanks for the assist. I'd also like to use platform specific loading, I assume I would still need to use..

if [[ `uname -a` =~ "Darwin" ]]; then
  antidote bundle 'ohmyzsh/ohmyzsh path:plugins/macos'
  antidote bundle 'ohmyzsh/ohmyzsh path:plugins/xcode'
  antidote bundle 'ohmyzsh/ohmyzsh path:plugins/brew'
fi
jasonm23 commented 2 years ago

Ok! That was relatively painless and performance is good. I do some ssh-agent checking on load, which I should cache anyway.

Thank you, @mattmc3, this is a good alternative to antigen.

If I could have one ask, it's that there are migration instructions (at least linked) in the README.md and on https://getantidote.github.io/usage

mattmc3 commented 2 years ago

Migration docs now available here: https://getantidote.github.io/migrating-from-antigen

jasonm23 commented 2 years ago

Excellent job. Thank you @mattmc3