From a825c5f16fd9fe8268a32e4bf00de4c74b4a0213 Mon Sep 17 00:00:00 2001 From: Erich Smith Date: Tue, 15 May 2012 14:25:42 -0400 Subject: [PATCH] plugins-help is much faster this replaces the naive implementation that called glossary() on each group, and is an order of magnitude faster. fix grouping in javascript.plugin.bash --- lib/helpers.bash | 31 ++++++++++++++++++------ plugins/available/javascript.plugin.bash | 4 +-- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lib/helpers.bash b/lib/helpers.bash index 1bc79cc..ad0cfd6 100644 --- a/lib/helpers.bash +++ b/lib/helpers.bash @@ -127,18 +127,35 @@ enable-plugin () plugins-help () { - about 'list all plugins and functions defined by bash-it' + about 'summarize all functions defined by enabled bash-it plugins' group 'lib' - printf '%s\n' "bash-it plugins help" - printf '\n' + # display a brief progress message... + printf '%s' 'please wait, building help...' + typeset grouplist=$(mktemp /tmp/grouplist.XXXX) + typeset func + for func in $(typeset_functions) + do + typeset group="$(typeset -f $func | metafor group)" + if [ -z "$group" ]; then + group='misc' + fi + typeset about="$(typeset -f $func | metafor about)" + letterpress "$about" $func >> $grouplist.$group + echo $grouplist.$group >> $grouplist + done + # clear progress message + printf '\r%s\n' ' ' typeset group - for group in $(all_groups) + typeset gfile + for gfile in $(cat $grouplist | sort | uniq) do - printf '%s\n' "group: $group" - glossary $group + printf '%s\n' "${gfile##*.}:" + cat $gfile printf '\n' - done + rm $gfile 2> /dev/null + done | less + rm $grouplist 2> /dev/null } all_groups () diff --git a/plugins/available/javascript.plugin.bash b/plugins/available/javascript.plugin.bash index 40b647e..e8037b9 100644 --- a/plugins/available/javascript.plugin.bash +++ b/plugins/available/javascript.plugin.bash @@ -15,7 +15,7 @@ function rails_jquery { function jquery_install { about 'download jquery.js into public/javascripts' - group 'javascripts' + group 'javascript' if [ -z "$1" ] then @@ -28,7 +28,7 @@ function jquery_install { function jquery_ui_install { about 'download jquery_us.js into public/javascripts' - group 'javascripts' + group 'javascript' if [ -z "$1" ] then -- 2.17.1