Major rewrite

This commit is contained in:
2018-02-03 02:29:33 +02:00
parent e18877b394
commit c5820947f5
26 changed files with 456 additions and 193 deletions

View 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

View 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