old_contents: """
  Colorize internal cheat sheets.
  Will be merged with panela later.
  """
  
  import re
  
  from colorama import Fore, Back, Style
  import colored
  
  PALETTES = {
      0: {
          1: Fore.WHITE,
          2: Style.DIM,
      },
      1: {
          1: Fore.CYAN,
          2: Fore.GREEN,
          3: colored.fg('orange_3'),
          4: Style.DIM,
          5: Style.DIM,
      },
      2: {
          1: Fore.RED,
          2: Style.DIM,
      },
  }
  
  PALETTES_REVERSE = {
      0: {
          1: Back.WHITE + Fore.BLACK,
          2: Style.DIM,
      },
      1: {
          1: Back.CYAN + Fore.BLACK,
          2: Style.DIM,
      },
      2: {
          1: Back.RED + Fore.BLACK,
          2: Style.DIM,
      },
  }
  
  
  def colorize_internal(text, palette_number=1):
      """
      Colorize `text`, use `palette`
      """
  
      palette = PALETTES[palette_number]
      palette_reverse = PALETTES_REVERSE[palette_number]
  
      def _colorize_curlies_block(text):
  
          text = text.group()[1:-1]
          factor = 1
          if text.startswith('-'):
              text = text[1:]
              factor = -1
          stripped = text.lstrip('0123456789')
          color_number = int(text[:len(text)-len(stripped)])*factor
          if stripped.startswith('='):
              stripped = stripped[1:]
  
          reverse = False
          if color_number < 0:
              color_number = -color_number
              reverse = True
  
          if reverse:
              stripped = palette_reverse[color_number] + stripped + Style.RESET_ALL
          else:
              stripped = palette[color_number] + stripped + Style.RESET_ALL
  
          return stripped
  
      def _colorize_headers(text):
          if text.group(0).endswith('\n'):
              newline = '\n'
          else:
              newline = ''
  
          color_number = 3
          return palette[color_number] + text.group(0).strip() + Style.RESET_ALL + newline
  
      text = re.sub("{.*?}", _colorize_curlies_block, text)
      text = re.sub("#(.*?)\n", _colorize_headers, text)
      return text
  
new_contents: """
  Colorize internal cheat sheets.
  Will be merged with panela later.
  """
  
  import re
  
  from colorama import Fore, Back, Style
  import colored
  
  PALETTES = {
      0: {
          1: Fore.WHITE,
          2: Style.DIM,
      },
      1: {
          1: Fore.CYAN,
          2: Fore.GREEN,
          3: colored.fg('orange_3'),
          4: Style.DIM,
          5: Style.DIM,
      },
      2: {
          1: Fore.RED,
          2: Style.DIM,
      },
  }
  
  
  
  def _reverse_palette(code):
      return {
          1 : Fore.BLACK + _back_color(code),
          2 : Style.DIM
      } 
  
  def _back_color(code):
      if code == 0 or code.lower()=="white":
          return Back.WHITE
      if code == 1 or code.lower()=="cyan":
          return Back.WHITE
      if code == 2 or code.lower()=="red":
          return Back.WHITE
  
  def colorize_internal(text, palette_number=1):
      """
      Colorize `text`, use `palette`
      """
  
      palette = PALETTES[palette_number]
      palette_reverse = _reverse_palette(palette_number)
  
      def _colorize_curlies_block(text):
  
          text = text.group()[1:-1]
          factor = 1
          if text.startswith('-'):
              text = text[1:]
              factor = -1
          stripped = text.lstrip('0123456789')
          color_number = int(text[:len(text)-len(stripped)])*factor
          if stripped.startswith('='):
              stripped = stripped[1:]
  
          reverse = False
          if color_number < 0:
              color_number = -color_number
              reverse = True
  
          if reverse:
              stripped = palette_reverse[color_number] + stripped + Style.RESET_ALL
          else:
              stripped = palette[color_number] + stripped + Style.RESET_ALL
  
          return stripped
  
      def _colorize_headers(text):
          if text.group(0).endswith('\n'):
              newline = '\n'
          else:
              newline = ''
  
          color_number = 3
          return palette[color_number] + text.group(0).strip() + Style.RESET_ALL + newline
  
      text = re.sub("{.*?}", _colorize_curlies_block, text)
      text = re.sub("#(.*?)\n", _colorize_headers, text)
      return text
  
subject: refactor reverse palette for legibility and abstraction