def __init__(self, parent=None): super().__init__(parent) self.initializeFormats() PythonHighlighter.Rules.append((QRegExp("|".join( [r"\b%s\b" % keyword for keyword in self.KEYWORDS])), "keyword")) PythonHighlighter.Rules.append((QRegExp("|".join( [r"\b%s\b" % builtin for builtin in self.BUILTINS])), "builtin")) PythonHighlighter.Rules.append((QRegExp("|".join([ r"\b%s\b" % constant for constant in self.CONSTANTS ])), "constant")) PythonHighlighter.Rules.append( (QRegExp(r"\b[+-]?[0-9]+[lL]?\b" r"|\b[+-]?0[xX][0-9A-Fa-f]+[lL]?\b" r"|\b[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\b"), "number")) PythonHighlighter.Rules.append( (QRegExp(r"\bPyQt5\b|\bQt?[A-Z][a-z]\w+\b"), "pyqt")) PythonHighlighter.Rules.append((QRegExp(r"\b@\w+\b"), "decorator")) stringRe = QRegExp(r"""(?:'[^']*'|"[^"]*")""") stringRe.setMinimal(True) PythonHighlighter.Rules.append((stringRe, "string")) self.stringRe = QRegExp(r"""(:?"["]".*"["]"|'''.*''')""") self.stringRe.setMinimal(True) PythonHighlighter.Rules.append((self.stringRe, "string")) self.tripleSingleRe = QRegExp(r"""'''(?!")""") self.tripleDoubleRe = QRegExp(r'''"""(?!')''')
def __init__(self, parent=None, builtin_functions=None): super(TemplateHighlighter, self).__init__(parent) self.initializeFormats() TemplateHighlighter.Rules.append((QRegExp( "|".join([r"\b%s\b" % keyword for keyword in self.KEYWORDS])), "keyword")) TemplateHighlighter.Rules.append((QRegExp( "|".join([r"\b%s\b" % builtin for builtin in (builtin_functions if builtin_functions else formatter_functions().get_builtins())])), "builtin")) TemplateHighlighter.Rules.append((QRegExp( r"\b[+-]?[0-9]+[lL]?\b" r"|\b[+-]?0[xX][0-9A-Fa-f]+[lL]?\b" r"|\b[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\b"), "number")) stringRe = QRegExp(r"""(?:[^:]'[^']*'|"[^"]*")""") stringRe.setMinimal(True) TemplateHighlighter.Rules.append((stringRe, "string")) lparenRe = QRegExp(r'\(') lparenRe.setMinimal(True) TemplateHighlighter.Rules.append((lparenRe, "lparen")) rparenRe = QRegExp(r'\)') rparenRe.setMinimal(True) TemplateHighlighter.Rules.append((rparenRe, "rparen")) self.regenerate_paren_positions() self.highlighted_paren = False