anchor.diff:      }
   }
   ----
  +<1> `CommandSpec`
  +<2> `OptionSpec`
  +<3> `PositionalParamSpec`
   
   == Configuration
   The following classes are the main model classes used to configure the parser:
   
  -* `CommandSpec`
  -* `OptionSpec`
  -* `PositionalParamSpec`
  -
  -
  -=== `CommandSpec`
  +* <<CommandSpec,`CommandSpec`>>
  +* <<OptionSpec,`OptionSpec`>>
  +* <<PositionalParamSpec,`PositionalParamSpec`>>
  +
  +
  +=== CommandSpec
   
   ==== Command Name and Version
   `CommandSpec` models a command. It has a name and a version, both of which may be empty.  For example:
  
positive.code: 
  Similar to the annotation API, `OptionSpec` objects have `help`, `usageHelp` and `versionHelp` attributes. When the parser matches an option that was marked with any of these attributes, it will no longer validate that all required arguments exist. See the section below on the `parseWithHandler(s)` methods that automatically print help when requested.
  
  === `PositionalParamSpec`
  
  `PositionalParamSpec` objects don’t have names, but have an index range instead. A single `PositionalParamSpec` object can capture multiple positional parameters. The default index range is set to `0..*` (all indices). A command may have multiple `PositionalParamSpec` objects to capture positional parameters at different index ranges. This can be useful if positional parameters at different index ranges have different data types.
  
  
negative.code: }
  ----
  
  For more details, see the https://picocli.info/#execute[Executing Commands] section of the user manual.