• Stars
    star
    812
  • Rank 56,150 (Top 2 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

https://getantidote.github.io - the cure to slow zsh plugin management

antidote

MIT License version

GetAntidote Logo

Get the cure

Antidote is a feature-complete Zsh implementation of the legacy Antibody plugin manager, which in turn was derived from Antigen. Antidote not only aims to provide continuity for those legacy plugin managers, but also to delight new users with high-performance, easy-to-use Zsh plugin management.

Usage

Basic usage should look really familiar to you if you have used Antibody or Antigen. Bundles (aka: Zsh plugins) are stored in a file typically called .zsh_plugins.txt.

# .zsh_plugins.txt
rupa/z              # some bash plugins work too
sindresorhus/pure   # enhance your prompt

# you can even use Oh My Zsh plugins
ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/extract

# add fish-like features
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-autosuggestions
zsh-users/zsh-history-substring-search

A typical .zshrc might then look like:

# .zshrc
source /path-to-antidote/antidote.zsh
antidote load ${ZDOTDIR:-$HOME}/.zsh_plugins.txt

The full documentation can be found at https://getantidote.github.io.

Help getting started

If you want to see a full-featured example Zsh configuration using antidote, you can have a look at this example zdotdir project. Feel free to incorporate code or plugins from it into your own dotfiles, or you can fork it to get started building your own Zsh config from scratch driven by antidote.

Installation

Install with git

You can install the latest release of antidote by cloning it with git:

# first, run this from an interactive zsh terminal session:
git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote

Install with a package manager

antidote may also be available in your system's package manager:

Performance

antidote supports ultra-high performance plugin loads using a static plugin file. It also allows deferred loading for plugins that support it.

# .zsh_plugins.txt
# some plugins support deferred loading
zdharma-continuum/fast-syntax-highlighting kind:defer
zsh-users/zsh-autosuggestions kind:defer
zsh-users/zsh-history-substring-search kind:defer
# .zshrc
# Lazy-load antidote and generate the static load file only when needed
zsh_plugins=${ZDOTDIR:-$HOME}/.zsh_plugins
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
  (
    source /path-to-antidote/antidote.zsh
    antidote bundle <${zsh_plugins}.txt >${zsh_plugins}.zsh
  )
fi
source ${zsh_plugins}.zsh

Benchmarks

You can see how antidote compares with other setups here.

Plugin authors

If you authored a Zsh plugin, the recommended snippet for antidote is:

antidote install gh_user/gh_repo

If your plugin is hosted somewhere other than GitHub, you can use this:

antidote install https://bitbucket.org/bb_user/bb_repo

Credits

A big thank you to Carlos for all his work on antibody over the years.

More Repositories

1

zsh_unplugged

πŸ€” perhaps you don't need a Zsh plugin manager after all...
Shell
343
star
2

neovim-cheatsheet

Google Sheets docs for neovim/vim cheatsheets and tutorials supporting multiple alternative keyboard layouts
JavaScript
309
star
3

zdotdir

My zsh config
Shell
154
star
4

zephyr

🌬️ A Zsh framework as nice as a cool summer breeze
Shell
108
star
5

dotmore

The core .NET libraries are missing some really handy common things. dotmore brings them to you.
C#
40
star
6

keyboard-tools

⌨️ My tools for keyboarding with Colemak, and other sweet tasty goodness
Vim Script
39
star
7

zshrc.d

Load config files from a zshrc.d directory
Shell
27
star
8

fishconf

🐟 🐚 My fish config
Shell
22
star
9

zsh-safe-rm

Zsh plugin to add safe-rm functionality so that `rm` will put files in the trash.
Shell
21
star
10

zfunctions

Use a zfunctions directory for lazy loaded (autoload) zsh functions - similar to fish shell
Shell
20
star
11

zman

Use fzf to quickly browse Zsh manuals
Shell
20
star
12

dotfiles

Make everywhere feel like `$HOME`
Shell
15
star
13

magic-enter.fish

A fish shell plugin to run a default command when none was given
Shell
12
star
14

taskpaper-themes

Themes for TaskPaper
Less
10
star
15

ztap

An implementation of the Test Anything Protocol for unit testing Zsh using pure Zsh
Shell
7
star
16

dict.fish

Treat a key/value paired array like a dictionary in Fish
Shell
6
star
17

mac.bak

Bash rsync backup utility to grab files off my Mac
Shell
6
star
18

prezto-prompt-contrib

Additional popular prompt themes for Prezto
Shell
6
star
19

zebrafish

A powerful starter .zshrc
Shell
6
star
20

reel

A simple, elegant, clutter-free git plugin manager for the fish shell
Shell
3
star
21

zsh_custom

My oh-my-zsh plugins
Shell
3
star
22

frame-geometry

Spacemacs Layer to save and restore your window positioning across sessions
Emacs Lisp
2
star
23

alfred-timestamp

Alfred workflow for various date/time operations
Python
2
star
24

str

A modern command line string utility
Go
2
star
25

xonsh-dotfiles

My Xonsh shell config
Xonsh
1
star