in tools/tfdoc.py [0:0]
def format_variables(variables, required_first=True):
"Format variables."
if not variables:
return
variables.sort(key=lambda v: v.name)
variables.sort(key=lambda v: v.required, reverse=True)
yield '| name | description | type | required | default |'
yield '|---|---|:---: |:---:|:---:|'
row = (
'| {name} | {description} | <code title="{type_spec}">{type}</code> '
'| {required} | {default} |'
)
for v in variables:
default = type_spec = ''
if not v.required:
default = '<code title="{title}">{default}</code>'
if '\n' in v.default:
default = default.format(title=_escape(v.default), default='...')
else:
default = default.format(title='', default=v.default or '')
if v.type and '(' in v.type:
type_spec = _escape(v.type)
yield row.format(
name=v.name if v.required else '*%s*' % v.name,
description=v.description, required='✓' if v.required else '',
type=format_type(v.type), type_spec=type_spec,
default=default
)