       (when (looking-at "[A-Za-z][A-Za-z0-9]*:") ;indent for colon
         (let ((parse-sexp-ignore-comments t))
           (beginning-of-line)
-          (slate-backward-whitespace)
+          (slate-forward-whitespace)
           (unless (memq (preceding-char) '(?. ?| ?\[ ?\( ?\{))
             (setq is-keyword t)))))
       (setq indent-amount (slate-calculate-indent))

                                        slate-indent-increment)))))))
    (save-excursion
      (save-restriction
      (widen)
      (beginning-of-line)
      (skip-chars-forward " \t")
      (when (memq (following-char) '(?\} ?\) ?\]))
        (setq indent-amount (max 0 (- indent-amount slate-indent-increment))))
      (while (memq (following-char) '(?\} ?\) ?\]))
        (setq indent-amount (max 0 (- indent-amount slate-indent-increment)))
        (forward-char))))
    (when (memq indent-amount '(1 3)) (setq indent-amount 2))
    indent-amount))

(defun slate-indent-line ()

        (goto-char paren-addr)
        (setq c (following-char))
        (when (memq c '(?\( ?\{ ?\[))
          (setq start (if (> (point) 2) (1+ (point)) 0))))
      (narrow-to-region start (point)))))

(defun slate-at-method-begin ()
