From c2ced47f1385f2b7ede5b266917e7bc3bf4c2dad Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 19 Apr 2016 02:41:34 -0400 Subject: [PATCH] js: use define-project-type; add jsx-mode --- Cask | 1 + modules/module-js.el | 23 +++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Cask b/Cask index 6a9a88294..792bc89a2 100644 --- a/Cask +++ b/Cask @@ -163,6 +163,7 @@ ;; JS -- modules/module-js.el (depends-on "js2-mode") (depends-on "js2-refactor") +(depends-on "jsx-mode") (depends-on "tern") (depends-on "unityjs-mode" :git "https://github.com/naruse/EmacsUnityScript") (depends-on "coffee-mode") diff --git a/modules/module-js.el b/modules/module-js.el index 80b96ccdf..378e646c5 100644 --- a/modules/module-js.el +++ b/modules/module-js.el @@ -83,9 +83,7 @@ (forward-slurp "forward slurp" nil) (forward-barf "forward barf" nil))))) -(use-package nodejs-repl - :commands (nodejs-repl) - :config (evil-set-initial-state 'nodejs-repl-mode 'emacs)) +(use-package jsx-mode :mode "\\.jsx$") (use-package unityjs-mode :mode "/Assets/.*\\.js$" @@ -95,20 +93,29 @@ :mode "\\.coffee$" :config (setq-default coffee-indent-like-python-mode t)) +(use-package nodejs-repl + :commands (nodejs-repl) + :config (evil-set-initial-state 'nodejs-repl-mode 'emacs)) + ;; (define-project-type! nodejs "node" - :modes (js2-mode) + :modes (web-mode js-mode js2-mode json-mode coffee-mode scss-mode sass-mode less-css-mode) :files ("package.json")) +(define-project-type! angularjs "angular" + :modes (web-mode js-mode js2-mode json-mode coffee-mode scss-mode sass-mode less-css-mode) + :files ("public/libraries/angular/")) (define-project-type! electron "electron" - :modes (web-mode js-mode js2-mode markdown-mode json-mode coffee-mode scss-mode sass-mode) - :files ("package.json" "app/index.html" "app/main.js")) + :modes (nodejs-project-mode) + :files ("app/index.html" "app/main.js")) ;; TODO electron-compile support -;; TODO angular +(define-project-type! expressjs "express" + :modes (nodejs-project-mode) + :files ("node_modules/express/")) + ;; TODO react -;; TODO express (provide 'module-js) ;;; module-js.el ends here