add bundle style plugin definition

This commit is contained in:
Javier Lopez 2015-05-27 14:27:01 -05:00
parent 9251451554
commit 2ef7b79dda
2 changed files with 41 additions and 3 deletions

View File

@ -5,14 +5,24 @@ SHARED_TPM_PATH=""
# sets a "global variable" for the current file
shared_set_tpm_path_constant() {
local string_path="$(tmux show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)"
#local string_path="$(tmux show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)"
#pipes(due to fork) are expensive, the less the better
local string_path="$(tmux show-environment -g TMUX_PLUGIN_MANAGER_PATH)"; string_path="${string_path##*=}"
# NOTE: manually expanding tilde or `$HOME` variable. Avoids using `eval` as
# described here http://stackoverflow.com/a/5748307/777337
SHARED_TPM_PATH="$(echo "$string_path" | sed "s,^\$HOME,$HOME," | sed "s,^~,$HOME,")"
SHARED_TPM_PATH="$(echo "$string_path" | sed "s,^\$HOME,$HOME,;s,^~,$HOME,;")"
}
shared_get_tpm_plugins_list() {
tmux show-option -gqv "$tpm_plugins_variable_name"
local plugins_list
plugins_list="$(tmux show-option -gqv "$tpm_plugins_variable_name")"
if [ -z "${plugins_list}" ]; then
#read set -g @bundle "tmux-plugins/tmux-example-plugin" entries
cat /etc/tmux.conf ~/.tmux.conf 2>/dev/null | \
awk '/set.*-g.*@[bB][uU][nN][dD][lL][eE]/ {if($1!~"^#"){gsub(/'\''/,"");gsub(/'\"'/,"");print $4}}' #recover vim syntax'
else
printf "%s\\n" "${plugins_list}"
fi
}
# Allowed plugin name formats:

View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $CURRENT_DIR/helpers.sh
test_plugin_installation() {
set_tmux_conf_helper <<- HERE
set -g @bUnDlE "tmux-plugins/tmux-example-plugin"
run-shell "$PWD/tpm"
HERE
# opens tmux and test it with `expect`
"$CURRENT_DIR"/expect_successful_plugin_download ||
fail_helper "Tmux plugin installation fails"
# check plugin dir exists after download
check_dir_exists_helper "$HOME/.tmux/plugins/tmux-example-plugin/" ||
fail_helper "Plugin download fails"
teardown_helper
}
main() {
test_plugin_installation
exit_value_helper
}
main