<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def highlight_text(self, text, start, end):
 """ Highlights given text. :param text: Text. :type text: QString :param start: Text start index. :type start: int :param end: Text end index. :type end: int :return: Method success. :rtype: bool """


        for rule in self.__rules:
            index = rule.pattern.indexIn(text, start)
            while index >= start and index < end:
                length = rule.pattern.matchedLength()
                format = self.formats.get_format(rule.name) or self.formats.get_format("default")
                self.setFormat(index, min(length, end - index), format)
                index = rule.pattern.indexIn(text, index + length)
        return True