code: def term_color(code):
      
      def inner(text, rl=False):
          """
          Every raw_input with color sequences should be called with
          rl=True to avoid readline messed up the length calculation
          """
          c = code
          if rl:
              return "\001\033[38;5;%sm\002%s\001\033[0m\002" % (c, text)
          else:
              return "\033[38;5;%sm%s\033[0m" % (c, text)
      return inner
docs: 256 colors supported