From fcd7cd1cfa2ba286f4bf73da7a60116cd3912629 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Tue, 8 Jun 1999 09:26:01 +0000 Subject: Initial revision --- Functions/Misc/allopt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Functions/Misc/allopt (limited to 'Functions/Misc/allopt') diff --git a/Functions/Misc/allopt b/Functions/Misc/allopt new file mode 100644 index 000000000..604e76198 --- /dev/null +++ b/Functions/Misc/allopt @@ -0,0 +1,29 @@ +# 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 () { + emulate -R zsh + 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 -- cgit 1.4.1