From 54ca0b001ec4f0909d024cc5c45517539b6a644b Mon Sep 17 00:00:00 2001 From: Abhishek Date: Mon, 9 Nov 2026 20:14:18 -0600 Subject: [PATCH 1/2] [Pygments] Accept byte input when lexing and highlighting --- stubs/Pygments/pygments/__init__.pyi | 6 +++--- stubs/Pygments/pygments/lexer.pyi | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/stubs/Pygments/pygments/__init__.pyi b/stubs/Pygments/pygments/__init__.pyi index d5fab4ab32db..2ca76dd7cda7 100644 --- a/stubs/Pygments/pygments/__init__.pyi +++ b/stubs/Pygments/pygments/__init__.pyi @@ -12,7 +12,7 @@ __version__: Final[str] __docformat__: Final = "restructuredtext" __all__ = ["lex", "format", "highlight"] -def lex(code: str, lexer: Lexer) -> Iterator[tuple[_TokenType, str]]: ... +def lex(code: str | bytes, lexer: Lexer) -> Iterator[tuple[_TokenType, str]]: ... @overload def format(tokens: Iterable[tuple[_TokenType, str]], formatter: Formatter[_T], outfile: SupportsWrite[_T]) -> None: ... @@ -20,6 +20,6 @@ def format(tokens: Iterable[tuple[_TokenType, str]], formatter: Formatter[_T], o def format(tokens: Iterable[tuple[_TokenType, str]], formatter: Formatter[_T], outfile: None = None) -> _T: ... @overload -def highlight(code: str, lexer: Lexer, formatter: Formatter[_T], outfile: SupportsWrite[_T]) -> None: ... +def highlight(code: str | bytes, lexer: Lexer, formatter: Formatter[_T], outfile: SupportsWrite[_T]) -> None: ... @overload -def highlight(code: str, lexer: Lexer, formatter: Formatter[_T], outfile: None = None) -> _T: ... +def highlight(code: str | bytes, lexer: Lexer, formatter: Formatter[_T], outfile: None = None) -> _T: ... diff --git a/stubs/Pygments/pygments/lexer.pyi b/stubs/Pygments/pygments/lexer.pyi index 124ba720f15e..54e2e9fa0eb8 100644 --- a/stubs/Pygments/pygments/lexer.pyi +++ b/stubs/Pygments/pygments/lexer.pyi @@ -47,7 +47,7 @@ class Lexer(metaclass=LexerMeta): def add_filter(self, filter_, **options) -> None: ... @staticmethod # @staticmethod added by special handling in metaclass def analyse_text(text: str) -> float: ... - def get_tokens(self, text: str, unfiltered: bool = False) -> Iterator[tuple[_TokenType, str]]: ... + def get_tokens(self, text: str | bytes, unfiltered: bool = False) -> Iterator[tuple[_TokenType, str]]: ... def get_tokens_unprocessed(self, text: str) -> Iterator[tuple[int, _TokenType, str]]: ... class DelegatingLexer(Lexer): From e45c290f45cb53875623e54384c8677bdb8b1d63 Mon Sep 17 00:00:00 2001 From: Abhishek Date: Tue, 10 Nov 2026 17:58:26 -0600 Subject: [PATCH 2/2] Accept bytearray input in Pygments public entry points --- stubs/Pygments/pygments/__init__.pyi | 6 +++--- stubs/Pygments/pygments/lexer.pyi | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/stubs/Pygments/pygments/__init__.pyi b/stubs/Pygments/pygments/__init__.pyi index 2ca76dd7cda7..a0038f4de43a 100644 --- a/stubs/Pygments/pygments/__init__.pyi +++ b/stubs/Pygments/pygments/__init__.pyi @@ -12,7 +12,7 @@ __version__: Final[str] __docformat__: Final = "restructuredtext" __all__ = ["lex", "format", "highlight"] -def lex(code: str | bytes, lexer: Lexer) -> Iterator[tuple[_TokenType, str]]: ... +def lex(code: str | bytes | bytearray, lexer: Lexer) -> Iterator[tuple[_TokenType, str]]: ... @overload def format(tokens: Iterable[tuple[_TokenType, str]], formatter: Formatter[_T], outfile: SupportsWrite[_T]) -> None: ... @@ -20,6 +20,6 @@ def format(tokens: Iterable[tuple[_TokenType, str]], formatter: Formatter[_T], o def format(tokens: Iterable[tuple[_TokenType, str]], formatter: Formatter[_T], outfile: None = None) -> _T: ... @overload -def highlight(code: str | bytes, lexer: Lexer, formatter: Formatter[_T], outfile: SupportsWrite[_T]) -> None: ... +def highlight(code: str | bytes | bytearray, lexer: Lexer, formatter: Formatter[_T], outfile: SupportsWrite[_T]) -> None: ... @overload -def highlight(code: str | bytes, lexer: Lexer, formatter: Formatter[_T], outfile: None = None) -> _T: ... +def highlight(code: str | bytes | bytearray, lexer: Lexer, formatter: Formatter[_T], outfile: None = None) -> _T: ... diff --git a/stubs/Pygments/pygments/lexer.pyi b/stubs/Pygments/pygments/lexer.pyi index 54e2e9fa0eb8..ecac143e5253 100644 --- a/stubs/Pygments/pygments/lexer.pyi +++ b/stubs/Pygments/pygments/lexer.pyi @@ -47,7 +47,7 @@ class Lexer(metaclass=LexerMeta): def add_filter(self, filter_, **options) -> None: ... @staticmethod # @staticmethod added by special handling in metaclass def analyse_text(text: str) -> float: ... - def get_tokens(self, text: str | bytes, unfiltered: bool = False) -> Iterator[tuple[_TokenType, str]]: ... + def get_tokens(self, text: str | bytes | bytearray, unfiltered: bool = False) -> Iterator[tuple[_TokenType, str]]: ... def get_tokens_unprocessed(self, text: str) -> Iterator[tuple[int, _TokenType, str]]: ... class DelegatingLexer(Lexer):