mirror of
https://github.com/tmux-plugins/tpm.git
synced 2024-10-31 23:28:47 +00:00
62 lines
1.2 KiB
Bash
Executable File
62 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
source "$CURRENT_DIR/shared_functions.sh"
|
|
|
|
TMUX_ECHO_FLAG="$1"
|
|
|
|
# True if invoked as tmux mapping or tmux command,
|
|
# false if invoked via command line wrapper from `bin/` directory.
|
|
use_tmux_echo() {
|
|
[ "$TMUX_ECHO_FLAG" == "--tmux-echo" ]
|
|
}
|
|
|
|
if use_tmux_echo; then
|
|
# use tmux specific echo-ing
|
|
echo_ok() {
|
|
tmux_echo "$*"
|
|
}
|
|
|
|
echo_err() {
|
|
tmux_echo "$*"
|
|
}
|
|
else
|
|
echo_ok() {
|
|
echo "$*"
|
|
}
|
|
|
|
echo_err() {
|
|
fail_helper "$*"
|
|
}
|
|
fi
|
|
|
|
clean_plugins() {
|
|
local plugins plugin plugin_directory
|
|
plugins="$(shared_get_tpm_plugins_list)"
|
|
|
|
for plugin_directory in "$SHARED_TPM_PATH"/*; do
|
|
[ -d "${plugin_directory}" ] || continue
|
|
plugin="$(shared_plugin_name "${plugin_directory}")"
|
|
case "${plugins}" in
|
|
*"${plugin}"*) : ;;
|
|
*)
|
|
[ "${plugin}" = "tpm" ] && continue
|
|
echo_ok "Removing \"$plugin\""
|
|
rm -rf "${plugin_directory}" >/dev/null 2>&1
|
|
[ -d "${plugin_directory}" ] &&
|
|
echo_err " \"$plugin\" clean fail" ||
|
|
echo_ok " \"$plugin\" clean success"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
main() {
|
|
shared_set_tpm_path_constant
|
|
ensure_tpm_path_exists
|
|
clean_plugins
|
|
exit_value_helper
|
|
}
|
|
main
|