docs: def long_form_one_format(jupytext_format, metadata=None, update=None):
      """Parse 'sfx.py:percent' into {'suffix':'sfx', 'extension':'py', 'format_name':'percent'}"""
      if isinstance(jupytext_format, dict):
          if update:
              jupytext_format.update(update)
          return validate_one_format(jupytext_format)
  
      if not jupytext_format:
          return {}
  
      common_name_to_ext = {'notebook': 'ipynb',
                            'rmarkdown': 'Rmd',
                            'markdown': 'md',
                            'c++': 'cpp'}
      if jupytext_format.lower() in common_name_to_ext:
          jupytext_format = common_name_to_ext[jupytext_format.lower()]
  
      fmt = {}
  
      if jupytext_format.rfind('/') > 0:
          fmt['prefix'], jupytext_format = jupytext_format.rsplit('/', 1)
  
      if jupytext_format.rfind(':') >= 0:
          ext, fmt['format_name'] = jupytext_format.rsplit(':', 1)
      else:
          ext = jupytext_format
  
      if ext.rfind('.') > 0:
          fmt['suffix'], ext = os.path.splitext(ext)
  
      if not ext.startswith('.'):
          ext = '.' + ext
  
      if ext == '.auto':
          ext = auto_ext_from_metadata(metadata) if metadata is not None else '.auto'
          if not ext:
              raise JupytextFormatError("No language information in this notebook. Please replace 'auto' with "
                                        "an actual script extension.")
  
      fmt['extension'] = ext
      if update:
          fmt.update(update)
      return validate_one_format(fmt)