basic plugin management
move plugin management functions into 'lib' group in helpers.bashpull/134/head
parent
a385e0f32e
commit
254d4459e2
|
|
@ -28,3 +28,99 @@ function reload_completion() {
|
||||||
function reload_plugins() {
|
function reload_plugins() {
|
||||||
_load_bash_it_files "plugins"
|
_load_bash_it_files "plugins"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
show_plugins ()
|
||||||
|
{
|
||||||
|
about summarizes available bash_it plugins
|
||||||
|
group lib
|
||||||
|
|
||||||
|
typeset f
|
||||||
|
typeset enabled
|
||||||
|
printf "%-20s%-10s%s\n" 'Plugin' 'Enabled?' 'Description'
|
||||||
|
for f in $BASH_IT/plugins/available/*.bash
|
||||||
|
do
|
||||||
|
if [ -h $BASH_IT/plugins/enabled/$(basename $f) ]; then
|
||||||
|
enabled='x'
|
||||||
|
else
|
||||||
|
enabled=' '
|
||||||
|
fi
|
||||||
|
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 '\n%s\n' 'to disable a plugin, do:'
|
||||||
|
printf '%s\n' '$ disable_plugin <plugin name>'
|
||||||
|
}
|
||||||
|
|
||||||
|
enable_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
|
||||||
|
example '$ disable_plugin rvm'
|
||||||
|
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.'
|
||||||
|
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."
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins-help ()
|
||||||
|
{
|
||||||
|
about list all plugins and functions defined by bash-it
|
||||||
|
group lib
|
||||||
|
|
||||||
|
printf '%s\n' "bash-it plugins help"
|
||||||
|
printf '\n'
|
||||||
|
typeset group
|
||||||
|
for group in $(all_groups)
|
||||||
|
do
|
||||||
|
printf '%s\n' "group: $group"
|
||||||
|
glossary $group
|
||||||
|
printf '\n'
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
all_groups ()
|
||||||
|
{
|
||||||
|
about displays all unique metadata groups
|
||||||
|
group lib
|
||||||
|
|
||||||
|
typeset func
|
||||||
|
typeset file=$(mktemp /tmp/composure.XXXX)
|
||||||
|
for func in $(typeset_functions)
|
||||||
|
do
|
||||||
|
typeset -f $func | metafor group >> $file
|
||||||
|
done
|
||||||
|
cat $file | sort | uniq
|
||||||
|
rm $file
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -175,21 +175,6 @@ command_exists ()
|
||||||
type "$1" &> /dev/null ;
|
type "$1" &> /dev/null ;
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins-help ()
|
|
||||||
{
|
|
||||||
about list all plugins and functions defined by bash-it
|
|
||||||
group base
|
|
||||||
printf '%s\n' "bash-it plugins help"
|
|
||||||
printf '\n'
|
|
||||||
typeset group
|
|
||||||
for group in $(all_groups)
|
|
||||||
do
|
|
||||||
printf '%s\n' "group: $group"
|
|
||||||
glossary $group
|
|
||||||
printf '\n'
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# useful for administrators and configs
|
# useful for administrators and configs
|
||||||
buf ()
|
buf ()
|
||||||
{
|
{
|
||||||
|
|
@ -200,17 +185,3 @@ buf ()
|
||||||
local filetime=$(date +%Y%m%d_%H%M%S)
|
local filetime=$(date +%Y%m%d_%H%M%S)
|
||||||
cp ${filename} ${filename}_${filetime}
|
cp ${filename} ${filename}_${filetime}
|
||||||
}
|
}
|
||||||
|
|
||||||
all_groups ()
|
|
||||||
{
|
|
||||||
about displays all unique metadata groups
|
|
||||||
group base
|
|
||||||
typeset func
|
|
||||||
typeset file=$(mktemp /tmp/composure.XXXX)
|
|
||||||
for func in $(typeset_functions)
|
|
||||||
do
|
|
||||||
typeset -f $func | metafor group >> $file
|
|
||||||
done
|
|
||||||
cat $file | sort | uniq
|
|
||||||
rm $file
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue