Author: particle Date: 2009-01-02 14:36:54 +0100 (Fri, 02 Jan 2009) New Revision: 24732
Modified: docs/Perl6/Spec/S06-routines.pod docs/Perl6/Spec/S19-commandline.pod Log: [spec] get rid of ugly and confusing C<+option> syntax (bad unix memes)-- Modified: docs/Perl6/Spec/S06-routines.pod =================================================================== --- docs/Perl6/Spec/S06-routines.pod 2009-01-01 22:27:50 UTC (rev 24731) +++ docs/Perl6/Spec/S06-routines.pod 2009-01-02 13:36:54 UTC (rev 24732) @@ -2735,15 +2735,17 @@ Common Unix command-line conventions are mapped onto the capture as follows: - Assuming C<-n> is the shortname for C<--name>, + Assuming C<-n> is the short name for C<--name>, On command line... $*ARGS capture gets... + # Short names -n :name -n=value :name<value> -n="spacy value" :name«'spacy value'» -n='spacy value' :name«'spacy value'» -n=val1,'val 2',etc :name«val1 'val 2' etc» + # Long names --name :name # only if declared Bool --name=value :name<value> # don't care --name value :name<value> # only if not declared Bool @@ -2756,15 +2758,16 @@ --name val1 'val 2' etc :name«val1 'val 2' etc» # only if declared @ -- # end named argument processing - +name :!name - +name=value :name<value> but False - +name="spacy value" :name«'spacy value'» but False - +name='spacy value' :name«'spacy value'» but False - +name=val1,'val 2',etc :name«val1 'val 2' etc» but False + # Negation + --/name :!name + --/name=value :name<value> but False + --/name="spacy value" :name«'spacy value'» but False + --/name='spacy value' :name«'spacy value'» but False + --/name=val1,'val 2',etc :name«val1 'val 2' etc» but False + # Native :name :name - :!name :!name # potential conflict with ! histchar - :/name :!name # potential workaround? + :/name :!name :name=value :name<value> :name="spacy value" :name«'spacy value'» :name='spacy value' :name«'spacy value'» Modified: docs/Perl6/Spec/S19-commandline.pod =================================================================== --- docs/Perl6/Spec/S19-commandline.pod 2009-01-01 22:27:50 UTC (rev 24731) +++ docs/Perl6/Spec/S19-commandline.pod 2009-01-02 13:36:54 UTC (rev 24732) @@ -29,7 +29,7 @@ =item * -A much smarter default command-line processor in the core +A smart default command-line processor in the core =item * @@ -111,7 +111,7 @@ =item * -Options must begin with one of the following symbols: C<< < -- - + : > >>. +Options must begin with one of the following symbols: C<< < -- - : > >>. =item * @@ -120,7 +120,7 @@ =item * All options have a multi-character, descriptive name for increased clarity. -Multi-character option names always begin with C<-->, C<+>, or C<:>. +Multi-character option names always begin with C<--> or C<:>. =item * @@ -138,16 +138,8 @@ =item * -Options may be negated with C</> or C<!>, for example C<:/name> +Options may be negated with C</>, for example C<--/name>, C<:/name>, C<-/n>. -[:/name reminds me more of an end tag than a negated, but I see -why you want it, given the history of history characters...interestingly, -:0name has the same effect in current p6, since we generalized :3x -and such.] - -{{ dunno how TIMTOWTDI i want to get here, so i haven't changed the text -above, but have standardized on C</> below. }} - =item * The special option C<--> signals the parser to stop option processing. @@ -239,8 +231,8 @@ token option { [ [ - $<sym>=[ '--' | '-' | '+' | ':' ] - $<neg>=[ '!' | '/' ]? + $<sym>=[ '--' | '-' | ':' ] + $<neg>=[ '/' ]? <name> ] [ '=' <value> [ ',' <value> ]* ]?