Web Inspector: PrettyPrinting regression on "var a=1"
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jun 2014 00:28:51 +0000 (00:28 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jun 2014 00:28:51 +0000 (00:28 +0000)
https://bugs.webkit.org/show_bug.cgi?id=134001

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-06-17
Reviewed by Timothy Hatcher.

Previously operators did not get a token type. After a CodeMirror
update they now have a token type of "operator".

* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* UserInterface/Views/CodeMirrorFormatters.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/Tools/PrettyPrinting/CodeMirrorFormatters.js
Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js

index 45e96cd2310e2626a73142a4879ab7bf750a3d11..771367f42ff29ba93505adbf6bf403f90c54b70c 100644 (file)
@@ -1,3 +1,16 @@
+2014-06-17  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: PrettyPrinting regression on "var a=1"
+        https://bugs.webkit.org/show_bug.cgi?id=134001
+
+        Reviewed by Timothy Hatcher.
+
+        Previously operators did not get a token type. After a CodeMirror
+        update they now have a token type of "operator".
+
+        * Tools/PrettyPrinting/CodeMirrorFormatters.js:
+        * UserInterface/Views/CodeMirrorFormatters.js:
+
 2014-06-17  Jono Wells  <jonowells@apple.com>
 
         Web Inspector: Two lines in CSS rule are hidden until resize or click
index 296d0e7e54906265631331deabf0fad92ed4a7b9..a4075d40adfdd8edf0a7f1db5b76b4d16bc19002 100644 (file)
@@ -35,14 +35,18 @@ CodeMirror.extendMode("javascript", {
                 return lastToken && /\bkeyword\b/.test(lastToken) && (lastContent !== "function" && lastContent !== "typeof" && lastContent !== "instanceof");
             if (content === ":") // Ternary.
                 return (state.lexical.type === "stat" || state.lexical.type === ")");
-            if (content === "!") // Unary ! should not be confused with "!=".
-                return false;
-            return "+-/*&&||!===+=-=>=<=?".indexOf(content) >= 0; // Operators.
+            return false;
         }
 
         if (isComment)
             return true;
 
+        if (/\boperator\b/.test(token)) {
+            if (content === "!") // Unary ! should not be confused with "!=".
+                return false;
+            return "+-/*&&||!===+=-=>=<=?".indexOf(content) >= 0; // Operators.
+        }
+
         if (/\bkeyword\b/.test(token)) { // Most keywords require spaces before them, unless a '}' can come before it.
             if (content === "else" || content === "catch" || content === "finally")
                 return lastContent === "}";
index 296d0e7e54906265631331deabf0fad92ed4a7b9..a4075d40adfdd8edf0a7f1db5b76b4d16bc19002 100644 (file)
@@ -35,14 +35,18 @@ CodeMirror.extendMode("javascript", {
                 return lastToken && /\bkeyword\b/.test(lastToken) && (lastContent !== "function" && lastContent !== "typeof" && lastContent !== "instanceof");
             if (content === ":") // Ternary.
                 return (state.lexical.type === "stat" || state.lexical.type === ")");
-            if (content === "!") // Unary ! should not be confused with "!=".
-                return false;
-            return "+-/*&&||!===+=-=>=<=?".indexOf(content) >= 0; // Operators.
+            return false;
         }
 
         if (isComment)
             return true;
 
+        if (/\boperator\b/.test(token)) {
+            if (content === "!") // Unary ! should not be confused with "!=".
+                return false;
+            return "+-/*&&||!===+=-=>=<=?".indexOf(content) >= 0; // Operators.
+        }
+
         if (/\bkeyword\b/.test(token)) { // Most keywords require spaces before them, unless a '}' can come before it.
             if (content === "else" || content === "catch" || content === "finally")
                 return lastContent === "}";