mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Issue #29071: Use local flags for IDLE colorizer string prefix matcher.
Revised re by Serhiy Storchaka.
This commit is contained in:
parent
e465a9af8e
commit
0e10243d64
1 changed files with 4 additions and 4 deletions
|
@ -21,8 +21,7 @@ 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"
|
||||
"|b|B|br|Br|bR|BR|rb|rB|Rb|RB)?")
|
||||
stringprefix = r"(?i:\br|u|f|fr|rf|b|br|rb)?"
|
||||
sqstring = stringprefix + r"'[^'\\\n]*(\\.[^'\\\n]*)*'?"
|
||||
dqstring = stringprefix + r'"[^"\\\n]*(\\.[^"\\\n]*)*"?'
|
||||
sq3string = stringprefix + r"'''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?"
|
||||
|
@ -262,10 +261,11 @@ def _color_delegator(parent): # htest #
|
|||
top = Toplevel(parent)
|
||||
top.title("Test ColorDelegator")
|
||||
x, y = map(int, parent.geometry().split('+')[1:])
|
||||
top.geometry("600x200+%d+%d" % (x + 100, y + 175))
|
||||
top.geometry("700x250+%d+%d" % (x + 20, y + 175))
|
||||
source = ("# Following has syntax errors\n"
|
||||
"if True: then int 1\nelif False: print 0\nelse: float(None)\n"
|
||||
"#unicode and byte strings, valid prefixes should be colored\n"
|
||||
"if iF + If + IF: 'keywork matching must respect case'\n"
|
||||
"# All valid prefixes for unicode and byte strings should be colored\n"
|
||||
"'x', '''x''', \"x\", \"\"\"x\"\"\"\n"
|
||||
"r'x', u'x', R'x', U'x', f'x', F'x', ur'is invalid'\n"
|
||||
"fr'x', Fr'x', fR'x', FR'x', rf'x', rF'x', Rf'x', RF'x'\n"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue