Commit d65b634d authored by Guido van Rossum's avatar Guido van Rossum

Super-elegant patch by Tim Peters that speeds up colorization

dramatically (up to 15 times he claims).  Works by reading more than
one line at a time, up to 100-line chunks (starting with one line and
then doubling up to the limit).  On a typical machine (e.g. Tim's
P5-166) this doesn't reduce interactive responsiveness in a noticeable
way.
parent f63a3993
......@@ -180,9 +180,12 @@ class ColorDelegator(Delegator):
chars = ""
mark = head
lines_to_get = 1
is_ok = was_ok = 0
while not (was_ok and is_ok):
next = self.index(mark + " lineend +1c")
next = self.index(mark + "+%d lines linestart" %
lines_to_get)
lines_to_get = min(lines_to_get * 2, 100)
was_ok = "SYNC" in self.tag_names(next + "-1c")
line = self.get(mark, next)
##print head, "get", mark, next, "->", `line`
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment