|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
#
|
|
# Filename: lib/sde-help.in
|
|
# Copyright (C) 2006 - 2007 The OpenSDE Project
|
|
#
|
|
# More information can be found in the files COPYING and README.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License. A copy of the
|
|
# GNU General Public License can be found in the file COPYING.
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
#Description: Help about the usage of `sde` and the modules
|
|
#Alias: --help
|
|
|
|
help_list() {
|
|
local module=
|
|
local name= desc= alias=
|
|
|
|
echo "Available Modules:"
|
|
for module in $SDEROOT/lib/sde-*.in; do
|
|
# detect module name
|
|
id=$( echo "$module" | sed -e 's,.*/sde-,,' -e 's,.in$,,' )
|
|
# optional description
|
|
desc=$( sed -n -e 's,^#Description: \(.*\)$,\1,p' "$module" )
|
|
# and valid aliases
|
|
alias=$( sed -n -e 's,^#Alias: \([^ ]*\)$,\1,p' "$module" | tr '\n' ' ' )
|
|
|
|
echo -e "\t* $id${alias:+\t(${alias%% })}"
|
|
if [ -n "$desc" ]; then
|
|
echo -e "\t\t$desc"
|
|
fi
|
|
done
|
|
}
|
|
|
|
if [ "$module" == "help" ]; then
|
|
# main action
|
|
if [ $# -eq 0 -o -z "$1" ]; then
|
|
help_list
|
|
elif [ $# -gt 1 ]; then
|
|
echo_error "Incorrect Syntax."
|
|
help_usage
|
|
exit 1
|
|
elif [ -r "$SDEROOT/lib/sde-$1.in" ]; then
|
|
[ "$1" == "help" ] || . "$SDEROOT/lib/sde-$1.in"
|
|
|
|
if type -t "${1}_usage" > /dev/null; then
|
|
"${1}_usage"
|
|
else
|
|
echo_warning "'$COLOR_MESSAGE${1}$COLOR_NORMAL' doesn't provide help."
|
|
fi
|
|
elif grep -q "^#Alias: $1$" $SDEROOT/lib/sde-*.in 2> /dev/null; then
|
|
# use alias
|
|
x="$( grep -l "^#Alias: $1$" $SDEROOT/lib/sde-*.in 2> /dev/null |
|
|
head -n 1 | sed -e 's,.*/sde-,,' -e 's,.in$,,' )"
|
|
[ "$x" == "help" ] || . "$SDEROOT/lib/sde-$x.in"
|
|
|
|
if type -t "${x}_usage" > /dev/null; then
|
|
"${x}_usage"
|
|
else
|
|
echo_warning "'$COLOR_MESSAGE${x}$COLOR_NORMAL' doesn't provide help."
|
|
fi
|
|
else
|
|
# unknown module
|
|
echo_error "Module '$COLOR_MESSAGE$1$COLOR_NORMAL' doesn't exist."
|
|
help_list
|
|
exit 2
|
|
fi
|
|
fi
|