Open jottr opened 3 years ago
Have you any alternatives for the antigen? 😆
Prezto looks good 🤷♂️
an "official" statement would be nice. there are some issues which are already fixed with some PRs, but nochting happens to merge them :(
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. 🙂
I have heard some good word about Zinit and going to try it out.
How about https://github.com/zpm-zsh
10 months since !$
... any word on the defacto Zsh init manager?
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. 😅
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.
@voltechs Have you tried my plugin manager Znap yet? It tries to be fast, light-weight and uncomplicated.
@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!
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.
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.
@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
@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'
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
@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
@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
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
Migration docs now available here: https://getantidote.github.io/migrating-from-antigen
Excellent job. Thank you @mattmc3
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.