mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
29 lines
883 B
Plaintext
29 lines
883 B
Plaintext
# 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
|
|
OPT_VALUE=${(L)${${OPT_VALUE:s/on/OFF}:s/off/on}}
|
|
OPT_NAME=${OPT_NAME#no}
|
|
fi
|
|
echo "${(r:21:)OPT_NAME} ${OPT_VALUE}"
|
|
done
|
|
}
|
|
|
|
if [[ -n $@ ]]; then
|
|
listalloptions | egrep "${(j.|.)@}"
|
|
else
|
|
listalloptions
|
|
fi
|