Hola,
De entrada diré que la tarea me parece ardua: no sabría ni por donde empezar. Puede que te resultara útil echar un vistazo al libro
Dissecting a C# Application que trata sobre el desarrollo de la aplicación
SharpDevelop. Uno de los temas con los que tuvieron que lidiar fue con el que te ocupa y esto se trata en el libro mencionado.
Por otro lado tal vez podrías utilizar los componentes
SynEdit los cuales cuentan con un montón de sintaxis de lenguajes de programación soportados, y, cuando no te sean suficientes, puedes definir los que te sean menester más o menos sencillamanete. Con uno de los Add-On que hay publicado para los componentes se incluyen cientos de lenguajes de programación.
Si los pruebas, digo los componentes
SynEdit, a no ser que se te halla metido en la cabeza, como suele decirse, hacer algo por tu propia cuenta, estoy seguro de que te quedarás con ellos, pues son muy buenos, de código abierto, gratuitos y muy usados por no pocas aplicaciones, que fían de su potencialidad.