Add define-project-type macro

This commit is contained in:
Henrik Lissner 2016-04-16 21:36:24 -04:00
parent dd3d51e750
commit 988f09365b
8 changed files with 142 additions and 128 deletions

View file

@ -4,10 +4,6 @@
:mode "\\.js$"
:interpreter "node"
:init
(use-package nodejs-repl
:commands (nodejs-repl)
:config (evil-set-initial-state 'nodejs-repl-mode 'emacs))
(define-repl! js2-mode nodejs-repl)
(define-docset! js2-mode "js,javascript,nodejs,angularjs,express,jquery,mongoose")
@ -87,17 +83,9 @@
(forward-slurp "forward slurp" nil)
(forward-barf "forward barf" nil)))))
(define-minor-mode nodejs-mode
:lighter " node" :keymap (make-sparse-keymap)
(add-yas-minor-mode! 'nodejs-mode))
(associate! nodejs-mode :files ("package.json") :in (js2-mode))
(define-minor-mode electron-mode
:lighter " electron" :keymap (make-sparse-keymap)
(add-yas-minor-mode! 'electron-mode))
(associate! electron-mode
:files ("package.json" "app/index.html" "app/main.js")
:in (web-mode js2-mode markdown-mode json-mode coffee-mode))
(use-package nodejs-repl
:commands (nodejs-repl)
:config (evil-set-initial-state 'nodejs-repl-mode 'emacs))
(use-package unityjs-mode
:mode "/Assets/.*\\.js$"
@ -107,5 +95,20 @@
:mode "\\.coffee$"
:config (setq-default coffee-indent-like-python-mode t))
;;
(define-project-type! nodejs "node"
:modes (js2-mode)
:files ("package.json"))
(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"))
;; TODO electron-compile support
;; TODO angular
;; TODO react
;; TODO express
(provide 'module-js)
;;; module-js.el ends here