@@ -457,6 +457,216 @@ public static function commandProvider(): array
457457EOF],
458458 ],
459459 ],
460+ 'markdown (positional, extra)' => [
461+ <<<'EOF'
462+ ## NAME
463+
464+ app - Test CliCommand options
465+
466+ ## SYNOPSIS
467+
468+ **`app`** \[**`-fF`**] \[**`--nullable`**] \[**`-v`** *<u>entity</u>*]
469+ \[**`-V`** *<u>value</u>*,...] \[**`-s`** *<u>date</u>*]
470+ \[**`-r`**\[*<u>pattern</u>*]] \
471+ \[**`--extra-flag`**] \[**`--extra-value`** *<u>EXTRA-VALUE</u>*]
472+ \[**`--`**] *<u>INPUT-FILE</u>* *<u>endpoint-uri</u>* \
473+ \[*<u>key</u>*=*<u>VALUE</u>*...]
474+
475+ ## OPTIONS
476+
477+ - **`-f`**, **`--flag`**
478+
479+ Flag
480+
481+ - **`-F`**, **`--flags`**
482+
483+ Flag with multipleAllowed()
484+
485+ - **`--nullable`**
486+
487+ Flag with nullable() and no short form
488+
489+ - **`-v`**, **`--value`** *<u>entity</u>*
490+
491+ Value with defaultValue() and valueName *<u>entity</u>*
492+
493+ The default entity is: `foo`
494+
495+ - **`-V`**, **`--values`** *<u>value</u>*,...
496+
497+ Value with multipleAllowed(), unique() and nullable()
498+
499+ - **`-s`**, **`--start`** *<u>date</u>*
500+
501+ Value with conditional required(), valueType DATE and valueName *<u>date</u>*
502+
503+ - **`-r`**, **`--filter-regex`**\[=*<u>pattern</u>*]
504+
505+ VALUE_OPTIONAL with valueName *<u>pattern</u>* and a default value
506+
507+ The default pattern is: `/./`
508+
509+ - **`--extra-flag`**
510+
511+ - **`--extra-value`** *<u>EXTRA-VALUE</u>*
512+
513+ - *<u>INPUT-FILE</u>*
514+
515+ required() VALUE_POSITIONAL with valueType FILE and valueName "INPUT_FILE"
516+
517+ - *<u>endpoint-uri</u>*
518+
519+ required() VALUE_POSITIONAL with valueName "endpoint_uri"
520+
521+ - *<u>key</u>*=*<u>VALUE</u>*...
522+
523+ VALUE_POSITIONAL with multipleAllowed() and valueName "\<key>=\<VALUE>"
524+
525+ EOF,
526+ 0 ,
527+ ['_md ' ],
528+ null ,
529+ ['positional ' => '1 ' , 'extra ' => '1 ' ],
530+ ],
531+ 'markdown (positional, extra, collapsed synopsis) ' => [
532+ <<<'EOF'
533+ ## NAME
534+
535+ app - Test CliCommand options
536+
537+ ## SYNOPSIS
538+
539+ **`app`** \[*<u>options</u>*] \[**`--`**] *<u>INPUT-FILE</u>*
540+ *<u>endpoint-uri</u>* \[*<u>key</u>*=*<u>VALUE</u>*...]
541+
542+ ## OPTIONS
543+
544+ - **`-f`**, **`--flag`**
545+
546+ Flag
547+
548+ - **`-F`**, **`--flags`**
549+
550+ Flag with multipleAllowed()
551+
552+ - **`--nullable`**
553+
554+ Flag with nullable() and no short form
555+
556+ - **`-v`**, **`--value`** *<u>entity</u>*
557+
558+ Value with defaultValue() and valueName *<u>entity</u>*
559+
560+ The default entity is: `foo`
561+
562+ - **`-V`**, **`--values`** *<u>value</u>*,...
563+
564+ Value with multipleAllowed(), unique() and nullable()
565+
566+ - **`-s`**, **`--start`** *<u>date</u>*
567+
568+ Value with conditional required(), valueType DATE and valueName *<u>date</u>*
569+
570+ - **`-r`**, **`--filter-regex`**\[=*<u>pattern</u>*]
571+
572+ VALUE_OPTIONAL with valueName *<u>pattern</u>* and a default value
573+
574+ The default pattern is: `/./`
575+
576+ - **`--extra-flag`**
577+
578+ - **`--extra-value`** *<u>EXTRA-VALUE</u>*
579+
580+ - *<u>INPUT-FILE</u>*
581+
582+ required() VALUE_POSITIONAL with valueType FILE and valueName "INPUT_FILE"
583+
584+ - *<u>endpoint-uri</u>*
585+
586+ required() VALUE_POSITIONAL with valueName "endpoint_uri"
587+
588+ - *<u>key</u>*=*<u>VALUE</u>*...
589+
590+ VALUE_POSITIONAL with multipleAllowed() and valueName "\<key>=\<VALUE>"
591+
592+ EOF,
593+ 0 ,
594+ ['_md ' , '1 ' ],
595+ null ,
596+ ['positional ' => '1 ' , 'extra ' => '1 ' ],
597+ ],
598+ 'man page (positional, extra) ' => [
599+ <<<'EOF'
600+ % APP(1) v1.0.0 | app Documentation
601+
602+ # NAME
603+
604+ app - Test CliCommand options
605+
606+ # SYNOPSIS
607+
608+ | **`app`** \[**`-fF`**] \[**`--nullable`**] \[**`-v`** *entity*]
609+ \[**`-V`** *value*,...] \[**`-s`** *date*] \[**`-r`**\[*pattern*]]
610+ | \[**`--extra-flag`**] \[**`--extra-value`** *EXTRA-VALUE*] \[**`--`**]
611+ *INPUT-FILE* *endpoint-uri*
612+ | \[*key*=*VALUE*...]
613+
614+ # OPTIONS
615+
616+ **`-f`**, **`--flag`**
617+
618+ : Flag
619+
620+ **`-F`**, **`--flags`**
621+
622+ : Flag with multipleAllowed()
623+
624+ **`--nullable`**
625+
626+ : Flag with nullable() and no short form
627+
628+ **`-v`**, **`--value`** *entity*
629+
630+ : Value with defaultValue() and valueName *entity*
631+
632+ The default entity is: foo
633+
634+ **`-V`**, **`--values`** *value*,...
635+
636+ : Value with multipleAllowed(), unique() and nullable()
637+
638+ **`-s`**, **`--start`** *date*
639+
640+ : Value with conditional required(), valueType DATE and valueName *date*
641+
642+ **`-r`**, **`--filter-regex`**\[=*pattern*]
643+
644+ : VALUE_OPTIONAL with valueName *pattern* and a default value
645+
646+ The default pattern is: /./
647+
648+ **`--extra-flag`**
649+
650+ **`--extra-value`** *EXTRA-VALUE*
651+
652+ *INPUT-FILE*
653+
654+ : required() VALUE_POSITIONAL with valueType FILE and valueName "INPUT_FILE"
655+
656+ *endpoint-uri*
657+
658+ : required() VALUE_POSITIONAL with valueName "endpoint_uri"
659+
660+ *key*=*VALUE*...
661+
662+ : VALUE_POSITIONAL with multipleAllowed() and valueName "\<key>=\<VALUE>"
663+
664+ EOF,
665+ 0 ,
666+ ['_man ' , '' , 'v1.0.0 ' ],
667+ null ,
668+ ['positional ' => '1 ' , 'extra ' => '1 ' ],
669+ ],
460670 ];
461671 }
462672
0 commit comments