JavaScript - великий язык. Вот как делается функция для создания текста с отступами:
function CreateStream() {var strmContent = []; // Whole contentfunction substream(strTabs) {function print(args) {for (var i=0; i strmContent.push(strTabs + args[i]);}}var res = function() {print(arguments);return res;}res.tab = function() {return substream(strTabs+"\t");}return res;}var res = substream("");res.saveAsString = function() {return strmContent.join("\r\n")}return res;}
и использование:
var stream = CreateStream();
stream("function a() {");
stream.tab()("// комментарии тут");
stream("}");
var res = stream. saveAsString();
Оч. удобно для кодогенерации и т.п.