code: def parse_args_exit(parser):
      
      args = parser.parse_args()
  
      if len(sys.argv) <= 1:
          parser.print_help()
          sys.exit(1)
  
      if args.v:
          parser.exit(0, "wal %s\n" % __version__)
  
      if args.preview:
          print("Current colorscheme:", sep='')
          colors.palette()
          sys.exit(0)
  
      if args.i and args.theme:
          parser.error("Conflicting arguments -i and -f.")
  
      if args.r:
          reload.colors()
          sys.exit(0)
  
      if args.c:
          scheme_dir = os.path.join(CACHE_DIR, "schemes")
          shutil.rmtree(scheme_dir, ignore_errors=True)
          sys.exit(0)
  
      if not args.i and \
         not args.theme and \
         not args.R and \
         not args.backend:
          parser.error("No input specified.\n"
                       "--backend, --theme, -i or -R are required.")
  
      if args.theme == "list_themes":
          theme.list_out()
          sys.exit(0)
  
      if args.backend == "list_backends":
          print("\n - ".join(["\033[1;32mBackends\033[0m:",
                              *colors.list_backends()]))
          sys.exit(0)
docs: Process args that exit.