{% import "render_macros.j2" as macros %}
enum {{+ short_name +}} {
{% if let Some(names) = self.render_reserved_names() ~%}
{{+ names ~}}
{%~ endif %}
{%~ if let Some(numbers) = self.render_reserved_numbers() ~%}
{{+ numbers ~}}
{%~ endif %}
{%~ for option in self.options.iter() +%}
option {{+ option.name +}} = {{+ option.value | indent(2) }};
{% endfor %}
{% call macros::empty_line_if(!self.options.is_empty()) %}{% endcall %}
{%~ for variant in variants ~%}
{{+ variant.name +}} = {{+ variant.tag }}
{% filter indent(2) ~%}
{% if !variant.options.is_empty() +%} [
{% for option in variant.options ~%}
{{+ option.name +}} = {{+ option.value | indent(2) +}}{% if !loop.last %},{% endif ~%}
{% endfor +%}
] {%- endif -%};
{% endfilter +%}
{% endfor ~%}
}