[fpc-pascal]OT: Syntax Highlighting

James_Wilson at i2.com James_Wilson at i2.com
Thu Nov 8 14:28:44 CET 2001


Sorry for the off topic...

I have a text-mode file viewer that I wrote for Win32 and Go32. I'm trying 
 to add a new feature; syntax highlighting. I think it would be fairly 
unique to have a viewer that understands a languages syntax (I know any 
editor of even reasonable power has done this for years -- which I find to 
be totally indispensable now -- but I thought I could derive a similar 
benefit from a viewer that had the same ability).

Every implementation that I've coded thus far has either had some type of 
rendering problem and/or been horribly slow. The one I thought would have 
the most promise was loading a bunch of keywords in memory and then 
scanning each line of the display everytime a movement command 
(pgup/pgdn/arrows etc) was issued for words that matched the ones loaded 
in memory. But unfortunately pos() has proven to be way too slow for this, 
seeing as how the list of potential words to be highlighted could be a few 
hundred, so when I run the program on anything less then a screaming-fast 
PC it redraws the screen terribly slow and uneven. Sigh...

I've looked at shedit in the FCL, but I'm afraid I don't understand 
objects enough to be able to make much sense of the syntax highlighting 
code in their. So, my question is this; does anyone know of another method 
for syntax highlighting other then using pos() on each line? Is there a 
way to make pos() faster? Is there something better then pos() to check if 
a string resides within another string?

Any concepts on how to do this --  or even better, some example code -- 
would be greatly appreciated. TIA...

Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20011108/62db51d7/attachment.html>


More information about the fpc-pascal mailing list