Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

zparseopts (Re: PATCH: _urls and _rpm)



On Jun 5, 11:09pm, Oliver Kiddle wrote:
} Subject: PATCH: _urls and _rpm
}
} It would be useful if zparseopts returned 0 only if it found the option
} specified so I didn't need to use (( $#glob )) but we'd have to decide
} how it would act with more than one option specified.

No, that's no good.  The whole point of calling it zparseOPTS is that the
things it is parsing are *optional*.  It returns nonzero only for things
that are real mistakes.

} +zparseopts -D -E 'g:=glob'
                    ^       ^			Why the quotes?
} +(( $#glob )) || glob=( -g '*(^/)' )

You could use 

	: ${(A)=glob:=-g '*(^/)'}

instead.

What I can't decide is whether I like the behavior of emptying the array
when no matching option is found.  E.g. sometimes I think I'd like to be
able to say

	glob=(-g '*(^/)')
	zparseopts -D -E g:=glob

and have $glob be unchanged unless a -g really was given.  Then I think
about it some more and decide maybe not.  Then I think about it some more
and ...

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   



Messages sorted by: Reverse Date, Date, Thread, Author