def _filler(self, char, amount):
        """
        Generate a line of characters in a more efficient way than just adding
        ANSIStrings.

        """
        if not isinstance(char, ANSIString):
            line = char * amount
            return ANSIString(
                char * amount, code_indexes=[], char_indexes=list(range(0, len(line))),
                clean_string=char)
        try:
            start = char._code_indexes[0]
        except __HOLE__:
            start = None
        end = char._char_indexes[0]
        prefix = char._raw_string[start:end]
        postfix = char._raw_string[end + 1:]
        line = char._clean_string * amount
        code_indexes = [i for i in range(0, len(prefix))]
        length = len(prefix) + len(line)
        code_indexes.extend([i for i in range(length, length + len(postfix))])
        char_indexes = self._shifter(range(0, len(line)), len(prefix))
        raw_string = prefix + line + postfix
        return ANSIString(
            raw_string, clean_string=line, char_indexes=char_indexes,
            code_indexes=code_indexes)
dataset/ETHPy150Open evennia/evennia/evennia/utils/ansi.py/ANSIString._filler