]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Patch by Tim Peters to speed up colorizing of big multiline strings.
authorGuido van Rossum <guido@python.org>
Wed, 21 Apr 1999 15:49:34 +0000 (15:49 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 21 Apr 1999 15:49:34 +0000 (15:49 +0000)
Tools/idle/ColorDelegator.py

index e04526a34725ff06efd3e7b7f8314ccee0ab3bb1..5b4da7cd3db21b77a8845dcd2fbcfc4b9949a6f8 100644 (file)
@@ -19,10 +19,10 @@ def any(name, list):
 def make_pat():
     kw = r"\b" + any("KEYWORD", keyword.kwlist) + r"\b"
     comment = any("COMMENT", [r"#[^\n]*"])
-    sqstring = r"(\b[rR])?'([^'\\\n]|\\.)*'?"
-    dqstring = r'(\b[rR])?"([^"\\\n]|\\.)*"?'
-    sq3string = r"(\b[rR])?'''([^'\\]|\\.|'(?!''))*(''')?"
-    dq3string = r'(\b[rR])?"""([^"\\]|\\.|"(?!""))*(""")?'
+    sqstring = r"(\b[rR])?'[^'\\\n]*(\\.[^'\\\n]*)*'?"
+    dqstring = r'(\b[rR])?"[^"\\\n]*(\\.[^"\\\n]*)*"?'
+    sq3string = r"(\b[rR])?'''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?"
+    dq3string = r'(\b[rR])?"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?'
     string = any("STRING", [sq3string, dq3string, sqstring, dqstring])
     return kw + "|" + comment + "|" + string + "|" + any("SYNC", [r"\n"])