1999-06-08 11:26:01 +02:00
|
|
|
# This function lists options with the no's in front removed for
|
|
|
|
# improved comprehension, i.e. `norcs off' becomes `rcs on'.
|
|
|
|
# The format is otherwise like that with `kshoptionprint' set,
|
|
|
|
# i.e. you can see all options whether on or off.
|
|
|
|
# It can take a list of option names or parts thereof to search for
|
|
|
|
# via egrep.
|
|
|
|
#
|
|
|
|
# Written by Sweth Chandramouli with hacks by Bart Schaefer.
|
|
|
|
|
|
|
|
listalloptions () {
|
|
|
|
builtin setopt localoptions kshoptionprint
|
|
|
|
local OPT_NAME OPT_PAIR OPT_VALUE
|
|
|
|
for OPT_PAIR in "${(f)$(builtin setopt)}" ; do
|
|
|
|
OPT_VALUE=${OPT_PAIR##* }
|
|
|
|
OPT_NAME=${OPT_PAIR%% *}
|
|
|
|
if [[ ${OPT_NAME#no} != ${OPT_NAME} ]] ; then
|
2000-09-02 06:50:07 +02:00
|
|
|
OPT_VALUE=${(L)${${OPT_VALUE:s/on/OFF}:s/off/on}}
|
|
|
|
OPT_NAME=${OPT_NAME#no}
|
|
|
|
fi
|
|
|
|
echo "${(r:21:)OPT_NAME} ${OPT_VALUE}"
|
1999-06-08 11:26:01 +02:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
if [[ -n $@ ]]; then
|
|
|
|
listalloptions | egrep "${(j.|.)@}"
|
|
|
|
else
|
|
|
|
listalloptions
|
|
|
|
fi
|