   ###
 
   uglifyOutput : (output) ->
-  	ast = jsp.parse output  # parse code and get the initial AST
-  	ast = pro.ast_mangle ast # get a new AST with mangled names
-  	ast = pro.ast_squeeze ast # get an AST with compression optimizations
-  	pro.gen_code ast # compressed code here
+    ast = jsp.parse output  # parse code and get the initial AST
+    ast = pro.ast_mangle ast # get a new AST with mangled names
+    ast = pro.ast_squeeze ast # get an AST with compression optimizations
+    pro.gen_code ast # compressed code here
 
 ###
 ---Module exports---

###

module.exports.precompile = (settings,dir) ->
	extend(globalSettings, settings)
	globalSettings.dir = dir
	
	# Asynchronously run compilers at same time
	async.forEach settings.groups, (groupSetting, callback) ->
	  precompiler = new Precompiler(groupSetting, callback)
	  precompiler.compile()
	, (err, res) ->
    if err? then console.log err
    else console.log "\n\n\n...Done.\n\n"
    


settings: 
  "uglify": Boolean(default:false), whether to minify JS
  "namespace": String(Required), namespace object when including templates to browser
  "source": String(Required), relative path to source directory
  "output": String, relative path to output directory
  "templates": Array(Required), names of templates to be precompiled
  "compileDebug": Boolean(default: false), whether to compile Jade debugging
  "inline": Boolean(default: false), whether to inline Jade runtime functions

