Hi, Thus spoketh Nemes Andrei <teh_sh_meis...@yahoo.com> unto us on Sat, 21 May 2011 12:46:07 +0100 (BST):
> Hi! > I was wondering if there is any auto-tag function in Tkinter. I want to > make a simple syntax highlighter, and so far what I've done is bind a > function to Key event and build a string with the registered keys, > compare that to a list of special words and if they match, delete the > word from the text and replace it with a tagged version on the same > position. This did not work out very well because the key event and > handlers are fired off on key press, therefore before the character is > actually written in the text itself, resulting in the function deleting > everything before the last letter is printed in the text; this results > always in the last letter of the word remaining on screen (for example > "doctype" = "doctypee"). > > How can I fix this? > > > Is there a "KeyUp" event? You would probably need "<Any-KeyRelease>" . > > Better yet, is there a nicer way to do syntax highlighting? > Please advise. I would try to use some code from IDLE. If you run the demo from IDLE's ColorDelegator module you get a text widget that highlights python code. Depending on what exactly you want to achieve, it might be possible to change the keyword list and a few other things to customize it for your needs (I never tried this myself, though). Regards Michael .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. You can't evaluate a man by logic alone. -- McCoy, "I, Mudd", stardate 4513.3 _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss