diff options
author | Eric Cook <llua@gmx.com> | 2015-10-31 19:06:47 +0100 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2015-10-31 19:06:47 +0100 |
commit | 607a7a85b65527fb98e1a47c02dca6a777595eec (patch) | |
tree | 10ed3ce85e356bdb6360b03a852803990dd3492d /Functions/Misc | |
parent | 682e779a211fdfa0baa41c06d821f0ea9acf4941 (diff) | |
download | zsh-607a7a85b65527fb98e1a47c02dca6a777595eec.tar.gz zsh-607a7a85b65527fb98e1a47c02dca6a777595eec.tar.xz zsh-607a7a85b65527fb98e1a47c02dca6a777595eec.zip |
36993: zed: fix argument parsing
Diffstat (limited to 'Functions/Misc')
-rw-r--r-- | Functions/Misc/zed | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/Functions/Misc/zed b/Functions/Misc/zed index 010b69bee..94dd9ce5b 100644 --- a/Functions/Misc/zed +++ b/Functions/Misc/zed @@ -6,31 +6,20 @@ # Use ^X^W to save, ^C to abort. # Option -f: edit shell functions. (Also if called as fned.) -local var opt zed_file_name +local var opts zed_file_name # We do not want timeout while we are editing a file integer TMOUT=0 okargs=1 fun bind local -a expand -while getopts "fbx:" opt; do - case $opt in - (f) - fun=1 - ;; - - (b) - bind=1 - ;; - - (x) - if [[ $OPTARG != <-> ]]; then - print -r "Integer expected after -x: $OPTARG" >&2 - return 1 - fi - expand=(-x $OPTARG) - ;; - esac -done -shift $(( OPTIND - 1 )) +zparseopts -D -A opts f b x: +fun=$+opts[-f] +bind=$+opts[-b] +if [[ $opts[-x] == <-> ]]; then + expand=(-x $opts[-x]) +elif (( $+opts[-x] )); then + print -r "Integer expected after -x: $opts[-x]" >&2 + return 1 +fi [[ $0 = fned ]] && fun=1 (( bind )) && okargs=0 |