Refactor syntax highlighting palette

Puts the palette into variables set by the app theme.

TODO: Refactor the app theme into app theme and syntax theme, but keep
the variable usage added in this change.

Change-Id: I4fe0789af3f7bbc1b8b0568f62bc58814a0d571d
diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html
index f45b2d3..c7b89c1 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html
@@ -25,7 +25,7 @@
 <link rel="import" href="../gr-diff-comment-thread/gr-diff-comment-thread.html">
 <link rel="import" href="../gr-diff-highlight/gr-diff-highlight.html">
 <link rel="import" href="../gr-diff-selection/gr-diff-selection.html">
-<link rel="import" href="../gr-syntax-themes/gr-theme-default.html">
+<link rel="import" href="../gr-syntax-themes/gr-syntax-theme.html">
 
 <script src="../../../scripts/hiddenscroll.js"></script>
 
@@ -257,7 +257,7 @@
         background-repeat: repeat-y;
       }
     </style>
-    <style include="gr-theme-default"></style>
+    <style include="gr-syntax-theme"></style>
     <div id="diffHeader" hidden$="[[_computeDiffHeaderHidden(_diffHeaderItems)]]">
       <template
           is="dom-repeat"
diff --git a/polygerrit-ui/app/elements/diff/gr-syntax-themes/gr-syntax-theme.html b/polygerrit-ui/app/elements/diff/gr-syntax-themes/gr-syntax-theme.html
new file mode 100644
index 0000000..3dfbf34
--- /dev/null
+++ b/polygerrit-ui/app/elements/diff/gr-syntax-themes/gr-syntax-theme.html
@@ -0,0 +1,104 @@
+<!--
+@license
+Copyright (C) 2016 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<dom-module id="gr-syntax-theme">
+  <template>
+    <style>
+      /**
+       * @overview Highlight.js emits the following classes that do not have
+       * styles here:
+       *    subst, symbol, class, function, doctag, meta-string, section, name,
+       *    builtin-name, bulletm, code, formula, quote, addition, deletion,
+       *    attribute
+       * @see {@link http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html}
+       */
+
+      .contentText {
+        color: var(--syntax-default-color);
+      }
+      .gr-syntax-meta {
+        color: var(--syntax-meta-color);
+      }
+      .gr-syntax-keyword {
+        color: var(--syntax-keyword-color);
+        line-height: 1;
+      }
+      .gr-syntax-number {
+        color: var(--syntax-number-color);
+      }
+      .gr-syntax-selector-class {
+        color: var(--syntax-selector-class-color);
+      }
+      .gr-syntax-variable {
+        color: var(--syntax-variable-color);
+      }
+      .gr-syntax-template-variable {
+        color: var(--syntax-template-variable-color);
+      }
+      .gr-syntax-comment {
+        color: var(--syntax-comment-color);
+      }
+      .gr-syntax-string {
+        color: var(--syntax-string-color);
+      }
+      .gr-syntax-selector-id {
+        color: var(--syntax-selector-id-color);
+      }
+      .gr-syntax-built_in {
+        color: var(--syntax-built_in-color);
+      }
+      .gr-syntax-tag {
+        color: var(--syntax-tag-color);
+      }
+      .gr-syntax-link {
+        color: var(--syntax-link-color);
+      }
+      .gr-syntax-meta-keyword {
+        color: var(--syntax-meta-keyword-color);
+      }
+      .gr-syntax-type {
+        color: var(--syntax-type-color);
+      }
+      .gr-syntax-title {
+        color: var(--syntax-title-color);
+      }
+      .gr-syntax-attr {
+        color: var(--syntax-attr-color);
+      }
+      .gr-syntax-literal { /* XML/HTML Attribute */
+        color: var(--syntax-literal-color);
+      }
+      .gr-syntax-selector-pseudo {
+        color: var(--syntax-selector-pseudo-color);
+      }
+      .gr-syntax-regexp {
+        color: var(--syntax-regexp-color);
+      }
+      .gr-syntax-selector-attr {
+        color: var(--syntax-selector-attr-color);
+      }
+      .gr-syntax-template-tag {
+        color: var(--syntax-template-tag-color);
+      }
+      .gr-syntax-emphasis {
+        font-style: italic;
+      }
+      .gr-syntax-strong {
+        font-weight: 700;
+      }
+    </style>
+  </template>
+</dom-module>
diff --git a/polygerrit-ui/app/elements/diff/gr-syntax-themes/gr-theme-default.html b/polygerrit-ui/app/elements/diff/gr-syntax-themes/gr-theme-default.html
deleted file mode 100644
index b6a84ad..0000000
--- a/polygerrit-ui/app/elements/diff/gr-syntax-themes/gr-theme-default.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!--
-@license
-Copyright (C) 2016 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<dom-module id="gr-theme-default">
-  <template>
-    <style>
-      /**
-       * @overview Highlight.js emits the following classes that do not have
-       * styles here:
-       *    subst, symbol, class, function, doctag, meta-string, section, name,
-       *    builtin-name, bulletm, code, formula, quote, addition, deletion,
-       *    attribute
-       * @see {@link http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html}
-       */
-
-      .gr-syntax-meta {
-         color: #FF1717;
-      }
-      .gr-syntax-keyword {
-        color: #9E0069;
-        line-height: 1;
-      }
-      .gr-syntax-number,
-      .gr-syntax-selector-class {
-        color: #164;
-      }
-      .gr-syntax-variable {
-        color: black;
-      }
-      .gr-syntax-template-variable {
-        color: #0000C0;
-      }
-      .gr-syntax-comment {
-        color: #3F7F5F;
-      }
-      .gr-syntax-string,
-      .gr-syntax-selector-id {
-        color: #2A00FF;
-      }
-      .gr-syntax-built_in {
-        color: #30a;
-      }
-      .gr-syntax-tag {
-        color: #170;
-      }
-      .gr-syntax-link,
-      .gr-syntax-meta-keyword {
-        color: #219;
-      }
-      .gr-syntax-type {
-        color: var(--color-link);
-      }
-      .gr-syntax-title {
-        color: #0000C0;
-      }
-      .gr-syntax-attr,
-      .gr-syntax-literal { /* XML/HTML Attribute */
-        color: #219;
-      }
-      .gr-syntax-selector-pseudo,
-      .gr-syntax-regexp,
-      .gr-syntax-selector-attr,
-      .gr-syntax-template-tag {
-        color: #FA8602;
-      }
-      .gr-syntax-emphasis {
-        font-style: italic;
-      }
-      .gr-syntax-strong {
-        font-weight: 700;
-      }
-    </style>
-  </template>
-</dom-module>
diff --git a/polygerrit-ui/app/styles/app-theme.html b/polygerrit-ui/app/styles/app-theme.html
index a9c449e..265705b 100644
--- a/polygerrit-ui/app/styles/app-theme.html
+++ b/polygerrit-ui/app/styles/app-theme.html
@@ -48,6 +48,29 @@
   --color-link-tertiary: #000;
   /* 12% darker */
   --color-button-hover: #0B47BA;
+
+  --syntax-default-color: var(--primary-text-color);
+  --syntax-meta-color: #FF1717;
+  --syntax-keyword-color: #9E0069;
+  --syntax-number-color: #164;
+  --syntax-selector-class-color: #164;
+  --syntax-variable-color: black;
+  --syntax-template-variable-color: #0000C0;
+  --syntax-comment-color: #3F7F5F;
+  --syntax-string-color: #2A00FF;
+  --syntax-selector-id-color: #2A00FF;
+  --syntax-built_in-color: #30a;
+  --syntax-tag-color: #170;
+  --syntax-link-color: #219;
+  --syntax-meta-keyword-color: #219;
+  --syntax-type-color: var(--color-link);
+  --syntax-title-color: #0000C0;
+  --syntax-attr-color: #219;
+  --syntax-literal-color: #219;
+  --syntax-selector-pseudo-color: #FA8602;
+  --syntax-regexp-color: #FA8602;
+  --syntax-selector-attr-color: #FA8602;
+  --syntax-template-tag-color: #FA8602;
 }
 @media screen and (max-width: 50em) {
   :root {