Buenas a todos,

Hace días que me ronda por la cabeza crear una función para el resaltado de texto en lenguaje PHP, el control 'editor' permite crear un tipo de resaltado 'custom', ok,
si bien tras realizar algunas pruebas he conseguido resaltar algunas cosas tengo problemas para conseguir un buen resaltado en este lenguaje.

El estado del resaltado se guarda en Highlight.State, que es un entero, pero a mi me gustaría guardar varios flags de estado, por ejemplo en un collection

estado["en_php"] = false
estado["en_comentario"] = true
estado["entre_comillas"] = true
estado["entre parentesis"] = true

Así por ejemplo podría hacer que se coloreara diferente una $variable, pero solo si estamos dentro de codigo PHP y no estamos dentro de un comentario y no estamos entre comillas.
Supongo que se entiende la idea.

El caso es que Highlight usa eso para guardar el estado, un entero, y no un collection, con el Integer me quedo corto ya que necesito guardar y mantener mas datos mientras se va aplicando el highlight.

Quizás por mi falta de experiencia en gambas no tengo muy claro como enfocar este problema. No se si podría crear una 'copia' del componente editor pero que implementara otra variable parecida a State que fuese un collection o si tendría que crear por ahí otro collection y usar State para apuntar a el, o como demonios enfocar esto para que no sea código feo y incomprensible.

Alguien tiene alguna idea?
Gracias por adelantado.