Memo c подсветкой синтаксиса. Исходник 11 кБт !!!

Linux_64
Дата: 30.10.2019 01:46:56
Всем привет!
Выкладываю исходник своего компонента, основанного на TМемо.
Мне удалось реализовать подсветку синтаксиса, за исключением комментариев. Используется метод накладывания нового слова на старое с перерисовкой канвы. Имеется небольшое мерцание при перерисовке. Как можно подсветить комментарии?.
Хотя бы однострочные. SynEdit и RichEgit не предлагать. Есть идеи?
Linux_64
Дата: 30.10.2019 01:47:24
ёёёёё
Дата: 30.10.2019 07:31:51
какой глупый. :(
JayDi
Дата: 30.10.2019 08:48:05
Что будет, если туда загрузить текст в 100 МБ, 1 ГБ и 5 ГБ?
Linux_64
Дата: 30.10.2019 09:13:58
JaDi, Это прикол? Я не собираюсь загружать в него текст такого объема. Если ~3000 строк кода занимают ~150 кБт, то какие данные вы загружаете в свои Мемо? Вы там что весь том Войну и мир компилите?, неужели сложно добавить дополнительный модуль и часть текста разместить в него и не лепить горбатого в кучу? Подсвечиваться по-сути должно только видимое количество строк в редакторе. Если кто знает как можна избавиться от мерцания,- милости просим, можете доработать компонент. Но как быть с комментариями?
Была предпринята попытка при вводе символа // , выделить фон его канвы и весь последующий фон до конца строки, это сработало, но если его цвет не совпадал с цветом общего фона, то выглядит не очень красиво.
Василий 2
Дата: 30.10.2019 09:51:38
JaDi
Что будет, если туда загрузить текст в 100 МБ, 1 ГБ и 5 ГБ?

Ради справедливости, подсветку таких объемов никто не делает. Вот вообще никто. Да и с обычным редактированием подобного большие проблемы.
DimaBr
Дата: 30.10.2019 10:20:29
Картинка с другого сайта.
kealon(Ruslan)
Дата: 30.10.2019 10:21:26
Linux_64,
это что, не ваши исходники?
в NextWord добавить проверку комментария

а вообще, битое это дело, вы не сможете например побороть прорисовку "выделения текста"
Linux_64
Дата: 30.10.2019 10:36:23
DimaBr, хм... Вижу... Это баг, признаю. Сейчас подумаю, что с этим делать, возможно копировать выделенный текст в буфер , начиная со строки выделения, а не просто слова
kealon(Ruslan)
Дата: 30.10.2019 10:56:46
Linux_64
DimaBr, хм... Вижу... Это баг, признаю. Сейчас подумаю, что с этим делать, возможно копировать выделенный текст в буфер , начиная со строки выделения, а не просто слова

kealon(Ruslan)
а вообще, битое это дело, вы не сможете например побороть прорисовку "выделения текста"
он в обход вашего WM_PAINT рисует