diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 13:04:04 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 13:04:04 +0000 |
commit | 3d7263ff67534b5d533c1d78eca8d648b72bca93 (patch) | |
tree | d7c3f8d1fbaf58d52b092ef241dc37db974c370d /Functions/Misc/allopt | |
parent | c6686513ef7eb29cbe4ed4cc27076d13b2e02ab5 (diff) | |
download | zsh-3d7263ff67534b5d533c1d78eca8d648b72bca93.tar.gz zsh-3d7263ff67534b5d533c1d78eca8d648b72bca93.tar.xz zsh-3d7263ff67534b5d533c1d78eca8d648b72bca93.zip |
after-move cleanup
Diffstat (limited to 'Functions/Misc/allopt')
-rw-r--r-- | Functions/Misc/allopt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Functions/Misc/allopt b/Functions/Misc/allopt new file mode 100644 index 000000000..0d59fa3e9 --- /dev/null +++ b/Functions/Misc/allopt @@ -0,0 +1,28 @@ +# 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 |