code: def process_args(self, args):
  		
  		shutit_global.shutit_global_object.yield_to_draw()
  		assert isinstance(args,ShutItInit), shutit_util.print_debug()
  
  		if args.action == 'version':
  			shutit_global.shutit_global_object.shutit_print('ShutIt version: ' + shutit.shutit_version)
  			shutit_global.shutit_global_object.handle_exit(exit_code=0)
  
  		# What are we asking shutit to do?
  		self.action['list_configs'] = args.action == 'list_configs'
  		self.action['list_modules'] = args.action == 'list_modules'
  		self.action['list_deps']    = args.action == 'list_deps'
  		self.action['skeleton']     = args.action == 'skeleton'
  		self.action['build']        = args.action == 'build'
  		self.action['run']          = args.action == 'run'
  
  		# Logging
  		if not self.logging_setup_done:
  			self.logfile  = args.logfile
  			self.loglevel = args.loglevel
  			if self.loglevel is None or self.loglevel == '':
  				self.loglevel = 'INFO'
  			self.setup_logging()
  		shutit_global.shutit_global_object.setup_panes(action=args.action)
  
  		# This mode is a bit special - it's the only one with different arguments
  		if self.action['skeleton']:
  			self.handle_skeleton(args)
  			shutit_global.shutit_global_object.handle_exit()
  		elif self.action['run']:
  			self.handle_run(args)
  			sys.exit(0)
  		elif self.action['build'] or self.action['list_configs'] or self.action['list_modules']:
  			self.handle_build(args)
  		else:
  			self.fail('Should not get here: action was: ' + str(self.action))
  		self.nocolor = args.nocolor
docs: Process the args we have. 'args' is always a ShutItInit object.