code: def _rainbow_lines(
              self, text, freq=0.1, spread=3.0, offset=0, movefactor=0,
              rgb_mode=False, **colorargs):
          
          if not movefactor:
              def factor(i):
                  return offset
          else:
              # Increase the offset for each line.
              def factor(i):
                  return offset + (i * movefactor)
          return '\n'.join(
              self._rainbow_line(
                  line,
                  freq=freq,
                  spread=spread,
                  offset=factor(i),
                  rgb_mode=rgb_mode,
                  **colorargs)
              for i, line in enumerate(text.splitlines()))
docs: Create rainbow text, using the same offset for each line.
              Arguments:
                  text       : String to colorize.
                  freq       : Frequency/"tightness" of colors in the rainbow.
                               Best results when in the range 0.0-1.0.
                               Default: 0.1
                  spread     : Spread/width of colors.
                               Default: 3.0
                  offset     : Offset for start of rainbow.
                               Default: 0
                  movefactor : Factor for offset increase on each new line.
                               Default: 0
                  rgb_mode   : If truthy, use RGB escape codes instead of
                               extended 256 and approximate hex match.
  
              Keyword Arguments:
                  fore, back, style  : Other args for the color() function.