como 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Tue Jun 21 19:41:08 2016 by
106
+ Generated on Fri Jul 15 20:24:22 2016 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
108
  0.8.7.6 (ruby-2.3.1).
109
109
  </div>
data/lib/como.rb CHANGED
@@ -274,11 +274,9 @@
274
274
  # ":default" or "nil".
275
275
  # [:exclusive] Option that does not co-exist with other
276
276
  # options. :exclusive can have arguments as with
277
- # :opt_any, however :exclusive is documented like
278
- # :switch.
279
- # [:silent] Option that does not coexist with other options and is not
280
- # displayed as an option in Usage Help display. In effect a
281
- # sub-option of :exclusive.
277
+ # :opt_any.
278
+ # [:silent] Switch option that is not displayed as an option in Usage
279
+ # Help display.
282
280
  #
283
281
  # Options use typically all the 4 option fields:
284
282
  # [ type, name, mnemonic, doc ]
@@ -299,6 +297,43 @@
299
297
  # [ :silent, "terminator", "-", "The terminator." ],
300
298
  #
301
299
  #
300
+ # == Option type primitives
301
+ #
302
+ # Como converts option types into option type primitives. Option types
303
+ # are not completely orthogonal, but primitives are.
304
+ #
305
+ # Primitives:
306
+ #
307
+ # [:none] No arguments (i.e. switch).
308
+ # [:one] One argument.
309
+ # [:many] More than one argument.
310
+ # [:opt] Optional argument(s).
311
+ # [:default] Default option.
312
+ # [:mutex] Mutually exclusive option.
313
+ # [:hidden] Hidden option (no usage doc).
314
+ #
315
+ # Types to primitives mapping:
316
+ #
317
+ # [:switch] :none, :opt
318
+ # [:single] :one
319
+ # [:multi] :one, :many
320
+ # [:opt_single] :one, :opt
321
+ # [:opt_multi] :one, :many, :opt
322
+ # [:opt_any] :none, :one, :many, :opt
323
+ # [:default] :none, :one, :many, :opt, :default
324
+ # [:exclusive] :none, :one, :many, :opt, :mutex
325
+ # [:silent] :none, :opt, :hidden
326
+ #
327
+ # Primitives can be used in place of types if exotic options are
328
+ # needed. Instead of a single Symbol an Array of primitives are given
329
+ # for option type. Order of primitives is not significant.
330
+ #
331
+ # For example:
332
+ # [ [ :none, :hidden, :opt ], "terminator", "-", "The terminator." ],
333
+ #
334
+ # Como does not check the primitive combinations, thus care and
335
+ # consideration should be applied.
336
+ #
302
337
  # == Option specification method configuration
303
338
  #
304
339
  # Option behavior can be controlled with several configuration options.
@@ -471,7 +506,6 @@
471
506
 
472
507
  module Como
473
508
 
474
-
475
509
  # IO stream options for Como classes.
476
510
  class ComoCommon
477
511
 
@@ -732,18 +766,15 @@ module Como
732
766
 
733
767
  else
734
768
 
735
- case opt_or_sub[0]
736
-
737
- when :switch, :exclusive, :silent, :single, :multi,
738
- :opt_single, :opt_multi, :opt_any
739
- Opt.full( opt_or_sub[1], opt_or_sub[2], opt_or_sub[0], opt_or_sub[3] )
769
+ types = Spec.mapTypeToPrims( opt_or_sub[0] )
740
770
 
741
- when :default
771
+ if types.index( :default )
742
772
  Opt.defaultOpt( opt_or_sub[3] )
743
-
744
773
  else
745
- raise "Unknown option type: \"#{opt_or_sub[0]}\"..."
746
-
774
+ Opt.full( opt_or_sub[1],
775
+ opt_or_sub[2],
776
+ Spec.mapTypeToPrims( opt_or_sub[0] ),
777
+ opt_or_sub[3] )
747
778
  end
748
779
 
749
780
  end
@@ -751,6 +782,65 @@ module Como
751
782
  end
752
783
 
753
784
 
