瀏覽代碼

fix: Re-add comments in code replacements

Hannah Ward 8 年之前
父節點
當前提交
8d9c114acd
共有 1 個文件被更改,包括 37 次插入28 次删除
  1. 37 28
      src/core/operations/Code.js

+ 37 - 28
src/core/operations/Code.js

@@ -225,15 +225,20 @@ const Code = {
             regexes.lastIndex = m.index;
             regexes.lastIndex = m.index;
         }
         }
 
 
-        // Create newlines after ;
-        code = code.replace(/;/g, ";\n")
-                   .replace(/{/g, "{\n")
-                   .replace(/}/g, "\n}\n")
-                   .replace(/\r/g, "")
-                   .replace(/^\s+/g, "")
-                   .replace(/\n\s+/g, "\n")
-                   .replace(/\s*$/g, "")
-                   .replace(/\n{/g, "{");
+        code = code
+                // Create newlines after ;
+                .replace(/;/g, ";\n")
+                // Create newlines after { and around }
+                .replace(/{/g, "{\n")
+                .replace(/}/g, "\n}\n")
+                // Remove carriage returns
+                .replace(/\r/g, "")
+                // Remove all indentation
+                .replace(/^\s+/g, "")
+                .replace(/\n\s+/g, "\n")
+                // Remove trailing spaces
+                .replace(/\s*$/g, "")
+                .replace(/\n{/g, "{");
 
 
         // Indent
         // Indent
         var i = 0,
         var i = 0,
@@ -256,25 +261,29 @@ const Code = {
             i++;
             i++;
         }
         }
 
 
-        // Add strategic spaces
-        code = code.replace(/\s*([!<>=+-/*]?)=\s*/g, " $1= ")
-                   .replace(/\s*<([=]?)\s*/g, " <$1 ")
-                   .replace(/\s*>([=]?)\s*/g, " >$1 ")
-                   .replace(/([^+])\+([^+=])/g, "$1 + $2")
-                   .replace(/([^-])-([^-=])/g, "$1 - $2")
-                   .replace(/([^*])\*([^*=])/g, "$1 * $2")
-                   .replace(/([^/])\/([^/=])/g, "$1 / $2")
-                   .replace(/\s*,\s*/g, ", ")
-                   .replace(/\s*{/g, " {")
-                   .replace(/}\n/g, "}\n\n")
-                   .replace(/(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)\s*\n([^{])/gim, "$1 ($2)\n    $3")
-                   .replace(/(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)([^{])/gim, "$1 ($2) $3")
-                   .replace(/else\s*\n([^{])/gim, "else\n    $1")
-                   .replace(/else\s+([^{])/gim, "else $1")
-                   .replace(/\s+;/g, ";")
-                   .replace(/\{\s+\}/g, "{}")
-                   .replace(/\[\s+\]/g, "[]")
-                   .replace(/}\s*(else|catch|except|finally|elif|elseif|else if)/gi, "} $1");
+        code = code
+                // Add strategic spaces
+                .replace(/\s*([!<>=+-/*]?)=\s*/g, " $1= ")
+                .replace(/\s*<([=]?)\s*/g, " <$1 ")
+                .replace(/\s*>([=]?)\s*/g, " >$1 ")
+                .replace(/([^+])\+([^+=])/g, "$1 + $2")
+                .replace(/([^-])-([^-=])/g, "$1 - $2")
+                .replace(/([^*])\*([^*=])/g, "$1 * $2")
+                .replace(/([^/])\/([^/=])/g, "$1 / $2")
+                .replace(/\s*,\s*/g, ", ")
+                .replace(/\s*{/g, " {")
+                .replace(/}\n/g, "}\n\n")
+                // I was told not to look at this.
+                // I looked anyhow. 
+                .replace(/(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)\s*\n([^{])/gim, "$1 ($2)\n    $3")
+                .replace(/(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)([^{])/gim, "$1 ($2) $3")
+                .replace(/else\s*\n([^{])/gim, "else\n    $1")
+                .replace(/else\s+([^{])/gim, "else $1")
+                // Remove strategic spaces
+                .replace(/\s+;/g, ";")
+                .replace(/\{\s+\}/g, "{}")
+                .replace(/\[\s+\]/g, "[]")
+                .replace(/}\s*(else|catch|except|finally|elif|elseif|else if)/gi, "} $1");
 
 
         // Replace preserved tokens
         // Replace preserved tokens
         var ptokens = /###preservedToken(\d+)###/g;
         var ptokens = /###preservedToken(\d+)###/g;