cpython: a48cc85e5706 (original) (raw)
--- a/Lib/idlelib/colorizer.py +++ b/Lib/idlelib/colorizer.py @@ -21,7 +21,8 @@ def make_pat(): # 1st 'file' colorized normal, 2nd as builtin, 3rd as string builtin = r"([^.'"\#]\b|^)" + any("BUILTIN", builtinlist) + r"\b" comment = any("COMMENT", [r"#[^\n]*"])
- stringprefix = (r"(\br|R|u|U|f|F|fr|Fr|fR|FR|rf|rF|Rf|RF"
sqstring = stringprefix + r"'[^'\\n](\.[^'\\n])'?" dqstring = stringprefix + r'"[^"\\n](\.[^"\\n])"?' sq3string = stringprefix + r"'''[^'\]((\.|'(?!''))[^'\])*(''')?" @@ -261,8 +262,14 @@ def _color_delegator(parent): # htest # top = Toplevel(parent) top.title("Test ColorDelegator") x, y = map(int, parent.geometry().split('+')[1:])"|b|B|br|Br|bR|BR|rb|rB|Rb|RB)?")[](#l1.9)
- top.geometry("200x100+%d+%d" % (x + 250, y + 175))
- source = "if somename: x = 'abc' # comment\nprint\n"
- top.geometry("600x200+%d+%d" % (x + 100, y + 175))
- source = ("# Following has syntax errors\n"
"if True: then int 1\nelif False: print 0\nelse: float(None)\n"[](#l1.21)
"#unicode and byte strings, valid prefixes should be colored\n"[](#l1.22)
"'x', '''x''', \"x\", \"\"\"x\"\"\"\n"[](#l1.23)
"r'x', u'x', R'x', U'x', f'x', F'x', ur'is invalid'\n"[](#l1.24)
"fr'x', Fr'x', fR'x', FR'x', rf'x', rF'x', Rf'x', RF'x'\n"[](#l1.25)
text = Text(top, background="white") text.pack(expand=1, fill="both") text.insert("insert", source)"b'x',B'x', br'x',Br'x',bR'x',BR'x', rb'x'.rB'x',Rb'x',RB'x'\n")[](#l1.26)