[ TextArea ] Pintar texto seleccionado

Hola! saludos desde Argentina.
Mi pregunta es la siguiente

estoy escribiendo un editor de codigos usando un TextArea

es decir para que otros utilizen la aplicacion para editar sus codigos Javascript

estuve viendo las formas de pintar partes seleccionadas de texto

por ejemplo si alguien se le ocurre editar un codigo javascript en el textArea quede algo como esto:

por ejemplo “function” se pinta automaticamente en azul “if” tambien etc…

alguna idea de como lograr que se pinte automaticamente mientras se vaya escribiendo en el textarea?

Hola Sebastin,

SI quieres hacer algo como lo mostrado en la captura (es decir, del tipo del propio editor de Xojo), te recomiendo que utilices el plugin OpenSource TextInputCanvas publicado por Xojo. Tambin puedes encontrar proyectos que hacen uso de l (no muy mantenidos ltimamente), como es el caso del Custom-Editfield publicado por Tempelmann como OpenSource.

Sobre el “pintado” sobre la marcha de cdigo, no es algo simplefcil de resumir o contestar en un mensaje. Por ejemplo, eso es lo que hago en Snippery; pero ya te digo que no es trivial

Javier Rodrguez
Evangelista Xojo en Espaol, Desarrollador, Consultor y Formador Xojo
Autor del libro “Programacin Multiplataforma Xojo
Autor del plug-in GuancheMOS para Xojo
Snippery para OS X: editor y gestor de fragmentos y ms!

Si algo por el estilo pero algo mas simple, por ejemplo: remplazar todas las palabras “function” en color azul

creo que me explico

Si quieres que lo detecte y pinte “sobre la marcha”, tienes que empezar por capturar el evento KeyDown. A partir de ah, ya viene el algoritmo que quieras implementar, contemplando todos los posibles casos, como el reposicionamiento del cursor, insertar texto, borrar texto, etc.

Javier Rodrguez
Evangelista Xojo en Espaol, Desarrollador, Consultor y Formador Xojo
Autor del libro “Programacin Multiplataforma Xojo
Autor del plug-in GuancheMOS para Xojo
Snippery para OS X: editor y gestor de fragmentos y ms!

Usando una serie de filtros pude detectar las palabras y pintarlas automaticamente:

Muchas gracias por las sugerencias!