Get a Style instance by its theme name or parse a definition. Args: name (str): The name of a style or a style definition. Returns: Style: A Style object. Raises: MissingStyle: If no style could be parsed from name.
(
self, name: Union[str, Style], *, default: Optional[Union[Style, str]] = None
)
| 1468 | return rich_text |
| 1469 | |
| 1470 | def get_style( |
| 1471 | self, name: Union[str, Style], *, default: Optional[Union[Style, str]] = None |
| 1472 | ) -> Style: |
| 1473 | """Get a Style instance by its theme name or parse a definition. |
| 1474 | |
| 1475 | Args: |
| 1476 | name (str): The name of a style or a style definition. |
| 1477 | |
| 1478 | Returns: |
| 1479 | Style: A Style object. |
| 1480 | |
| 1481 | Raises: |
| 1482 | MissingStyle: If no style could be parsed from name. |
| 1483 | |
| 1484 | """ |
| 1485 | if isinstance(name, Style): |
| 1486 | return name |
| 1487 | |
| 1488 | try: |
| 1489 | style = self._theme_stack.get(name) |
| 1490 | if style is None: |
| 1491 | style = Style.parse(name) |
| 1492 | return style.copy() if style.link else style |
| 1493 | except errors.StyleSyntaxError as error: |
| 1494 | if default is not None: |
| 1495 | return self.get_style(default) |
| 1496 | raise errors.MissingStyle( |
| 1497 | f"Failed to get style {name!r}; {error}" |
| 1498 | ) from None |
| 1499 | |
| 1500 | def _collect_renderables( |
| 1501 | self, |