docs: def main(self):
          """Main beautifying function."""
          error = False
          parser = argparse.ArgumentParser(
              description="A Bash beautifier for the masses, version {}".format(self.get_version()), add_help=False)
          parser.add_argument('--indent-size', '-i', nargs=1, type=int, default=4,
                              help="Sets the number of spaces to be used in "
                                   "indentation.")
          parser.add_argument('--files', '-f', nargs='*',
                              help="Files to be beautified. This is mandatory. "
                              "If - is provided as filename, then beautysh reads "
                              "from stdin and writes on stdout.")
          parser.add_argument('--backup', '-b', action='store_true',
                              help="Beautysh will create a backup file in the "
                                   "same path as the original.")
          parser.add_argument('--check', '-c', action='store_true',
                              help="Beautysh will just check the files without doing "
                                   "any in-place beautify.")
          parser.add_argument('--tab', '-t', action='store_true',
                              help="Sets indentation to tabs instead of spaces.")
          parser.add_argument('--force-function-style', '-s', nargs=1,
                              help="Force a specific Bash function formatting. See below for more info.")
          parser.add_argument('--version', '-v', action='store_true',
                              help="Prints the version and exits.")
          parser.add_argument('--help', '-h', action='store_true',
                              help="Print this help message.")
          args = parser.parse_args()
          if (len(sys.argv) < 2) or args.help:
              self.print_help(parser)
              exit()
          if args.version:
              sys.stdout.write("%s\n" % self.get_version())
              exit()
          if(type(args.indent_size) is list):
              args.indent_size = args.indent_size[0]
          if not args.files:
              sys.stdout.write("Please provide at least one input file\n")
              exit()
          self.tab_size = args.indent_size
          self.backup = args.backup
          self.check_only = args.check
          if (args.tab):
              self.tab_size = 1
              self.tab_str = '\t'
          if (type(args.force_function_style) is list):
              provided_style = self.parse_function_style(args.force_function_style[0])
              if provided_style is None:
                  sys.stdout.write("Invalid value for the function style. See --help for details.\n")
                  exit()
              self.apply_function_style = provided_style
          for path in args.files:
              error |= self.beautify_file(path)
          sys.exit((0, 1)[error])