gh-113081: Highlight source code in pdb by gaogaotiantian · Pull Request #133355 · python/cpython

With #131507, we have some convenient interface to colorize a piece of code. We are so close to beta freeze so I'm not trying to achieve some full colorization on pdb. This PR introduces the most essential and simple piece - static source code. Basically it only colorizes source code display like ll, l, source, where and the initial stack entry display. I think the ROI is great here.

To make it safe for debuggers based on pdb, this uses the same mechanism as backend - default to False, and only enabled when pdb is explicitly brought up by breakpoint() or python -m pdb. The debuggers that inherit pdb won't be affected.

The double protection from if self.colorize is intentional - we don't know what could happen in the future so I used it for both _colorize_code and in the functions that call it.


📚 Documentation preview 📚: https://cpython-previews--133355.org.readthedocs.build/