Merged @erichs changes for the bash-it function.
parent
e82991beb8
commit
be20972cf0
23
bash_it.sh
23
bash_it.sh
|
|
@ -24,6 +24,9 @@ fi
|
||||||
# Load composure first, so we support function metadata
|
# Load composure first, so we support function metadata
|
||||||
source "${BASH_IT}/lib/composure.sh"
|
source "${BASH_IT}/lib/composure.sh"
|
||||||
|
|
||||||
|
# support 'plumbing' metadata
|
||||||
|
cite _about _param _example _group _author _version
|
||||||
|
|
||||||
# Load colors first so they can be use in base theme
|
# Load colors first so they can be use in base theme
|
||||||
source "${BASH_IT}/themes/colors.theme.bash"
|
source "${BASH_IT}/themes/colors.theme.bash"
|
||||||
source "${BASH_IT}/themes/base.theme.bash"
|
source "${BASH_IT}/themes/base.theme.bash"
|
||||||
|
|
@ -72,23 +75,3 @@ if [ -e $HOME/.jekyllconfig ]
|
||||||
then
|
then
|
||||||
. $HOME/.jekyllconfig
|
. $HOME/.jekyllconfig
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Custom Help
|
|
||||||
|
|
||||||
function bash-it() {
|
|
||||||
echo "Welcome to Bash It!"
|
|
||||||
echo
|
|
||||||
echo "Here is a list of commands you can use to get help screens for specific pieces of Bash it:"
|
|
||||||
echo
|
|
||||||
echo " rails-help list out all aliases you can use with rails."
|
|
||||||
echo " git-help list out all aliases you can use with git."
|
|
||||||
echo " todo-help list out all aliases you can use with todo.txt-cli"
|
|
||||||
echo " brew-help list out all aliases you can use with Homebrew"
|
|
||||||
echo " aliases-help generic list of aliases."
|
|
||||||
echo " plugins-help list out all functions you have installed with bash-it"
|
|
||||||
echo " bash-it-plugins summarize bash-it plugins, and their installation status"
|
|
||||||
echo " reference <function name> detailed help for a specific function"
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
|
||||||
152
lib/helpers.bash
152
lib/helpers.bash
|
|
@ -29,33 +29,86 @@ function reload_plugins() {
|
||||||
_load_bash_it_files "plugins"
|
_load_bash_it_files "plugins"
|
||||||
}
|
}
|
||||||
|
|
||||||
bash-it-aliases ()
|
bash-it ()
|
||||||
{
|
{
|
||||||
about 'summarizes available bash_it aliases'
|
about 'bash-it help and maintenance'
|
||||||
group 'lib'
|
param '1: verb [one of: help | show | enable | disable ]'
|
||||||
|
param '2: component type [one of: alias(es) | completion(s) | plugin(s) ]'
|
||||||
|
param '3: specific component [optional]'
|
||||||
|
example '$ bash-it show plugins'
|
||||||
|
example '$ bash-it help aliases'
|
||||||
|
example '$ bash-it enable plugin git'
|
||||||
|
example '$ bash-it disable alias hg'
|
||||||
|
typeset verb=${1:-}
|
||||||
|
shift
|
||||||
|
typeset component=${1:-}
|
||||||
|
shift
|
||||||
|
typeset func
|
||||||
|
case $verb in
|
||||||
|
show)
|
||||||
|
func=_bash-it-$component;;
|
||||||
|
enable)
|
||||||
|
func=_enable-$component;;
|
||||||
|
disable)
|
||||||
|
func=_disable-$component;;
|
||||||
|
help)
|
||||||
|
func=_help-$component;;
|
||||||
|
*)
|
||||||
|
reference bash-it
|
||||||
|
return;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# pluralize component if necessary
|
||||||
|
if ! _is_function $func; then
|
||||||
|
if _is_function ${func}s; then
|
||||||
|
func=${func}s
|
||||||
|
else
|
||||||
|
if _is_function ${func}es; then
|
||||||
|
func=${func}es
|
||||||
|
else
|
||||||
|
echo "oops! $component is not a valid option!"
|
||||||
|
reference bash-it
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
$func $*
|
||||||
|
}
|
||||||
|
|
||||||
|
_is_function ()
|
||||||
|
{
|
||||||
|
_about 'sets $? to true if parameter is the name of a function'
|
||||||
|
_param '1: name of alleged function'
|
||||||
|
_group 'lib'
|
||||||
|
[ -n "$(type -a $1 2>/dev/null | grep 'is a function')" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
_bash-it-aliases ()
|
||||||
|
{
|
||||||
|
_about 'summarizes available bash_it aliases'
|
||||||
|
_group 'lib'
|
||||||
|
|
||||||
_bash-it-describe "aliases" "an" "alias" "Alias"
|
_bash-it-describe "aliases" "an" "alias" "Alias"
|
||||||
}
|
}
|
||||||
|
|
||||||
bash-it-completions ()
|
_bash-it-completions ()
|
||||||
{
|
{
|
||||||
about 'summarizes available bash_it completions'
|
_about 'summarizes available bash_it completions'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_bash-it-describe "completion" "a" "completion" "Completion"
|
_bash-it-describe "completion" "a" "completion" "Completion"
|
||||||
}
|
}
|
||||||
|
|
||||||
bash-it-plugins ()
|
_bash-it-plugins ()
|
||||||
{
|
{
|
||||||
about 'summarizes available bash_it plugins'
|
_about 'summarizes available bash_it plugins'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_bash-it-describe "plugins" "a" "plugin" "Plugin"
|
_bash-it-describe "plugins" "a" "plugin" "Plugin"
|
||||||
}
|
}
|
||||||
|
|
||||||
_bash-it-describe ()
|
_bash-it-describe ()
|
||||||
{
|
{
|
||||||
cite _about _param _example
|
|
||||||
_about 'summarizes available bash_it components'
|
_about 'summarizes available bash_it components'
|
||||||
_param '1: subdirectory'
|
_param '1: subdirectory'
|
||||||
_param '2: preposition'
|
_param '2: preposition'
|
||||||
|
|
@ -86,39 +139,38 @@ _bash-it-describe ()
|
||||||
printf '%s\n' "$ bash-it disable $file_type <$file_type name> -or- $ bash-it disable $file_type all"
|
printf '%s\n' "$ bash-it disable $file_type <$file_type name> -or- $ bash-it disable $file_type all"
|
||||||
}
|
}
|
||||||
|
|
||||||
disable-plugin ()
|
_disable-plugin ()
|
||||||
{
|
{
|
||||||
about 'disables bash_it plugin'
|
_about 'disables bash_it plugin'
|
||||||
param '1: plugin name'
|
_param '1: plugin name'
|
||||||
example '$ disable-plugin rvm'
|
_example '$ disable-plugin rvm'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_disable-thing "plugins" "plugin" $1
|
_disable-thing "plugins" "plugin" $1
|
||||||
}
|
}
|
||||||
|
|
||||||
disable-alias ()
|
_disable-alias ()
|
||||||
{
|
{
|
||||||
about 'disables bash_it alias'
|
_about 'disables bash_it alias'
|
||||||
param '1: alias name'
|
_param '1: alias name'
|
||||||
example '$ disable-alias git'
|
_example '$ disable-alias git'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_disable-thing "aliases" "alias" $1
|
_disable-thing "aliases" "alias" $1
|
||||||
}
|
}
|
||||||
|
|
||||||
disable-completion ()
|
_disable-completion ()
|
||||||
{
|
{
|
||||||
about 'disables bash_it completion'
|
_about 'disables bash_it completion'
|
||||||
param '1: completion name'
|
_param '1: completion name'
|
||||||
example '$ disable-completion git'
|
_example '$ disable-completion git'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_disable-thing "completion" "completion" $1
|
_disable-thing "completion" "completion" $1
|
||||||
}
|
}
|
||||||
|
|
||||||
_disable-thing ()
|
_disable-thing ()
|
||||||
{
|
{
|
||||||
cite _about _param _example
|
|
||||||
_about 'disables a bash_it component'
|
_about 'disables a bash_it component'
|
||||||
_param '1: subdirectory'
|
_param '1: subdirectory'
|
||||||
_param '2: file_type'
|
_param '2: file_type'
|
||||||
|
|
@ -155,32 +207,32 @@ _disable-thing ()
|
||||||
printf '%s\n' "$file_entity disabled."
|
printf '%s\n' "$file_entity disabled."
|
||||||
}
|
}
|
||||||
|
|
||||||
enable-plugin ()
|
_enable-plugin ()
|
||||||
{
|
{
|
||||||
about 'enables bash_it plugin'
|
_about 'enables bash_it plugin'
|
||||||
param '1: plugin name'
|
_param '1: plugin name'
|
||||||
example '$ enable-plugin rvm'
|
_example '$ enable-plugin rvm'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_enable-thing "plugins" "plugin" $1
|
_enable-thing "plugins" "plugin" $1
|
||||||
}
|
}
|
||||||
|
|
||||||
enable-alias ()
|
_enable-alias ()
|
||||||
{
|
{
|
||||||
about 'enables bash_it alias'
|
_about 'enables bash_it alias'
|
||||||
param '1: alias name'
|
_param '1: alias name'
|
||||||
example '$ enable-alias git'
|
_example '$ enable-alias git'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_enable-thing "aliases" "alias" $1
|
_enable-thing "aliases" "alias" $1
|
||||||
}
|
}
|
||||||
|
|
||||||
enable-completion ()
|
_enable-completion ()
|
||||||
{
|
{
|
||||||
about 'enables bash_it completion'
|
_about 'enables bash_it completion'
|
||||||
param '1: completion name'
|
_param '1: completion name'
|
||||||
example '$ enable-completion git'
|
_example '$ enable-completion git'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
_enable-thing "completion" "completion" $1
|
_enable-thing "completion" "completion" $1
|
||||||
}
|
}
|
||||||
|
|
@ -231,15 +283,15 @@ _enable-thing ()
|
||||||
printf '%s\n' "$file_entity enabled."
|
printf '%s\n' "$file_entity enabled."
|
||||||
}
|
}
|
||||||
|
|
||||||
alias-help ()
|
_help-aliases()
|
||||||
{
|
{
|
||||||
about 'shows help for all aliases, or a specific alias group'
|
_about 'shows help for all aliases, or a specific alias group'
|
||||||
param '1: optional alias group'
|
_param '1: optional alias group'
|
||||||
example '$ alias-help'
|
_example '$ alias-help'
|
||||||
example '$ alias-help git'
|
_example '$ alias-help git'
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
cat $BASH_IT/aliases/enabled/$1.aliases.bash | metafor alias | sed "s/$/'/"
|
cat $BASH_IT/aliases/available/$1.aliases.bash | metafor alias | sed "s/$/'/"
|
||||||
else
|
else
|
||||||
typeset f
|
typeset f
|
||||||
for f in $BASH_IT/aliases/enabled/*
|
for f in $BASH_IT/aliases/enabled/*
|
||||||
|
|
@ -252,10 +304,10 @@ alias-help ()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins-help ()
|
_help-plugins()
|
||||||
{
|
{
|
||||||
about 'summarize all functions defined by enabled bash-it plugins'
|
_about 'summarize all functions defined by enabled bash-it plugins'
|
||||||
group 'lib'
|
_group 'lib'
|
||||||
|
|
||||||
# display a brief progress message...
|
# display a brief progress message...
|
||||||
printf '%s' 'please wait, building help...'
|
printf '%s' 'please wait, building help...'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue