Adding syntax highlighting to our text editor

Let's recap a bit and plan our next action before diving back into our text editor application.

We know that in order to add syntax highlighting, we will need to change the color of certain words which are considered keywords within the Python programming language. In order to change their colors, we must apply a tag to the range at which they appear within the Text widget.

Tkinter's indexing system is now familiar to us. We know that the general syntax is line number, full stop, and character number, and some special strings also exists which reduce the need to use mathematical calculations upon those numbers. This means we know exactly how to format the ranges to add our tags to.

In order to locate each range, the search method can be used to locate matches of provided words giving us the beginning index of a range, and we can use a special string +nc to make finding the end even easier.

In order to find every instance of a keyword match, we have a simple loop structure which we can transfer to our main application and use to find every occurrence of a given word.

In order for a tag to do anything, it must be configured to change the styling properties of all words sharing that tag. We have practiced this a couple of times and know that the foreground argument can be used to change text color.

To avoid putting too much logic in our TextArea class, this logic can all be encapsulated into a new class, which we will call Highlighter, to keep our TextArea as neat as possible.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset