Major rewrite
This commit is contained in:
60
modules/pluginmanager/antibody.zsh
Normal file
60
modules/pluginmanager/antibody.zsh
Normal file
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Antibody plugin manager
|
||||
#
|
||||
|
||||
function __zspr_antibody_download {
|
||||
local DOWNLOAD_URL="https://github.com/getantibody/antibody/releases/download"
|
||||
local LATEST="$(curl -s https://raw.githubusercontent.com/getantibody/homebrew-tap/master/Formula/antibody.rb | grep url | cut -f8 -d'/')"
|
||||
local ANTIBODY_TMP="$(mktemp -d)"
|
||||
local ANTIBODY_TGZ="${ANTIBODY_TMP}/antibody.tar.gz"
|
||||
local ANTIBODY="${ANTIBODY_TMP}/antibody"
|
||||
|
||||
echo "Downloading Antibody $LATEST for $(uname -s)_$(uname -m), please wait..."
|
||||
curl -s -L -o "${ANTIBODY_TGZ}" "${DOWNLOAD_URL}/${LATEST}/antibody_$(uname -s)_$(uname -m).tar.gz"
|
||||
|
||||
tar -xf "${ANTIBODY_TGZ}" -C "${ANTIBODY_TMP}"
|
||||
|
||||
# Move antibody to ~/.local/share/bin
|
||||
test -x "${ANTIBODY}" || {
|
||||
echo "Failed to find unpacked Antibody binary!"
|
||||
}
|
||||
mv "${ANTIBODY}" "${HOME}/.local/share/bin/antibody"
|
||||
|
||||
# Test if antibody works
|
||||
__zspr_has_command "antibody" || echo "Could not get Antibody working!"
|
||||
|
||||
# Clean up
|
||||
rm -rf "${ANTIBODY_TMP}"
|
||||
}
|
||||
|
||||
|
||||
function __zspr_antibody_init {
|
||||
__zspr_has_command "antibody" || __zspr_antibody_download
|
||||
source <(antibody init)
|
||||
}
|
||||
|
||||
function __zspr_antibody_load_plugins {
|
||||
# Iterate over array and let antibody create plugins script
|
||||
for plugin in ${ZSHUPER_PLUGINS}; do echo "${plugin}"; done | antibody bundle
|
||||
}
|
||||
|
||||
function __zspr_antibody_install_plugin {
|
||||
antibody bundle "${1}"
|
||||
}
|
||||
|
||||
function __zspr_antibody_update_plugins {
|
||||
antibody update
|
||||
}
|
||||
|
||||
function __zspr_antibody_has_plugin {
|
||||
local PLUGIN="$(echo -n "${1}" | sed 's#/#-SLASH-##g')"
|
||||
antibody list | grep -q "${PLUGIN}"
|
||||
return $?
|
||||
}
|
||||
|
||||
# Set up antibody as a plugin manager
|
||||
ZSPR_PLM_FUNCTIONS[1]=__zspr_antibody_init
|
||||
ZSPR_PLM_FUNCTIONS[2]=__zspr_antibody_load_plugins
|
||||
ZSPR_PLM_FUNCTIONS[3]=__zspr_antibody_install_plugin
|
||||
ZSPR_PLM_FUNCTIONS[4]=__zspr_antibody_update_plugins
|
||||
ZSPR_PLM_FUNCTIONS[5]=__zspr_antibody_has_plugin
|
||||
44
modules/pluginmanager/zplug.zsh
Normal file
44
modules/pluginmanager/zplug.zsh
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# zplug plugin manager
|
||||
#
|
||||
ZSPR_ZPLUG_HOME="${ZSHUPER_DIR}/zplug"
|
||||
|
||||
function __zspr_zplug_init {
|
||||
if [ ! -d "${ZSPR_ZPLUG_HOME}" ]; then
|
||||
git clone --depth=1 https://github.com/zplug/zplug "${ZSPR_ZPLUG_HOME}"
|
||||
fi
|
||||
|
||||
source "${ZSPR_ZPLUG_HOME}/init.zsh"
|
||||
zplug "zplug/zplug"
|
||||
}
|
||||
|
||||
function __zspr_zplug_load_plugins {
|
||||
for plugin in ${ZSHUPER_PLUGINS}; do
|
||||
__zspr_zplug_install_plugin "${plugin}"
|
||||
done
|
||||
|
||||
if ! zplug check; then
|
||||
zplug install
|
||||
fi
|
||||
zplug load
|
||||
}
|
||||
|
||||
function __zspr_zplug_install_plugin {
|
||||
zplug ${1}
|
||||
}
|
||||
|
||||
function __zspr_zplug_update_plugins {
|
||||
zplug update
|
||||
}
|
||||
|
||||
function __zspr_zplug_has_plugin {
|
||||
zplug check ${1}
|
||||
return $?
|
||||
}
|
||||
|
||||
# Set up zplug as a plugin manager
|
||||
ZSPR_PLM_FUNCTIONS[1]=__zspr_zplug_init
|
||||
ZSPR_PLM_FUNCTIONS[2]=__zspr_zplug_load_plugins
|
||||
ZSPR_PLM_FUNCTIONS[3]=__zspr_zplug_install_plugin
|
||||
ZSPR_PLM_FUNCTIONS[4]=__zspr_zplug_update_plugins
|
||||
ZSPR_PLM_FUNCTIONS[5]=__zspr_zplug_has_plugin
|
||||
Reference in New Issue
Block a user