   :group 'ioke-font-lock-faces)
 
 (defconst ioke-font-lock-regexp-face 'ioke-font-lock-regexp-face)
+(defconst ioke-font-lock-string-face 'font-lock-string-face)
+
+(defface ioke-font-lock-expression-face
+  '((((class grayscale) (background light)) (:foreground "DimGray"))
+    (((class grayscale) (background dark)) (:foreground "LightGray"))
+    (((class color) (background light)) (:foreground "dark goldenrod"))
+    (((class color) (background dark)) (:foreground "light goldenrod")))
+  "Font Lock mode face used to highlight expressions inside of texts."
+  :group 'ioke-font-lock-faces)
+
+(defconst ioke-font-lock-expression-face 'ioke-font-lock-expression-face)
 
 (defconst ioke-prototype-names '(
                                  "Base"


(defvar ioke-syntax-table
  (let ((st (make-syntax-table)))
    (modify-syntax-entry ?\; "<" st)
    (modify-syntax-entry ?? "w" st)
    (modify-syntax-entry ?! "w" st)
    (modify-syntax-entry ?: "w" st)
    (modify-syntax-entry ?, "." st)
    (modify-syntax-entry ?. "." st)
    (modify-syntax-entry ?\n ">" st)
    st)
  "ioke mode syntax table")

    '("\\([[:alnum:]!?_:-]+\\)[[:space:]]*=[^=][[:space:]]*[[:alnum:]_:-]+[[:space:]]+mimic" 1 ioke-font-lock-object-mimic-face)
    '("\\([[:alnum:]!?_:-]+\\)[[:space:]]*[+*/-]?=[^=]" 1 ioke-font-lock-object-assign-face)
    '("#/.*?/[oxpniums]*" 0 ioke-font-lock-regexp-face)
    '("#\\[" 0 ioke-font-lock-string-face t)
    '("\\([^\\\\]\\|\\\\\\\\\\)\\(#{[^}]*}\\)" 2 ioke-font-lock-expression-face t)
    `(,(regexp-opt ioke-prototype-names 'words) . ioke-font-lock-known-kind-face)
    `(,(regexp-opt ioke-standout-names 'words) . font-lock-warning-face)
    '("\\<[A-Z][[:alnum:]!?_:-]*\\>" 0 ioke-font-lock-kind-face)
    '("\\<[[:alnum:]!?_:-]*?:\\>" 0 ioke-font-lock-keyword-argument-face)
    '("\\<:[[:alnum:]!?_:-]*\\>" 0 ioke-font-lock-symbol-face)
    '("\\<:\"[[:alnum:]!?_:-]*\"" 0 ioke-font-lock-symbol-face t)
    '("\\<[[:digit:]_\\.eE]+\\>" 0 ioke-font-lock-number-face)
    `(,(regexp-opt ioke-operator-names 'words) . ioke-font-lock-operator-name-face)
    `(,(regexp-opt ioke-operator-symbols t) . ioke-font-lock-operator-symbol-face)
    `(,(regexp-opt ioke-special-names t) . ioke-font-lock-special-face)