785
+ # Option type primitives.
786
+ TYPE_PRIMS = [
787
+ # No arguments (i.e. switch).
788
+ :none,
789
+ # One argument.
790
+ :one,
791
+ # More than one argument.
792
+ :many,
793
+ # Optional argument(s).
794
+ :opt,
795
+ # Default option.
796
+ :default,
797
+ # Mutually exclusive option.
798
+ :mutex,
799
+ # Hidden option (no usage doc).
800
+ :hidden
801
+ ]
802
+
803
+
804
+ # Convert option types (type definitions) to option type
805
+ # primitives.
806
+ def Spec.mapTypeToPrims( type )
807
+
808
+ prims = nil
809
+
810
+ if type.kind_of? Symbol
811
+ case type
812
+ when :switch; prims = [ :none, :opt ]
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, :default, :opt ]
819
+ when :exclusive; prims = [ :none, :one, :many, :opt, :mutex ]
820
+ when :silent; prims = [ :none, :opt, :hidden ]
821
+ else
822
+ raise "Unknown option type: \"#{type}\"..."
823
+ end
824
+
825
+ elsif type.kind_of? Array
826
+ prims = []
827
+
828
+ # Check that type primivives are valid before taking
829
+ # them into use.
830
+ type.each do |t|
831
+ if TYPE_PRIMS.index( t )
832
+ prims.push t
833
+ else
834
+ raise "Unknown option type primitive: \"#{t}\"..."
835
+ end
836
+ end
837
+ else
838
+ raise "Invalid option type definition: \"#{type}\"..."
839
+ end
840
+
841
+ prims
842
+ end
843
+
754
844
  # Command line options source.
755
845
  @@argv = ARGV
756
846
 
@@ -1004,7 +1094,7 @@ module Como
1004
1094
 
1005
1095
  # Create default option spec, no switch.
1006
1096
  def Opt.defaultOpt( doc = "No doc." )
1007
- new( "<default>", "<default>", :default, doc, [] )
1097
+ new( "<default>", "<default>", [ :default, :none, :one, :many, :opt ], doc, [] )
1008
1098
  end
1009
1099
 
1010
1100
 
@@ -1074,7 +1164,7 @@ module Como
1074
1164
  # Long option string.
1075
1165
  attr_accessor :longOpt
1076
1166
 
1077
- # Option type.
1167
+ # Option type as array of primitives (or :subcmd).
1078
1168
  attr_accessor :type
1079
1169
 
1080
1170
  # Option value.
@@ -1102,16 +1192,8 @@ module Como
1102
1192
  # Create Opt object.
1103
1193
  # @param name [String] Option name.
1104
1194
  # @param opt [String] Switch.
1105
- # @param type [Symbol] Option type. One of:
1106
- # * :switch
1107
- # * :single
1108
- # * :multi
1109
- # * :opt_single
1110
- # * :opt_multi
1111
- # * :opt_any
1112
- # * :default
1113
- # * :exclusive
1114
- # * :silent
1195
+ # @param type [Array<Symbol>, Symbol] Option type in
1196
+ # primitives (or :subcmd).
1115
1197
  # @param doc [String] Option documentation.
1116
1198
  # @param value [Object] Default value.
1117
1199
  def initialize( name, opt, type, doc, value = nil )
@@ -1120,10 +1202,13 @@ module Como
1120
1202
  @shortOpt = opt
1121
1203
  @longOpt = "--#{name}"
1122
1204
  @type = type
1205
+
1123
1206
  @value = value
1124
1207
 
1125
- if hasMany && value == nil
1126
- @value = []
1208
+ if @type != :subcmd
1209
+ if prim?( :many ) && value == nil
1210
+ @value = []
1211
+ end
1127
1212
  end
1128
1213
 
1129
1214
  @doc = doc
@@ -1241,7 +1326,7 @@ module Como
1241
1326
 
1242
1327
  while args.get
1243
1328
 
1244
- #puts "Opt.parse (#{@name}): #{args.get}"
1329
+ # puts "Opt.parse (#{@name}): #{args.get}"
1245
1330
 
1246
1331
  if args.isOptTerm
1247
1332
 
@@ -1273,12 +1358,12 @@ module Como
1273
1358
  end
1274
1359
  end
1275
1360
 
1276
- elsif o && o.hasArg
1361
+ elsif o && ( o.prim?( :one ) || o.prim?( :many ) )
1277
1362
 
1278
1363
  args.next
