Recursively process a dependency in infix form, transforming it into asciidoctor markup with expression nesting indicated by indentation level. - expr - expression to process - level - indentation level to render expression at - root - True only on initial call
(expr, level = 0, root = True)
| 349 | return evalDependencyNames(exprStack) |
| 350 | |
| 351 | def markupTraverse(expr, level = 0, root = True): |
| 352 | """Recursively process a dependency in infix form, transforming it into |
| 353 | asciidoctor markup with expression nesting indicated by indentation |
| 354 | level. |
| 355 | |
| 356 | - expr - expression to process |
| 357 | - level - indentation level to render expression at |
| 358 | - root - True only on initial call""" |
| 359 | |
| 360 | if level > 0: |
| 361 | prefix = f"{'{nbsp}{nbsp}' * level * 2} " |
| 362 | else: |
| 363 | prefix = '' |
| 364 | str = '' |
| 365 | |
| 366 | for elem in expr: |
| 367 | if isinstance(elem, pp.ParseResults): |
| 368 | if not root: |
| 369 | nextlevel = level + 1 |
| 370 | else: |
| 371 | # Do not indent the outer expression |
| 372 | nextlevel = level |
| 373 | |
| 374 | str = str + markupTraverse(elem, level = nextlevel, root = False) |
| 375 | elif elem in ('+', ','): |
| 376 | str = f"{str}{prefix}{opMarkupAsciidoc(elem)} +\n" |
| 377 | else: |
| 378 | str = f"{str}{prefix}{leafMarkupAsciidoc(elem)} +\n" |
| 379 | |
| 380 | return str |
| 381 | |
| 382 | def dependencyMarkup(dependency): |
| 383 | """Return asciidoctor markup for a human-readable equivalent of an API |
no test coverage detected