in tools/tfdoc.py [0:0]
def format_tfref_variables(items, show_extra=True):
'Format variables table.'
if not items:
return
items = sorted(items, key=lambda i: (not i.required, i.name))
yield '| name | description | type | required | default |' + (
' producer |' if show_extra else '')
yield '|---|---|:---:|:---:|:---:|' + (':---:|' if show_extra else '')
for i in items:
vars = {
'default': f'<code>{_escape(i.default)}</code>' if i.default else '',
'required': '✓' if i.required else '',
'source': f'<code>{i.source}</code>' if i.source else '',
'type': f'<code>{_escape(i.type)}</code>'
}
for k in ('default', 'type'):
title = getattr(i, k)
if '\n' in title:
value = title.split('\n')
# remove indent
title = '\n'.join([value[0]] + [l[2:] for l in value[1:]])
if len(value[0]) >= 18 or len(value[-1]) >= 18:
value = '…'
else:
value = f'{value[0]}…{value[-1].strip()}'
vars[k] = f'<code title="{_escape(title)}">{_escape(value)}</code>'
format = (
f'| [{i.name}]({i.file}#L{i.line}) | {i.description or ""} | {vars["type"]} '
f'| {vars["required"]} | {vars["default"]} |')
format += f' {vars["source"]} |' if show_extra else ''
yield format