docs: def main(*arguments):
      """
      Performs a natural sort on entries given on the command-line.
  
      Arguments are read from sys.argv.
      """
  
      from argparse import ArgumentParser, RawDescriptionHelpFormatter
      from textwrap import dedent
  
      parser = ArgumentParser(
          description=dedent(main.__doc__), formatter_class=RawDescriptionHelpFormatter
      )
      parser.add_argument(
          "--version",
          action="version",
          version="%(prog)s {}".format(natsort.__version__),
      )
      parser.add_argument(
          "-p",
          "--paths",
          default=False,
          action="store_true",
          help="Interpret the input as file paths.  This is not "
          "strictly necessary to sort all file paths, but in cases "
          'where there are OS-generated file paths like "Folder/" '
          'and "Folder (1)/", this option is needed to make the '
          'paths sorted in the order you expect ("Folder/" before '
          '"Folder (1)/").',
      )
      parser.add_argument(
          "-f",
          "--filter",
          nargs=2,
          type=float,
          metavar=("LOW", "HIGH"),
          action="append",
          help="Used for keeping only the entries that have a number "
          "falling in the given range.",
      )
      parser.add_argument(
          "-F",
          "--reverse-filter",
          nargs=2,
          type=float,
          metavar=("LOW", "HIGH"),
          action="append",
          dest="reverse_filter",
          help="Used for excluding the entries that have a number "
          "falling in the given range.",
      )
      parser.add_argument(
          "-e",
          "--exclude",
          type=float,
          action="append",
          help="Used to exclude an entry that contains a specific number.",
      )
      parser.add_argument(
          "-r",
          "--reverse",
          action="store_true",
          default=False,
          help="Returns in reversed order.",
      )
      parser.add_argument(
          "-t",
          "--number-type",
          "--number_type",
          dest="number_type",
          choices=("int", "float", "real", "f", "i", "r"),
          default="int",
          help='Choose the type of number to search for. "float" will search '
          'for floating-point numbers.  "int" will only search for '
          'integers. "real" is a shortcut for "float" with --sign. '
          '"i" is a synonym for "int", "f" is a synonym for '
          '"float", and "r" is a synonym for "real".'
          "The default is %(default)s.",
      )
      parser.add_argument(
          "--nosign",
          default=False,
          action="store_false",
          dest="signed",
          help='Do not consider "+" or "-" as part of a number, i.e. do not '
          "take sign into consideration. This is the default.",
      )
      parser.add_argument(
          "-s",
          "--sign",
          default=False,
          action="store_true",
          dest="signed",
          help='Consider "+" or "-" as part of a number, i.e. '
          "take sign into consideration. The default is unsigned.",
      )
      parser.add_argument(
          "--noexp",
          default=True,
          action="store_false",
          dest="exp",
          help="Do not consider an exponential as part of a number, i.e. 1e4, "
          'would be considered as 1, "e", and 4, not as 10000.  This only '
          "effects the --number-type=float.",
      )
      parser.add_argument(
          "-l",
          "--locale",
          action="store_true",
          default=False,
          help="Causes natsort to use locale-aware sorting. You will get the "
          "best results if you install PyICU.",
      )
      parser.add_argument(
          "entries",
          nargs="*",
          default=sys.stdin,
          help="The entries to sort. Taken from stdin if nothing is given on "
          "the command line.",
      )
      args = parser.parse_args(arguments or None)
  
      # Make sure the filter range is given properly. Does nothing if no filter
      args.filter = check_filters(args.filter)
      args.reverse_filter = check_filters(args.reverse_filter)
  
      # Remove trailing whitespace from all the entries
      entries = [e.strip() for e in args.entries]
  
      # Sort by directory then by file within directory and print.
      sort_and_print_entries(entries, args)