On 30/05/2007 12:25, Steve Donovan wrote:
Yow, those are _source_ files?
It can be an XML file... I worked with very big SVG files, for example
(earth map).
Or a stupid C source file with lot of images in XPM format! :-P
As I understand, Scintilla was
never designed for really big files, it doesn't page intelligently.
Because code is never this big ;)
Rather because it seems very hard to intelligently colorize such files.
I believe that editors handling nicely very big files do this using memory
mapping of the source file, which, if I understood correctly, allows the
system load only a window to the current part of the file.
Actually, I don't know how they handle editing such file, unless it is for
read-only view.
memory mapping is rarely a good option though for an editor, which is
inherently a long living object (memory mapping is really good for 'big one
shot sparse file reading').
I would tend to say that syntax colouring could at least for some languages
have a notion of 'resynchronization' points, allowing to go anywhere in a
file, parse back until a synchronization point is found, then parsed ahead
up to end of the screen as usual.
those resynchronization points are location in a source file where you're
sure that you are in a given (default) state, a given lexer knows how to
find those points if any.
then the styling mechanism would have to allow 'holes' in styling in some
manner.
Armel
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest