Mit der Komponente
TSynEdit ginge dein Vorhaben deutlich einfacher. Das bietet von Haus aus Highlighter für massig Programmiersprachen, hat Zeilennummerierung/-markierung, kann Code-/ und Autovervollständigung etc. pp.
Das selbst zu schreiben ist eine nette Übung, doch ich könnte mir vorstellen, dass es mit einem TRichEdit und vertretbarem Aufwand nie so gut funktioniert, wie man es gerne hätte.
Edit: Ob es noch weiterentwickelt wird, weiß ich nicht, aber ich war damit immer sehr zufrieden.
Edit 2: Ok "SynEdit is currently under development."