#! /bin/sh
case "$1" in
  (-*) : ;; # ignore all options
  ('') { for directory in `echo "$NOISE_PATH" | tr : \ ` ; do
          for module in "$directory"/* ; do
            echo `basename "$module"` `$module --help`
          done 2>/dev/null
        done
        ## print all documented built-in commands
        sed -rn 's:^noise_([a-z]+)\(\) \{ # (.+)?$:\1 \2:p' "$NOISE"
    } | sort | uniq | sed -rn '
      $s/$//
      s:^([a-z]+) (.+):type /\1 to \2:p' ;;
  (*)
    ## call
    for directory in `echo "$NOISE_PATH" | tr : \ ` ; do
      for module in "$directory/$1" ; do
        if test -e $module ; then
          shift
          exec $module --help --verbose "$@" 2>&1
        fi
      done
    done
esac