2015-06-15 09:06:10 +02:00
|
|
|
;;; module-js.el
|
|
|
|
|
|
|
|
(use-package js2-mode
|
|
|
|
:mode "\\.js$"
|
|
|
|
:interpreter "node"
|
|
|
|
:config
|
|
|
|
(setq-default
|
|
|
|
js2-skip-preprocessor-directives t
|
|
|
|
js2-show-parse-errors nil
|
|
|
|
js2-global-externs '("module" "require" "buster" "sinon" "assert"
|
|
|
|
"refute" "setTimeout" "clearTimeout"
|
|
|
|
"setInterval" "clearInterval" "location"
|
|
|
|
"__dirname" "console" "JSON" "jQuery" "$"
|
|
|
|
;; Launchbar API
|
|
|
|
"LaunchBar" "File" "Action" "HTTP" "include"))
|
|
|
|
|
|
|
|
(after! web-beautify
|
|
|
|
(add-hook! js2-mode (setenv "jsbeautify_indent_size" "4"))
|
|
|
|
(bind! :map js2-mode-map :m "gQ" 'web-beautify-js))
|
|
|
|
|
|
|
|
(after! emr (require 'js2-refactor))
|
|
|
|
|
|
|
|
;; [pedantry intensifies]
|
|
|
|
(defadvice js2-mode (after js2-mode-rename-modeline activate)
|
|
|
|
(setq mode-name "JS2")))
|
|
|
|
|
|
|
|
(use-package tern
|
|
|
|
:diminish (tern-mode . "tern")
|
|
|
|
:commands tern-mode
|
|
|
|
:init (add-hook! js2-mode 'tern-mode)
|
|
|
|
:config
|
|
|
|
(after! company
|
|
|
|
(require 'company-tern)
|
|
|
|
(add-company-backend! js2-mode (tern))))
|
|
|
|
|
|
|
|
(use-package unityjs-mode
|
2015-07-17 12:07:49 +02:00
|
|
|
:mode "/Assets/.*\\.js$"
|
2015-06-15 09:06:10 +02:00
|
|
|
:config
|
|
|
|
(add-hook! unityjs-mode
|
2015-07-17 12:07:49 +02:00
|
|
|
(flycheck-mode 1)
|
2015-06-15 09:06:10 +02:00
|
|
|
(narf|enable-tab-width-2)
|
|
|
|
(setq js-indent-level 2)))
|
|
|
|
|
|
|
|
(provide 'module-js)
|
|
|
|
;;; module-js.el ends here
|