   (let ((table (make-syntax-table)))
     (modify-syntax-entry ?\" "\"" table)
     (modify-syntax-entry ?\' "\"" table)
+    (modify-syntax-entry ?_ "w" table)
     table)
   "Syntax table for `jade-mode'.")
 

    ;; remove highlighting from lines opening with a pipe `|'
    ;; e.g. | keywords like for should not be highlighted here
    ;;      | I'm not supposed to highlight single quotes either
    (,(concat "^\\s-*"
              "\\("
              "|"
              ".*"
              "\\)") 1 nil t)

    ;; we abuse font-lock a bit here; these functions inject js-mode
    ;; highlighting under the guise of matching text for more standard

  "Search for a tag declaration (up to LIMIT) which contains a paren
block, then highlight the region between the parentheses as
javascript."
  (when (re-search-forward (concat "^[ \t]*" jade-tag-declaration-char-re "+" "(") limit t)
    (forward-char -1)
    (let ((start (point))
          (end (progn
                   (forward-sexp)
                   (1- (point)))))
          (jade-fontify-region-as-js start end))

      ;; return some empty match data to appease the font-lock gods
      (looking-at "\\(\\)")))

(defun jade-highlight-js-after-tag (limit)
  "Search for a valid js block, then highlight its contents with js-mode syntax highlighting"
