docs: def dump_autogen_code(fpath, autogen_text, codetype='python', fullprint=None,
                        show_diff=None, dowrite=None):
      """
      Helper that write a file if -w is given on command line, otherwise
      it just prints it out. It has the opption of comparing a diff to the file.
      """
      import utool as ut
      if dowrite is None:
          dowrite = ut.get_argflag(('-w', '--write'))
      if show_diff is None:
          show_diff = ut.get_argflag('--diff')
      num_context_lines = ut.get_argval('--diff', type_=int, default=None)
      show_diff = show_diff or num_context_lines is not None
  
      num_context_lines = ut.get_argval('--diff', type_=int, default=None)
  
      if fullprint is None:
          fullprint = True
  
      if fullprint is False:
          fullprint = ut.get_argflag('--print')
  
      print('[autogen] Autogenerated %s...\n+---\n' % (fpath,))
      if not dowrite:
          if fullprint:
              ut.print_code(autogen_text, lexer_name=codetype)
              print('\nL___')
          else:
              print('specify --print to write to stdout')
              pass
          print('specify -w to write, or --diff to compare')
          print('...would write to: %s' % fpath)
      if show_diff:
          if ut.checkpath(fpath, verbose=True):
              prev_text = ut.read_from(fpath)
              textdiff = ut.get_textdiff(prev_text, autogen_text,
                                         num_context_lines=num_context_lines)
              try:
                  ut.print_difftext(textdiff)
              except UnicodeDecodeError:
                  import unicodedata
                  textdiff = unicodedata.normalize('NFKD', textdiff).encode('ascii', 'ignore')
                  ut.print_difftext(textdiff)
  
          if dowrite:
              print('WARNING: Not writing. Remove --diff from command line')
      elif dowrite:
          ut.write_to(fpath, autogen_text)