object q_empty
enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
    prefix QTYPE
module doc-good.json
enum Enum ['one', 'two']
    if ['defined(IFCOND)']
object Base
    member base1: Enum optional=False
object Variant1
    member var1: str optional=False
object Variant2
object Object
    base Base
    tag base1
    case one: Variant1
    case two: Variant2
object q_obj_Variant1-wrapper
    member data: Variant1 optional=False
object q_obj_Variant2-wrapper
    member data: Variant2 optional=False
enum SugaredUnionKind ['one', 'two']
object SugaredUnion
    member type: SugaredUnionKind optional=False
    tag type
    case one: q_obj_Variant1-wrapper
    case two: q_obj_Variant2-wrapper
object q_obj_cmd-arg
    member arg1: int optional=False
    member arg2: str optional=True
    member arg3: bool optional=False
command cmd q_obj_cmd-arg -> Object
   gen=True success_response=True boxed=False oob=False preconfig=False
command cmd-boxed Object -> None
   gen=True success_response=True boxed=True oob=False preconfig=False
doc freeform
    body=
= Section

== Subsection

*strong* _with emphasis_
@var {in braces}
* List item one
- Two, multiple
lines

3. Three
Still in list

Not in list
- Second list
Note: still in list

Note: not in list
1. Third list
is numbered

- another item

| example
| multiple lines

Returns: the King
Since: the first age
Notes:

1. Lorem ipsum dolor sit amet

2. Ut enim ad minim veniam

Duis aute irure dolor

Example:

-> in
<- out
Examples:
- *verbatim*
- {braces}
doc symbol=Enum
    body=

    arg=one
The _one_ {and only}
    arg=two

    section=None
@two is undocumented
doc symbol=Base
    body=

    arg=base1
the first member
doc symbol=Variant1
    body=
A paragraph

Another paragraph (but no @var: line)
    arg=var1

doc symbol=Variant2
    body=

doc symbol=Object
    body=

doc symbol=SugaredUnion
    body=

    arg=type

doc freeform
    body=
== Another subsection
doc symbol=cmd
    body=

    arg=arg1
the first argument
    arg=arg2
the second
argument
    arg=arg3

    section=Note
@arg3 is undocumented
    section=Returns
@Object
    section=TODO
frobnicate
    section=Notes
- Lorem ipsum dolor sit amet
- Ut enim ad minim veniam

Duis aute irure dolor
    section=Example
-> in
<- out
    section=Examples
- *verbatim*
- {braces}
    section=Since
2.10
doc symbol=cmd-boxed
    body=
If you're bored enough to read this, go see a video of boxed cats
    section=Example
-> in

<- out
