ZSH Plugin Manager. Yes, yet another one.
declare -A ZED
ZED[CACHE_DIR]="${HOME}/.cache/zsh/.zed"
ZED[DATA_DIR]="${HOME}/.local/share/zsh/.zed"
if ! test -d "${ZED[DATA_DIR]}/self"; then
git clone --depth 1 https://github.com/MunifTanjim/zed.git "${ZED[DATA_DIR]}/self"
fi
source "${ZED[DATA_DIR]}/self/zed.zsh"
You should load the plugins you want after running zed init
and before running zed done
.
Initialization:
zed init
Normal Plugin:
zed load github.com/momo-lab/auto-expand-alias
zed load github.com/trapd00r/LS_COLORS \
pick:'lscolors.sh' \
onpull:'dircolors -b LS_COLORS > lscolors.sh' \
onload:'zstyle ":completion:*" list-colors "${(s.:.)LS_COLORS}"'
zed load github.com/zpm-zsh/colorize
zed load github.com/zpm-zsh/ls
zed load github.com/zsh-users/zsh-completions
zed load github.com/zsh-users/zsh-autosuggestions
zed load github.com/zsh-users/zsh-syntax-highlighting
Generated Script:
if (( ${+commands[zoxide]} )); then
zed load github.com/MunifTanjim/null name:'zoxide' \
onpull:'zoxide init zsh > zoxide.plugin.zsh'
fi
if (( ${+commands[starship]} )); then
zed load github.com/MunifTanjim/null name:'starship' \
onpull:'starship init zsh --print-full-init > starship.plugin.zsh'
fi
Local Script:
zed load "${HOME}/.helpers.sh"
Oh My Zsh Plugin:
zed load github.com/ohmyzsh/ohmyzsh dir:'plugins/macos'
Finalization:
zed done
The main function is named zed
.
You don't like that name?!
In case you already have another function with the same name,
for example: the zed
command line editor,
just set the ZED[name]
variable to something else before
sourcing the zed.zsh
file.
ZED[name]=zedi
Then zed
will become zedi
, and you can do:
zedi load "${HOME}/darkside.sh"
Initialize
Load plugin
Finalize
List plugin-ids
Pull latest changes for plugins
Pull latest changes for zed itself
(In alphabetical order of repository names)
- zsh-users/antigen
- ohmyzsh/ohmyzsh
- sorin-ionescu/prezto
- mattmc3/pz
- agkozak/zcomet
- tarjoilija/zgen
- jandamm/zgenom
- zimfw/zimfw
- zplug/zplug
- zpm-zsh/zpm
- ...more
-
Q: There are so many zsh plugin managers! Why should I care about this one?
A: You probably shouldn't.
-
Q: What does this this offer that the others don't?
A: Well, possibly nothing.
-
Q: What does this do differently?
A: It doesn't really matter.
-
Q: Why does this freaking exist?
A: Because, it does.
Licensed under the MIT License. Check the LICENSE file for details.