update plugin management
diff --git a/lib/helpers.bash b/lib/helpers.bash
index 53756e6..26690b6 100644
--- a/lib/helpers.bash
+++ b/lib/helpers.bash
@@ -29,10 +29,10 @@
_load_bash_it_files "plugins"
}
-show_plugins ()
+bash-it-plugins ()
{
- about summarizes available bash_it plugins
- group lib
+ about 'summarizes available bash_it plugins'
+ group 'lib'
typeset f
typeset enabled
@@ -47,57 +47,88 @@
printf "%-20s%-10s%s\n" "$(basename $f | cut -d'.' -f1)" " [$enabled]" "$(cat $f | metafor about-plugin)"
done
printf '\n%s\n' 'to enable a plugin, do:'
- printf '%s\n' '$ enable_plugin <plugin name>'
+ printf '%s\n' '$ enable-plugin <plugin name> -or- $ enable-plugin all'
printf '\n%s\n' 'to disable a plugin, do:'
- printf '%s\n' '$ disable_plugin <plugin name>'
+ printf '%s\n' '$ disable-plugin <plugin name> -or- $ disable-plugin all'
}
-enable_plugin ()
+disable-plugin ()
{
- about enables bash_it plugin
- param 1: plugin name
- example '$ enable_plugin rvm'
- group lib
-
- typeset plugin=$(ls $BASH_IT/plugins/available/$1.*bash 2>/dev/null | head -1)
- if [ -z "$plugin" ]; then
- printf '%s\n' 'sorry, that does not appear to be an available plugin.'
- return
- fi
-
- plugin=$(basename $plugin)
- if [ -h $BASH_IT/plugins/enabled/$plugin ]; then
- printf '%s\n' "$1 is already enabled."
- return
- fi
-
- ln -s $BASH_IT/plugins/available/$plugin $BASH_IT/plugins/enabled/$plugin
- printf '%s\n' "$1 is enabled."
-
- reload_plugins
- printf '%s\n' 'plugins reloaded.'
-}
-
-disable_plugin ()
-{
- about disables bash_it plugin
- param 1: plugin name
+ about 'disables bash_it plugin'
+ param '1: plugin name'
example '$ disable_plugin rvm'
- group lib
+ group 'lib'
- typeset plugin=$(ls $BASH_IT/plugins/enabled/$1.*bash 2>/dev/null | head -1)
- if [ -z "$plugin" ]; then
- printf '%s\n' 'sorry, that does not appear to be an enabled plugin.'
+ if [ -z "$1" ]; then
+ reference disable_plugin
return
fi
- rm $BASH_IT/plugins/enabled/$(basename $plugin)
- printf '%s\n' "$1 is disabled, and will be unavailable when you open a new terminal."
+
+ if [ "$1" = "all" ]; then
+ typeset f plugin
+ for f in $BASH_IT/plugins/available/*.bash
+ do
+ plugin=$(basename $f)
+ if [ -h $BASH_IT/plugins/enabled/$plugin ]; then
+ rm $BASH_IT/plugins/enabled/$(basename $plugin)
+ fi
+ done
+ else
+ typeset plugin=$(ls $BASH_IT/plugins/enabled/$1.*bash 2>/dev/null | head -1)
+ if [ ! -h $plugin ]; then
+ printf '%s\n' 'sorry, that does not appear to be an enabled plugin.'
+ return
+ fi
+ rm $BASH_IT/plugins/enabled/$(basename $plugin)
+ fi
+
+ printf '%s\n' "$1 disabled."
+}
+
+enable-plugin ()
+{
+ about 'enables bash_it plugin'
+ param '1: plugin name'
+ example '$ enable_plugin rvm'
+ group 'lib'
+
+ if [ -z "$1" ]; then
+ reference enable_plugin
+ return
+ fi
+
+ if [ "$1" = "all" ]; then
+ typeset f plugin
+ for f in $BASH_IT/plugins/available/*.bash
+ do
+ plugin=$(basename $f)
+ if [ ! -h $BASH_IT/plugins/enabled/$plugin ]; then
+ ln -s $BASH_IT/plugins/available/$plugin $BASH_IT/plugins/enabled/$plugin
+ fi
+ done
+ else
+ typeset plugin=$(ls $BASH_IT/plugins/available/$1.*bash 2>/dev/null | head -1)
+ if [ -z "$plugin" ]; then
+ printf '%s\n' 'sorry, that does not appear to be an available plugin.'
+ return
+ fi
+
+ plugin=$(basename $plugin)
+ if [ -h $BASH_IT/plugins/enabled/$plugin ]; then
+ printf '%s\n' "$1 is already enabled."
+ return
+ fi
+
+ ln -s $BASH_IT/plugins/available/$plugin $BASH_IT/plugins/enabled/$plugin
+ fi
+
+ printf '%s\n' "$1 enabled."
}
plugins-help ()
{
- about list all plugins and functions defined by bash-it
- group lib
+ about 'list all plugins and functions defined by bash-it'
+ group 'lib'
printf '%s\n' "bash-it plugins help"
printf '\n'
@@ -112,8 +143,8 @@
all_groups ()
{
- about displays all unique metadata groups
- group lib
+ about 'displays all unique metadata groups'
+ group 'lib'
typeset func
typeset file=$(mktemp /tmp/composure.XXXX)