1279
1364
 
1280
1365
  if ( !args.get || args.isOpt ) &&
1281
- o.type != :opt_any && o.type != :exclusive
1366
+ !o.prim?( :none )
1282
1367
 
1283
1368
  raise MissingArgument.new(
1284
1369
  "No argument given for \"#{o.opt}\"...",
@@ -1286,7 +1371,7 @@ module Como
1286
1371
 
1287
1372
  else
1288
1373
 
1289
- if o.hasMany
1374
+ if o.prim?( :many )
1290
1375
 
1291
1376
  # Get all argument for multi-option.
1292
1377
  o.value = [] if !o.given
@@ -1375,7 +1460,7 @@ module Como
1375
1460
 
1376
1461
  # Check for any exclusive args first.
1377
1462
  @subopt.each do |o|
1378
- if o.isExclusive && o.given
1463
+ if o.prim?( :mutex ) && o.given
1379
1464
  return
1380
1465
  end
1381
1466
  end
@@ -1384,7 +1469,7 @@ module Como
1384
1469
  # Check for required arguments for this level before
1385
1470
  # subcmds.
1386
1471
  @subopt.each do |o|
1387
- if o.isRequired
1472
+ if !o.prim?( :opt )
1388
1473
  unless o.given
1389
1474
  raise MissingArgument.new(
1390
1475
  "Option \"#{o.opt}\" missing for \"#{cmd}\"...",
@@ -1523,7 +1608,7 @@ module Como
1523
1608
  # Example usage: fileName = Opt["file"].apply( "no_name.txt" )
1524
1609
  def apply( default = nil )
1525
1610
  if given
1526
- if @type == :switch
1611
+ if prim?( :none )
1527
1612
  true
1528
1613
  else
1529
1614
  value
@@ -1595,7 +1680,7 @@ module Como
1595
1680
  def argByName( str )
1596
1681
  if str == nil || str == :default
1597
1682
  @subopt.each do |o|
1598
- if o.type == :default
1683
+ if o.prim?( :default )
1599
1684
  return o
1600
1685
  end
1601
1686
  end
@@ -1615,7 +1700,7 @@ module Como
1615
1700
  def argById( str )
1616
1701
  if str == nil || str == :default
1617
1702
  @subopt.each do |o|
1618
- if o.type == :default
1703
+ if o.prim?( :default )
1619
1704
  return o
1620
1705
  end
1621
1706
  end
@@ -1631,54 +1716,19 @@ module Como
1631
1716
  end
1632
1717
 
1633
1718
 
1634
- # Option requires argument?
1635
- def hasArg
1636
- case @type
1637
- when :single, :multi, :opt_single, :opt_multi, :opt_any, :exclusive; true
1638
- else false
1639
- end
1640
- end
1641
-
1642
-
1643
- # Option requires many arguments?
1644
- def hasMany
1645
- case @type
1646
- when :multi, :opt_multi, :opt_any, :exclusive, :default; true
1647
- else false
1648
- end
1649
- end
1650
-
1651
-
1652
- # Is mandatory argument?
1653
- def isRequired
1654
- case @type
1655
- when :single, :multi; true
1656
- else false
1657
- end
1658
- end
1659
-
1660
-
1661
- # Test if option is silent.
1662
- def silent?
1663
- @type == :silent
1664
- end
1665
-
1666
-
1667
- # Test if option is exclusive. In addition :exclusive also
1668
- # :silent is exclusive.
1669
- def isExclusive
1670
- case @type
1671
- when :exclusive, :silent; true
1672
- else false
1673
- end
1719
+ # Check for primitive.
1720
+ def prim?( prim )
1721
+ @type.index( prim )
1674
1722
  end
1675
1723
 
1676
1724
 
1677
1725
  # Test if option is of switch type.
1678
- def isSwitch
1679
- case @type
1680
- when :switch, :exclusive, :default; true
1681
- else false
1726
+ def hasSwitchStyleDoc
1727
+ if ( prim?( :none ) && !prim?( :many ) ) ||
1728
+ prim?( :default )
1729
+ true
1730
+ else
1731
+ false
1682
1732
  end
1683
1733
  end
1684
1734
 
@@ -1772,17 +1822,18 @@ module Como
1772
1822
 
1773
1823
  @subopt.each do |o|
1774
1824
 
1775
- next if o.silent?
1825
+ next if o.prim?( :hidden )
1776
1826
 
1777
1827
  prural = nil
1778
- case o.type
1779
- when :multi, :opt_multi; prural = "+"
1780
- when :opt_any; prural = "*"
1781
- else prural = ""
1828
+ if o.prim?( :none ) && o.prim?( :many )
1829
+ prural = "*"
1830
+ elsif o.prim?( :one ) && o.prim?( :many )
1831
+ prural = "+"
1832
+ else
1833
+ prural = ""
1782
1834
  end
1783
1835
 
1784
-
1785
- if !( o.isSwitch )
1836
+ if !( o.hasSwitchStyleDoc )
1786
1837
  name = " <#{o.name}>#{prural}"
1787
1838
  else
1788
1839
  name = ""
@@ -1794,7 +1845,7 @@ module Como
1794
1845
  opt = o.shortOpt
1795
1846
  end
1796
1847
 
1797
- if o.isRequired
1848
+ if !o.prim?( :opt )
1798
1849
  opts.push "#{opt}#{name}"
1799
1850
  else
1800
1851
  opts.push "[#{opt}#{name}]"
@@ -1822,7 +1873,7 @@ module Como
1822
1873
  str += " Options:\n" if hasSubcmd && hasVisibleOptions
1823
1874
 
1824
1875
  @subopt.each do |o|
1825
- next if o.silent?
1876
+ next if o.prim?( :hidden )
1826
1877
  str += suboptDocFormat( o.opt, o.doc )
1827
1878
  end
1828
1879
 
@@ -1839,7 +1890,7 @@ module Como
1839
1890
  # Find option object by option str.
1840
1891
  def findOpt( str )
1841
1892
  if str == nil
1842
- suball.detect { |i| i.type == :default }
1893
+ suball.detect { |i| i.prim?( :default ) }
1843
1894
  elsif str[0..1] == "--"
1844
1895
  suball.detect { |i| i.longOpt == str }
1845
1896
  elsif str[0..0] != "-"
@@ -1969,7 +2020,7 @@ module Como
1969
2020
  # Test if option is of subcmd type.
1970
2021
  def hasVisibleOptions
1971
2022
  # Count non-silent options.
1972
- ( @subopt.select do |i| !i.silent? end ).length > 0
2023
+ ( @subopt.select do |i| !i.prim?( :hidden ) end ).length > 0
1973
2024
  end
1974
2025
 
1975
2026
 
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Como
2
- VERSION = "0.1.7"
2
+ VERSION = "0.2.0"
3
3
  def Como.version
4
4
  Como::VERSION
5
5
  end
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "../lib/como"
4
+ include Como
5
+
6
+ Spec.command( "como_type_prim", "Como Tester", "2013",
7
+ [
8
+ [ [ :none, :opt, :mutex ], "doc", nil, "Documentation for option\n\twith too much description\n\tfor one line." ],
9
+ [ [ :one ], "file", "-f", "File argument." ],
10
+ [ :switch, "debug", nil, "Enable debugging." ],
11
+ [ [ :one, :opt ], "mode", "-m", "Mode." ],
12
+ [ [ :one, :many, :opt ], "params", nil, "Parameters." ],
13
+ [ [ :none, :one, :many, :opt ], "types", "-t", "Types." ],
14
+ [ [ :none, :opt, :hidden ], "terminator", "-", "The terminator." ],
15
+ [ [ :one, :many ], "dir", "-d", "Directory argument(s)." ],
16
+ [ :default, "Leftovers." ],
17
+ ] )
18
+
19
+
20
+ Opt.each do |o|
21
+ puts "Given \"#{o.name}\": #{o.given}"
22
+ puts "Value \"#{o.name}\": #{o.value}" if o.given && o.value
23
+ end
24
+
25
+ if Opt.external
26
+ puts "External: #{Opt.external}"
27
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  como_compatible error: Option "-f" missing for "como_compatible"...
4
4
 
5
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
5
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
6
6
 
7
7
  --doc Documentation.
8
8
  -f File argument.
@@ -32,7 +32,7 @@ Given "<default>": false
32
32
 
33
33
  como_compatible error: No argument given for "-f"...
34
34
 
35
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
35
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
36
36
 
37
37
  --doc Documentation.
38
38
  -f File argument.
@@ -63,7 +63,7 @@ Given "<default>": false
63
63
 
64
64
  como_compatible error: No argument given for "-f"...
65
65
 
66
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
66
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
67
67
 
68
68
  --doc Documentation.
69
69
  -f File argument.
@@ -81,7 +81,7 @@ como_compatible error: No argument given for "-f"...
81
81
 
82
82
  como_compatible error: Option "-d" missing for "como_compatible"...
83
83
 
84
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
84
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
85
85
 
86
86
  --doc Documentation.
87
87
  -f File argument.
@@ -99,7 +99,7 @@ como_compatible error: Option "-d" missing for "como_compatible"...
99
99
 
100
100
  como_compatible error: No argument given for "-d"...
101
101
 
102
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
102
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
103
103
 
104
104
  --doc Documentation.
105
105
  -f File argument.
@@ -334,7 +334,7 @@ External: ["external", "arguments"]
334
334
 
335
335
  como_compatible error: Option "-d" missing for "como_compatible"...
336
336
 
337
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
337
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
338
338
 
339
339
  --doc Documentation.
340
340
  -f File argument.
@@ -352,7 +352,7 @@ como_compatible error: Option "-d" missing for "como_compatible"...
352
352
 
353
353
  como_compatible error: Option "-d" missing for "como_compatible"...
354
354
 
355
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
355
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
356
356
 
357
357
  --doc Documentation.
358
358
  -f File argument.
@@ -370,7 +370,7 @@ como_compatible error: Option "-d" missing for "como_compatible"...
370
370
 
371
371
  como_compatible error: Unknown option "-q"...
372
372
 
373
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
373
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
374
374
 
375
375
  --doc Documentation.
376
376
  -f File argument.
@@ -388,7 +388,7 @@ como_compatible error: Unknown option "-q"...
388
388
 
389
389
  como_compatible error: No argument given for "-d"...
390
390
 
391
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
391
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
392
392
 
393
393
  --doc Documentation.
394
394
  -f File argument.
@@ -417,7 +417,7 @@ Value "dir": ["dir"]
417
417
  Given "<default>": false
418
418
  ---- CMD: como_compatible -f foo -d dir -h
419
419
 
420
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
420
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
421
421
 
422
422
  --doc Documentation.
423
423
  -f File argument.
@@ -433,7 +433,7 @@ Given "<default>": false
433
433
 
434
434
  ---- CMD: como_compatible -h -f foo -d dir
435
435
 
436
- como_compatible [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
436
+ como_compatible [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
437
437
 
438
438
  --doc Documentation.
439
439
  -f File argument.
@@ -27,7 +27,7 @@ como_config error: No argument given for "-f"...
27
27
 
28
28
  Additional heading info.
29
29
 
30
- como_config [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
30
+ como_config [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
31
31
 
32
32
  --doc Documentation.
33
33
  -f File argument.
@@ -62,7 +62,7 @@ como_config error: No argument given for "-f"...
62
62
 
63
63
  Additional heading info.
64
64
 
65
- como_config [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
65
+ como_config [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
66
66
 
67
67
  --doc Documentation.
68
68
  -f File argument.
@@ -96,7 +96,7 @@ como_config error: No argument given for "-d"...
96
96
 
97
97
  Additional heading info.
98
98
 
99
- como_config [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
99
+ como_config [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
100
100
 
101
101
  --doc Documentation.
102
102
  -f File argument.
@@ -155,7 +155,7 @@ Given "<default>": false
155
155
 
156
156
  Additional heading info.
157
157
 
158
- como_config [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
158
+ como_config [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
159
159
 
160
160
  --doc Documentation.
161
161
  -f File argument.
@@ -185,7 +185,7 @@ Given "<default>": false
185
185
 
186
186
  Additional heading info.
187
187
 
188
- como_config [--doc] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
188
+ como_config [--doc <doc>*] -f <file> [--debug] [-m <mode>] [--params <params>+] [-t <types>*] -d <dir>+ [<default>]
189
189
 
190
190
  --doc Documentation.
191
191
  -f File argument.