diff --git a/modules/prelude-js.el b/modules/prelude-js.el index 3a52794..bc53321 100644 --- a/modules/prelude-js.el +++ b/modules/prelude-js.el @@ -32,17 +32,26 @@ ;;; Code: +(prelude-require-package 'js2-mode) (require 'prelude-programming) -(eval-after-load 'js-mode +(require 'js2-mode) + +(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) +(add-to-list 'auto-mode-alist '("\\.pac\\'" . js2-mode)) +(add-to-list 'interpreter-mode-alist '("node" . js2-mode)) + +(eval-after-load 'js2-mode '(progn (defun prelude-js-mode-defaults () ;; electric-layout-mode doesn't play nice with smartparens - (setq-local electric-layout-rules '((?\; . after)))) + (setq-local electric-layout-rules '((?\; . after))) + (setq mode-name "JS2") + (js2-imenu-extras-mode +1)) (setq prelude-js-mode-hook 'prelude-js-mode-defaults) - (add-hook 'js-mode-hook (lambda () (run-hooks 'prelude-js-mode-hook))))) + (add-hook 'js2-mode-hook (lambda () (run-hooks 'prelude-js-mode-hook))))) (provide 'prelude-js)