 (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))))

              "\\("
              "|"
              ".*"
              "\\)") 1 nil t)))

;; syntax table
(defvar jade-syntax-table
  (let ((syn-table (make-syntax-table)))
    syn-table)
  "Syntax table for `jade-mode'.")

(defun jade-region-for-sexp ()

  "Insert newline and indent to parent's indentation level."
  (interactive)
  (newline)
  (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))

