   "Insert newline and indent to parent's indentation level."
   (interactive)
   (newline)
-  (indent-line-to (max (jade-previous-line-indentation) 0))
-  )
+  (indent-line-to (max (jade-previous-line-indentation) 0)))
+
+(defun jade-fontify-region-as-js (beg end)
+  "Fontify a region between BEG and END using js-mode fontification.
+Inspired by (read: stolen from) from `haml-mode'. Note the clever use
+of `narrow-to-region' by the author of `haml-mode' to keep syntactic
+highlighting (maybe other things too?) from looking beyond the
+region defined by BEG and END."
+  (save-excursion
+    (save-match-data
+      (let ((font-lock-keywords js--font-lock-keywords-3)
+            (font-lock-syntax-table js-mode-syntax-table)
+            (font-lock-syntactic-keywords nil)
+            (syntax-propertize-function nil)
+            (font-lock-multiline 'undecided)
+            (font-lock-dont-widen t)
+            font-lock-keywords-only
+            font-lock-extend-region-functions
+            font-lock-keywords-case-fold-search)
+        (when (and (fboundp 'js--update-quick-match-re) (null js--quick-match-re-func))
+          (js--update-quick-match-re))
+        (save-restriction
+          (narrow-to-region beg end)
+          (font-lock-fontify-region beg end))))))
 
 (defvar jade-mode-map (make-sparse-keymap))
 

(defun jade-unindent-region (start end)
  "Unindent active region by `jade-tab-width'.
Follows indentation behavior of `indent-rigidly'."

  (interactive "r")
  (let (deactivate-mark)
    (indent-rigidly start end (- jade-tab-width))))

;;; Author: Brian M. Carlson and other contributors
;;; inspired by http://xahlee.org/emacs/elisp_syntax_coloring.html
(require 'font-lock)
(require 'js)

(defun jade-debug (string &rest args)
  "Prints a debug message"
