como 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.rdoc +2 -0
- data/doc/Como/ArgsParseState.html +50 -50
- data/doc/Como/ComoCommon.html +2 -2
- data/doc/Como/MainOpt.html +32 -32
- data/doc/Como/Opt/ErrorWithData.html +11 -11
- data/doc/Como/Opt/InvalidOption.html +2 -2
- data/doc/Como/Opt/MissingArgument.html +2 -2
- data/doc/Como/Opt.html +402 -402
- data/doc/Como/RuleCheck.html +56 -56
- data/doc/Como/RuleDisplay.html +70 -70
- data/doc/Como/Spec.html +73 -74
- data/doc/Como.html +2 -2
- data/doc/_index.html +2 -2
- data/doc/file.CHANGELOG.html +6 -3
- data/doc/file.README.html +2 -2
- data/doc/index.html +2 -2
- data/doc/top-level-namespace.html +2 -2
- data/lib/como.rb +18 -13
- data/lib/version.rb +1 -1
- data/test/golden/subcmd.txt +16 -0
- data/test/test_subcmd +1 -0
- metadata +63 -68
data/doc/Como/Spec.html
CHANGED
@@ -148,6 +148,21 @@
|
|
148
148
|
</span> <span class='symbol'>:hidden</span>
|
149
149
|
<span class='rbracket'>]</span></pre></dd>
|
150
150
|
|
151
|
+
<dt id="MAP_TYPE_PRIMS-constant" class="">MAP_TYPE_PRIMS =
|
152
|
+
|
153
|
+
</dt>
|
154
|
+
<dd><pre class="code"><span class='lbrace'>{</span>
|
155
|
+
<span class='symbol'>:switch</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
156
|
+
<span class='symbol'>:single</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:one</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
157
|
+
<span class='symbol'>:multi</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
158
|
+
<span class='symbol'>:opt_single</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
159
|
+
<span class='symbol'>:opt_multi</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
160
|
+
<span class='symbol'>:opt_any</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
161
|
+
<span class='symbol'>:default</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:default</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
162
|
+
<span class='symbol'>:exclusive</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:mutex</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
163
|
+
<span class='symbol'>:silent</span> <span class='op'>=></span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:hidden</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
164
|
+
<span class='rbrace'>}</span></pre></dd>
|
165
|
+
|
151
166
|
<dt id="argv-classvariable" class="">@@argv =
|
152
167
|
<div class="docstring">
|
153
168
|
<div class="discussion">
|
@@ -787,10 +802,10 @@
|
|
787
802
|
<pre class="lines">
|
788
803
|
|
789
804
|
|
790
|
-
|
805
|
+
891</pre>
|
791
806
|
</td>
|
792
807
|
<td>
|
793
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
808
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 891</span>
|
794
809
|
|
795
810
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span> <span class='kw'>end</span></pre>
|
796
811
|
</td>
|
@@ -894,12 +909,12 @@
|
|
894
909
|
<pre class="lines">
|
895
910
|
|
896
911
|
|
897
|
-
|
898
|
-
|
899
|
-
|
912
|
+
918
|
913
|
+
919
|
914
|
+
920</pre>
|
900
915
|
</td>
|
901
916
|
<td>
|
902
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
917
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 918</span>
|
903
918
|
|
904
919
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkAlso'>checkAlso</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_check'>check</span> <span class='rparen'>)</span>
|
905
920
|
<span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_checkAlso'>checkAlso</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_check'>check</span> <span class='rparen'>)</span>
|
@@ -973,18 +988,18 @@
|
|
973
988
|
<pre class="lines">
|
974
989
|
|
975
990
|
|
976
|
-
874
|
977
|
-
875
|
978
|
-
876
|
979
|
-
877
|
980
|
-
878
|
981
991
|
879
|
982
992
|
880
|
983
993
|
881
|
984
|
-
882
|
994
|
+
882
|
995
|
+
883
|
996
|
+
884
|
997
|
+
885
|
998
|
+
886
|
999
|
+
887</pre>
|
985
1000
|
</td>
|
986
1001
|
<td>
|
987
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
1002
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 879</span>
|
988
1003
|
|
989
1004
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
|
990
1005
|
<span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
|
@@ -1522,20 +1537,6 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1522
1537
|
<pre class="lines">
|
1523
1538
|
|
1524
1539
|
|
1525
|
-
806
|
1526
|
-
807
|
1527
|
-
808
|
1528
|
-
809
|
1529
|
-
810
|
1530
|
-
811
|
1531
|
-
812
|
1532
|
-
813
|
1533
|
-
814
|
1534
|
-
815
|
1535
|
-
816
|
1536
|
-
817
|
1537
|
-
818
|
1538
|
-
819
|
1539
1540
|
820
|
1540
1541
|
821
|
1541
1542
|
822
|
@@ -1558,27 +1559,23 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1558
1559
|
839
|
1559
1560
|
840
|
1560
1561
|
841
|
1561
|
-
842
|
1562
|
+
842
|
1563
|
+
843
|
1564
|
+
844
|
1565
|
+
845
|
1566
|
+
846
|
1567
|
+
847</pre>
|
1562
1568
|
</td>
|
1563
1569
|
<td>
|
1564
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
1570
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 820</span>
|
1565
1571
|
|
1566
1572
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_mapTypeToPrims'>mapTypeToPrims</span><span class='lparen'>(</span> <span class='id identifier rubyid_type'>type</span> <span class='rparen'>)</span>
|
1567
1573
|
|
1568
1574
|
<span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1569
1575
|
|
1570
1576
|
<span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>Symbol</span>
|
1571
|
-
<span class='
|
1572
|
-
<span class='kw'>
|
1573
|
-
<span class='kw'>when</span> <span class='symbol'>:single</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span> <span class='rbracket'>]</span>
|
1574
|
-
<span class='kw'>when</span> <span class='symbol'>:multi</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span> <span class='rbracket'>]</span>
|
1575
|
-
<span class='kw'>when</span> <span class='symbol'>:opt_single</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
|
1576
|
-
<span class='kw'>when</span> <span class='symbol'>:opt_multi</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
|
1577
|
-
<span class='kw'>when</span> <span class='symbol'>:opt_any</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
|
1578
|
-
<span class='kw'>when</span> <span class='symbol'>:default</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:default</span> <span class='rbracket'>]</span>
|
1579
|
-
<span class='kw'>when</span> <span class='symbol'>:exclusive</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:mutex</span> <span class='rbracket'>]</span>
|
1580
|
-
<span class='kw'>when</span> <span class='symbol'>:silent</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:hidden</span> <span class='rbracket'>]</span>
|
1581
|
-
<span class='kw'>else</span>
|
1577
|
+
<span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='const'>MAP_TYPE_PRIMS</span><span class='lbracket'>[</span> <span class='id identifier rubyid_type'>type</span> <span class='rbracket'>]</span>
|
1578
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_prims'>prims</span>
|
1582
1579
|
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Unknown option type: \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>\"...</span><span class='tstring_end'>"</span></span>
|
1583
1580
|
<span class='kw'>end</span>
|
1584
1581
|
|
@@ -1730,12 +1727,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1730
1727
|
<pre class="lines">
|
1731
1728
|
|
1732
1729
|
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1730
|
+
853
|
1731
|
+
854
|
1732
|
+
855</pre>
|
1736
1733
|
</td>
|
1737
1734
|
<td>
|
1738
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
1735
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 853</span>
|
1739
1736
|
|
1740
1737
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setArgv'>setArgv</span><span class='lparen'>(</span> <span class='id identifier rubyid_newArgv'>newArgv</span> <span class='rparen'>)</span>
|
1741
1738
|
<span class='cvar'>@@argv</span> <span class='op'>=</span> <span class='id identifier rubyid_newArgv'>newArgv</span>
|
@@ -1771,12 +1768,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1771
1768
|
<pre class="lines">
|
1772
1769
|
|
1773
1770
|
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1771
|
+
869
|
1772
|
+
870
|
1773
|
+
871</pre>
|
1777
1774
|
</td>
|
1778
1775
|
<td>
|
1779
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
1776
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 869</span>
|
1780
1777
|
|
1781
1778
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setUsageFooter'>setUsageFooter</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
|
1782
1779
|
<span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_setUsageFooter'>setUsageFooter</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
|
@@ -1812,12 +1809,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1812
1809
|
<pre class="lines">
|
1813
1810
|
|
1814
1811
|
|
1815
|
-
|
1816
|
-
|
1817
|
-
|
1812
|
+
863
|
1813
|
+
864
|
1814
|
+
865</pre>
|
1818
1815
|
</td>
|
1819
1816
|
<td>
|
1820
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
1817
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 863</span>
|
1821
1818
|
|
1822
1819
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setUsageHeader'>setUsageHeader</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
|
1823
1820
|
<span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_setUsageHeader'>setUsageHeader</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
|
@@ -1889,7 +1886,6 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1889
1886
|
<pre class="lines">
|
1890
1887
|
|
1891
1888
|
|
1892
|
-
716
|
1893
1889
|
717
|
1894
1890
|
718
|
1895
1891
|
719
|
@@ -1907,10 +1903,11 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1907
1903
|
731
|
1908
1904
|
732
|
1909
1905
|
733
|
1910
|
-
734
|
1906
|
+
734
|
1907
|
+
735</pre>
|
1911
1908
|
</td>
|
1912
1909
|
<td>
|
1913
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
1910
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 717</span>
|
1914
1911
|
|
1915
1912
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='comma'>,</span> <span class='id identifier rubyid_table'>table</span> <span class='rparen'>)</span>
|
1916
1913
|
|
@@ -1982,7 +1979,6 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
1982
1979
|
<pre class="lines">
|
1983
1980
|
|
1984
1981
|
|
1985
|
-
742
|
1986
1982
|
743
|
1987
1983
|
744
|
1988
1984
|
745
|
@@ -2022,10 +2018,11 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
2022
2018
|
779
|
2023
2019
|
780
|
2024
2020
|
781
|
2025
|
-
782
|
2021
|
+
782
|
2022
|
+
783</pre>
|
2026
2023
|
</td>
|
2027
2024
|
<td>
|
2028
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
2025
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 743</span>
|
2029
2026
|
|
2030
2027
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specifyOptOrSub'>specifyOptOrSub</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span> <span class='rparen'>)</span>
|
2031
2028
|
|
@@ -2099,12 +2096,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
2099
2096
|
<pre class="lines">
|
2100
2097
|
|
2101
2098
|
|
2102
|
-
|
2103
|
-
|
2104
|
-
|
2099
|
+
858
|
2100
|
+
859
|
2101
|
+
860</pre>
|
2105
2102
|
</td>
|
2106
2103
|
<td>
|
2107
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
2104
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 858</span>
|
2108
2105
|
|
2109
2106
|
<span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
|
2110
2107
|
<span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
|
@@ -2188,17 +2185,17 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
2188
2185
|
<pre class="lines">
|
2189
2186
|
|
2190
2187
|
|
2191
|
-
893
|
2192
|
-
894
|
2193
|
-
895
|
2194
|
-
896
|
2195
|
-
897
|
2196
2188
|
898
|
2197
2189
|
899
|
2198
|
-
900
|
2190
|
+
900
|
2191
|
+
901
|
2192
|
+
902
|
2193
|
+
903
|
2194
|
+
904
|
2195
|
+
905</pre>
|
2199
2196
|
</td>
|
2200
2197
|
<td>
|
2201
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
2198
|
+
<pre class="code"><span class="info file"># File 'lib/como.rb', line 898</span>
|
2202
2199
|
|
2203
2200
|
<span class='kw'>def</span> <span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
|
2204
2201
|
<span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
|
@@ -2330,7 +2327,8 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
2330
2327
|
701
|
2331
2328
|
702
|
2332
2329
|
703
|
2333
|
-
704
|
2330
|
+
704
|
2331
|
+
705</pre>
|
2334
2332
|
</td>
|
2335
2333
|
<td>
|
2336
2334
|
<pre class="code"><span class="info file"># File 'lib/como.rb', line 675</span>
|
@@ -2358,8 +2356,9 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
2358
2356
|
</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_applyConfig'>applyConfig</span><span class='lparen'>(</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
|
2359
2357
|
|
2360
2358
|
<span class='kw'>if</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span> <span class='symbol'>:autohelp</span> <span class='rbracket'>]</span>
|
2361
|
-
<span class='comment'># Automatically add the help option.
|
2362
|
-
</span> <span class='id identifier
|
2359
|
+
<span class='comment'># Automatically add the help option and make it also mutex.
|
2360
|
+
</span> <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>MAP_TYPE_PRIMS</span><span class='lbracket'>[</span> <span class='symbol'>:silent</span> <span class='rbracket'>]</span> <span class='op'>+</span> <span class='lbracket'>[</span> <span class='symbol'>:mutex</span> <span class='rbracket'>]</span>
|
2361
|
+
<span class='id identifier rubyid_defs'>defs</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='int'>0</span><span class='comma'>,</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_spec'>spec</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>help</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-h</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Display usage info.</span><span class='tstring_end'>"</span></span> <span class='rbracket'>]</span> <span class='rparen'>)</span>
|
2363
2362
|
<span class='kw'>end</span>
|
2364
2363
|
|
2365
2364
|
<span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
|
@@ -2375,9 +2374,9 @@ the command line. Performs “usage” display if “help” was selected.</p>
|
|
2375
2374
|
</div>
|
2376
2375
|
|
2377
2376
|
<div id="footer">
|
2378
|
-
Generated on
|
2377
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
2379
2378
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2380
|
-
0.8.7.6 (ruby-2.3.
|
2379
|
+
0.8.7.6 (ruby-2.3.3).
|
2381
2380
|
</div>
|
2382
2381
|
|
2383
2382
|
</body>
|
data/doc/Como.html
CHANGED
@@ -975,9 +975,9 @@ of the internal workings of Como is required though.</p>
|
|
975
975
|
</div>
|
976
976
|
|
977
977
|
<div id="footer">
|
978
|
-
Generated on
|
978
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
979
979
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
980
|
-
0.8.7.6 (ruby-2.3.
|
980
|
+
0.8.7.6 (ruby-2.3.3).
|
981
981
|
</div>
|
982
982
|
|
983
983
|
</body>
|
data/doc/_index.html
CHANGED
@@ -233,9 +233,9 @@
|
|
233
233
|
</div>
|
234
234
|
|
235
235
|
<div id="footer">
|
236
|
-
Generated on
|
236
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
237
237
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
238
|
-
0.8.7.6 (ruby-2.3.
|
238
|
+
0.8.7.6 (ruby-2.3.3).
|
239
239
|
</div>
|
240
240
|
|
241
241
|
</body>
|
data/doc/file.CHANGELOG.html
CHANGED
@@ -63,7 +63,10 @@
|
|
63
63
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
65
|
<h1 id="label-Version+history">Version history</h1>
|
66
|
-
<dl class="rdoc-list label-list"><dt>0.2.
|
66
|
+
<dl class="rdoc-list label-list"><dt>0.2.2
|
67
|
+
<dd>
|
68
|
+
<p>Must have “-h” with mutex prim to prevent subcmd error.</p>
|
69
|
+
</dd><dt>0.2.1
|
67
70
|
<dd>
|
68
71
|
<p>Handle unknown subcmd/no-default case gracefully.</p>
|
69
72
|
</dd><dt>0.2.0
|
@@ -125,9 +128,9 @@ settings, i.e. the Opt#params method added.</p>
|
|
125
128
|
</div></div>
|
126
129
|
|
127
130
|
<div id="footer">
|
128
|
-
Generated on
|
131
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
129
132
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
130
|
-
0.8.7.6 (ruby-2.3.
|
133
|
+
0.8.7.6 (ruby-2.3.3).
|
131
134
|
</div>
|
132
135
|
|
133
136
|
</body>
|
data/doc/file.README.html
CHANGED
@@ -92,9 +92,9 @@ similar, but (obviously) not identical.</p>
|
|
92
92
|
</div></div>
|
93
93
|
|
94
94
|
<div id="footer">
|
95
|
-
Generated on
|
95
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
96
96
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
97
|
-
0.8.7.6 (ruby-2.3.
|
97
|
+
0.8.7.6 (ruby-2.3.3).
|
98
98
|
</div>
|
99
99
|
|
100
100
|
</body>
|
data/doc/index.html
CHANGED
@@ -92,9 +92,9 @@ similar, but (obviously) not identical.</p>
|
|
92
92
|
</div></div>
|
93
93
|
|
94
94
|
<div id="footer">
|
95
|
-
Generated on
|
95
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
96
96
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
97
|
-
0.8.7.6 (ruby-2.3.
|
97
|
+
0.8.7.6 (ruby-2.3.3).
|
98
98
|
</div>
|
99
99
|
|
100
100
|
</body>
|
@@ -103,9 +103,9 @@
|
|
103
103
|
</div>
|
104
104
|
|
105
105
|
<div id="footer">
|
106
|
-
Generated on
|
106
|
+
Generated on Fri Feb 17 00:05:17 2017 by
|
107
107
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
108
|
-
0.8.7.6 (ruby-2.3.
|
108
|
+
0.8.7.6 (ruby-2.3.3).
|
109
109
|
</div>
|
110
110
|
|
111
111
|
</body>
|
data/lib/como.rb
CHANGED
@@ -695,8 +695,9 @@ module Como
|
|
695
695
|
subcmd.applyConfig( config )
|
696
696
|
|
697
697
|
if subcmd.config[ :autohelp ]
|
698
|
-
# Automatically add the help option.
|
699
|
-
|
698
|
+
# Automatically add the help option and make it also mutex.
|
699
|
+
spec = MAP_TYPE_PRIMS[ :silent ] + [ :mutex ]
|
700
|
+
defs.insert( 0, [ spec, "help", "-h", "Display usage info." ] )
|
700
701
|
end
|
701
702
|
|
702
703
|
Spec.specify( subcmd, defs )
|
@@ -801,6 +802,19 @@ module Como
|
|
801
802
|
]
|
802
803
|
|
803
804
|
|
805
|
+
MAP_TYPE_PRIMS = {
|
806
|
+
:switch => [ :none, :opt ],
|
807
|
+
:single => [ :one ],
|
808
|
+
:multi => [ :one, :many ],
|
809
|
+
:opt_single => [ :one, :opt ],
|
810
|
+
:opt_multi => [ :one, :many, :opt ],
|
811
|
+
:opt_any => [ :none, :one, :many, :opt ],
|
812
|
+
:default => [ :none, :one, :many, :opt, :default ],
|
813
|
+
:exclusive => [ :none, :one, :many, :opt, :mutex ],
|
814
|
+
:silent => [ :none, :opt, :hidden ],
|
815
|
+
}
|
816
|
+
|
817
|
+
|
804
818
|
# Convert option types (type definitions) to option type
|
805
819
|
# primitives.
|
806
820
|
def Spec.mapTypeToPrims( type )
|
@@ -808,17 +822,8 @@ module Como
|
|
808
822
|
prims = nil
|
809
823
|
|
810
824
|
if type.kind_of? Symbol
|
811
|
-
|
812
|
-
|
813
|
-
when :single; prims = [ :one ]
|
814
|
-
when :multi; prims = [ :one, :many ]
|
815
|
-
when :opt_single; prims = [ :one, :opt ]
|
816
|
-
when :opt_multi; prims = [ :one, :many, :opt ]
|
817
|
-
when :opt_any; prims = [ :none, :one, :many, :opt ]
|
818
|
-
when :default; prims = [ :none, :one, :many, :opt, :default ]
|
819
|
-
when :exclusive; prims = [ :none, :one, :many, :opt, :mutex ]
|
820
|
-
when :silent; prims = [ :none, :opt, :hidden ]
|
821
|
-
else
|
825
|
+
prims = MAP_TYPE_PRIMS[ type ]
|
826
|
+
unless prims
|
822
827
|
raise "Unknown option type: \"#{type}\"..."
|
823
828
|
end
|
824
829
|
|
data/lib/version.rb
CHANGED
data/test/golden/subcmd.txt
CHANGED
@@ -14,6 +14,22 @@ como_subcmd error: Subcommand required for "como_subcmd"...
|
|
14
14
|
commit Commit (pending) changes to repo.
|
15
15
|
|
16
16
|
|
17
|
+
Copyright (c) 2013 by Como Tester
|
18
|
+
|
19
|
+
---- CMD: como_subcmd -h
|
20
|
+
|
21
|
+
como_subcmd [-p <password>] [-u <username>+] <<subcommand>>
|
22
|
+
|
23
|
+
Options:
|
24
|
+
-p User password.
|
25
|
+
-u Username(s).
|
26
|
+
|
27
|
+
Subcommands:
|
28
|
+
add Add file to repo.
|
29
|
+
rm Remove file from repo.
|
30
|
+
commit Commit (pending) changes to repo.
|
31
|
+
|
32
|
+
|
17
33
|
Copyright (c) 2013 by Como Tester
|
18
34
|
|
19
35
|
---- CMD: como_subcmd -p passwd
|