autohelp en version courte
This commit is contained in:
parent
6e088c51a2
commit
19ca7cfbd3
|
@ -115,7 +115,7 @@ function parse_args() {
|
|||
[ "${1#-}" == "$1" ] && { __USAGE="$1"; shift; }
|
||||
if [ -n "$__r" ]; then
|
||||
:
|
||||
elif [ "$1" != "+" -a "${1#-}" == "$1" ]; then
|
||||
elif [ $# -gt 0 -a "$1" != "+" -a "${1#-}" == "$1" ]; then
|
||||
eerror "Invalid args definition: third arg must be an option"
|
||||
__r=1
|
||||
else
|
||||
|
@ -171,7 +171,12 @@ function __parse_args() {
|
|||
# sauter la description le cas échéant
|
||||
[ "${1#-}" == "$1" ] && shift
|
||||
done
|
||||
|
||||
# __sopts ne doit pas être vide, rajouter ? si aucune option courte n'est
|
||||
# définie, indépendamment de la valeur de autohelp
|
||||
[ -n "$__autohelp" ] && __lopts="$__lopts${__lopts:+,}help"
|
||||
[ -n "$__sopts" ] || __sopts=?
|
||||
|
||||
__sopts="$__popt$__sopts"
|
||||
local -a __getopt_args
|
||||
__getopt_args=(-n "$MYNAME" ${__sopts:+-o "$__sopts"} ${__lopts:+-l "$__lopts"} -- "${__ARGS[@]}")
|
||||
|
@ -382,10 +387,12 @@ function __parse_opt() {
|
|||
|
||||
[ -n "$__found" ] && return 0
|
||||
done
|
||||
# ici, l'option n'a pas été trouvée, on ne devrait pas arriver ici
|
||||
if [ "$option_" == --help -a -n "$__autohelp" ]; then
|
||||
__action="showhelp@"
|
||||
return 0
|
||||
if [ -n "$__autohelp" ]; then
|
||||
if [ "$option_" == --help -o "$option" == -? ]; then
|
||||
__action="showhelp@"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
# ici, l'option n'a pas été trouvée, on ne devrait pas arriver ici
|
||||
eerror "Unexpected option '$option_'"; eval "$__DIE"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue