It's no surprise that a common question on the Textual Discord
server is how to go about producing plots in
the terminal. A popular solution that has been suggested is
Plotext. While Plotext doesn't
directly support Textual, it is easy to use with
Rich
and, because of this, we wanted to make it just as easy to use in your
Textual applications.
TextArea is the latest widget to be added to Textual's growing collection.
It provides a multi-line space to edit text, and features optional syntax highlighting for a selection of languages.
Adding a TextArea to your Textual app is as simple as adding this to your compose method:
yieldTextArea()
Enabling syntax highlighting for a language is as simple as:
yieldTextArea(language="python")
Working on the TextArea widget for Textual taught me a lot about Python and my general
approach to software engineering. It gave me an appreciation for the subtle functionality behind
the editors we use on a daily basis — features we may not even notice, despite
some engineer spending hours perfecting it to provide a small boost to our development experience.
The Rich library has a few functions that are admittedly a little out of scope for a terminal color library. One such function is inspect which is so useful you may want to pip install rich just for this feature.
Tech moves pretty fast.
If you don’t stop and look around once in a while, you could miss it.
And yet some technology feels like it has been around forever.