{node.name}
{kindPhrase(node)}
{node.file} :{node.line}–{node.endLine}
· {plural(node.lines, 'line')}
{#if payload.ancestors.length > 0}
in {#each payload.ancestors as ancestor, i (ancestor.id)}{#if i > 0} › {/if} onopen(ancestor)}>{ancestor.name} {/each}
{/if}
{#if node.exported}exported {/if}
{#if payload.counts.hub}
hub · {plural(payload.counts.callers, 'caller')}
{/if}
{#if payload.drift}
changed on disk after the last index sync
{/if}
{testBadge.text}
{#if node.signature}
{node.name}{node.signature}
{/if}
{#if node.docstring}
{node.docstring}
{/if}
{#if supertypes.length > 0 || subtypes.length > 0 || typeChips.length > 0}
{#if supertypes.length > 0}
{#each supertypes as relation (relation.node.id)}
{relationWord(relation)}
onopen(relation.node)}>
{relation.node.name}
{/each}
{/if}
{#if subtypes.length > 0}
{subtypes[0]?.edgeKinds.includes('implements') ? 'implemented by' : 'extended by'}
{#each subtypes as relation (relation.node.id)}
onopen(relation.node)}>
{relation.node.name}
{/each}
{/if}
{#if typeChips.length > 0}
uses types
{#each typeChips as relation (relation.node.id)}
onopen(relation.node)}>
{relation.node.name}
{/each}
{#if payload.typesUsed.length > TYPE_CHIP_LIMIT}
+{payload.typesUsed.length - TYPE_CHIP_LIMIT}
{/if}
{/if}
{/if}