echo " Disable plugin(s)."
echo " list-enabled"
echo " List enabled plugins."
+ echo " plugin-help"
+ echo " Show help text for a plugin (when provided by the plugin)."
echo
echo " reset-plugins"
echo " Reset active plugins to the default set."
return 0
}
+function PluginHelp {
+ local plugin=$(NormalizedPluginName "$1")
+ local repo_plugin=$(echo "$plugin" | sed -e 's|#|/plugins/|')
+ local plugin_found=
+
+ for plugin_d (
+ "$plugin:A"
+ "$AXZSH/active_plugins/$plugin"
+ "$AXZSH/active_plugins/$repo_plugin"
+ "$AXZSH_PLUGIN_D/$plugin"
+ "$ZSH_CUSTOM/$plugin"
+ "$AXZSH/custom_plugins/$plugin"
+ "$AXZSH/repos/$plugin"
+ "$AXZSH/repos/$repo_plugin"
+ "$AXZSH/plugins/$plugin"
+ "$AXZSH/default_plugins/$plugin"
+ "$AXZSH/core/$plugin"
+ ); do
+ [[ -e "$plugin_d" ]] && plugin_found=1
+ [[ -r "$plugin_d/README.md" ]] || continue
+ less "$plugin_d/README.md"
+ return 0
+ done
+ [[ -n "$plugin_found" ]] \
+ && echo "Plugin \"$1\" found, but no help available!" >&2 \
+ || echo "Plugin \"$1\" not found!" >&2
+ return 1
+}
+
function ResetPlugins {
local dir="$AXZSH/active_plugins"
local r1=0, r2=0
[[ $# -eq 0 ]] || Usage
ListEnabledPlugins
;;
+ "plugin-help")
+ [[ $# -eq 1 ]] || Usage
+ PluginHelp "$1"
+ ;;
"reset-plugins")
[[ $# -eq 0 ]] || Usage
ResetPlugins
enable-plugin\:"Enable plugin(s)."
disable-plugin\:"Disable plugin(s)."
list-enabled\:"List enabled plugin(s)."
+ plugin-help\:"Show help text for a plugin."
reset-plugins\:"Reset active plugins to the default set."
enable-default-plugins\:"Enable all default plugins."
check-plugins\:"Check \"useful\" plugins."
case "$state" in
'args')
case "$words[2]" in
- "enable-plugin")
+ "enable-plugin"|"plugin-help")
compadd "$@" -- \
"$AXZSH"/plugins/*(/:t) \
"$AXZSH"/custom_plugins/*(N/:t) \