1234567891011121314151617181920212223242526272829303132 |
- from __future__ import annotations
- from typing import TYPE_CHECKING
- from prompt_toolkit.styles.pygments import pygments_token_to_classname
- from .base import StyleAndTextTuples
- if TYPE_CHECKING:
- from pygments.token import Token
- __all__ = [
- "PygmentsTokens",
- ]
- class PygmentsTokens:
- """
- Turn a pygments token list into a list of prompt_toolkit text fragments
- (``(style_str, text)`` tuples).
- """
- def __init__(self, token_list: list[tuple[Token, str]]) -> None:
- self.token_list = token_list
- def __pt_formatted_text__(self) -> StyleAndTextTuples:
- result: StyleAndTextTuples = []
- for token, text in self.token_list:
- result.append(("class:" + pygments_token_to_classname(token), text))
- return result
|