2010/5/26 Mattias Gärtner :
>> line by line basis, but I doubt that is the best way of doing it,
>> because it will also produce problems with things like comment blocks.
>
> AFAIK they do. Because regex can not count nor save states, you need a state
> machine, which selects which set of regex to use.

I guess I will have to delve into the jEdit code, as that is extremely
fast no matter the file size. So clearly following there design should
yield very good results.


> Graeme, when you start implementing a highlighting machine, you might want
> to consider code folding too.

Umm, personally I hate code folding, but it might be useful to some.
The "rich edit/view" component I want to create will be used as a
programming editor, but I would also like it to be used as the
RichView component used in DocView. Docview's current "richview"
component is only a read-only component which supports Unicode text,
varying fonts, varying fonts on the same line, embedded images,
margins, varying text colors, hyper links etc... I would like to see
if I can implement all that and editing/syntax highlighting in a
single component, plus adding "elastic tabstops" support to boot.

A tall order, but so far a very interesting exercise.  I have already
learned a whole bunch of things I never knew about editors. :) For
example, the various designs for managing the buffer: Gap buffer,
linked lists,  Piece Chains, etc... pretty amazing stuff.


-- 
Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to