File: allopt

package info (click to toggle)
zsh-beta 4.3.0-dev-1%2B20050424-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 18,240 kB
  • ctags: 6,564
  • sloc: ansic: 79,241; sh: 4,874; perl: 748; makefile: 676; awk: 341; sed: 16
file content (28 lines) | stat: -rw-r--r-- 883 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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