realitisoft's picture
Upload folder using huggingface_hub
c7e8396 verified
raw
history blame contribute delete
780 Bytes
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