   (setq mode-name "ParselTongue")
   (run-hooks 'psl-mode-hook))
 
+;;;###autoload
+(add-to-list 'auto-mode-alist '("\\.psl\\'" . psl-mode))
+
 (provide 'psl-mode)

             ((bobp) (setq cur-indent (current-indentation)))))))
      (indent-line-to (max 0 (or cur-indent 0))))))

(defun psl-mode ()
  (interactive)
  (kill-all-local-variables)
  (use-local-map psl-mode-map)

(defvar psl-mode-map (make-sparse-keymap)
  "Keymap for ParselTongue mode.")

(defvar psl--keywords '("deffun" "defvar" "in"))
(defvar psl--functions '("<" ">" "+" "-" "==" "print"))
(defvar psl--builtin '("for" "while" "lambda"))

(defconst psl-font-lock-keywords
  (list
   `(,(regexp-opt psl--keywords 'words) . font-lock-keyword-face)
   `(,(regexp-opt psl--functions 'words) . font-lock-function-name-face)
   `(,(regexp-opt psl--builtin 'words) . font-lock-builtin-face)
   '("\\('\\w*'\\)" . font-lock-variable-name-face))
  "Minimal highlighting expressions for ParselTongue mode.")

