diff options
Diffstat (limited to 'mesonbuild/mlog.py')
-rw-r--r-- | mesonbuild/mlog.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py index a6aa2b5..20794df 100644 --- a/mesonbuild/mlog.py +++ b/mesonbuild/mlog.py @@ -136,6 +136,18 @@ class AnsiDecorator: def __str__(self) -> str: return self.get_text(colorize_console()) + +class AnsiText: + def __init__(self, *args: T.List[T.Union[str, AnsiDecorator]]): + self.args = args + + def __len__(self) -> int: + return sum((len(x) for x in self.args)) + + def __str__(self) -> str: + return ''.join((str(x) for x in self.args)) + + def bold(text: str, quoted: bool = False) -> AnsiDecorator: return AnsiDecorator(text, "\033[1m", quoted=quoted) |