#! /bin/sh
#
# Prints zypper's main help and help texts of all commands.
#
# The script relies on 'zypper help' commands listed with one tab character at
# the beginning of line and containing only lowercase ascii letters and dashes.
#
# Disclaimer: this script is provided for case someone finds it useful. There
#             is absolutely no warranty that it will do what you expect.

ZYPPER=zypper
GREP=grep
SED=sed

function printline ()
{
  echo "-------------------------------------------------------------------------------"
  echo
}

$ZYPPER -V
echo
$ZYPPER help

COMMANDS=$(LC_ALL=C $ZYPPER | $SED -e '1,/Repository Management:/d' | $GREP -P '^\t\w+' | $SED -e 's/^\t\([a-z-]\+\).*/\1/')
for CMD in $COMMANDS; do
  printline
  $ZYPPER help $CMD;
done

