Afeitando yaks: 16/2/2010
Hace un tiempo escribí acerca de como implementé un resaltador de sintaxis generalizado para PyQt usando pygments.
Recibí un pedido de un feature similar en Marave, así que desenterré ese código y... no sirve para nada. Es demasiado lento para un uso razonable.
Entonces a este yak ya le creció de nuevo todo el pelo, y ¡justo tengo este par de tijeras nuevas!
La meta es lograr resaltar sintaxis en un QPlainTextEdit de forma que:
No requiera programar para añadir un nuevo resaltador.
No requiera programar para añadir un esquema de colores.
No requiera que me pase el 2010 escribiendo resaltadores para lenguajes existentes.
Sea suficientemente rápido
Una búsqueda rápida en google muestra que para C++ se puede usar Source highlight qt que está basado en GNU source highlight.
Obviamente, no hay binding python que yo vea, así que... ¡me escribí uno!
Acá está: http://marave.googlecode.com/svn/trunk/marave/highlight/
Y ésta es una captura del programa de demo corriendo, mostrandose a sí mismo entero:
Se puede crear un esquema de colores usando CSS, un lenguaje se define con un archivo de texto, hay una pila ya hechos, y parece lo bastante rápido.
Entonces declaro a este yak afeitado, y otro feature (no terminado!) para Marave