2014-12-10 15:54:36 -05:00
|
|
|
(use-package js2-mode
|
|
|
|
:mode "\\.js$"
|
|
|
|
:interpreter "node"
|
|
|
|
:config
|
|
|
|
(progn
|
2015-01-09 21:49:20 -05:00
|
|
|
(setq js2-skip-preprocessor-directives t)
|
2014-12-10 15:54:36 -05:00
|
|
|
(setq-default js2-show-parse-errors nil)
|
|
|
|
(setq-default 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"))
|
|
|
|
|
2015-01-09 21:49:20 -05:00
|
|
|
(after "web-beautify"
|
|
|
|
(add-hook! 'js2-mode-hook (setenv "jsbeautify_indent_size" "4"))
|
|
|
|
(bind 'motion js2-mode-map "gQ" 'web-beautify-js))
|
|
|
|
|
2014-12-10 15:54:36 -05:00
|
|
|
(after "emr" (use-package js2-refactor))
|
|
|
|
|
2015-05-28 22:24:43 -04:00
|
|
|
(rename-mode-name js2-mode "Javascript2")
|
|
|
|
|
2014-12-10 15:54:36 -05:00
|
|
|
(use-package tern
|
2015-05-28 22:24:43 -04:00
|
|
|
:diminish (tern-mode . "tern")
|
2014-12-10 15:54:36 -05:00
|
|
|
:commands tern-mode
|
2015-05-28 22:24:43 -04:00
|
|
|
:init (add-hook 'js2-mode-hook 'tern-mode)
|
2014-12-10 15:54:36 -05:00
|
|
|
:config
|
2015-05-14 23:50:20 -04:00
|
|
|
(after "company"
|
|
|
|
(use-package company-tern
|
|
|
|
:config
|
|
|
|
(company--backend-on 'js2-mode-hook 'company-tern)
|
|
|
|
;; (setq company-tern-meta-as-single-line t)
|
|
|
|
;; (setq company-tern-property-marker "")
|
|
|
|
;; (setq company-tooltip-align-annotations t)
|
|
|
|
)))))
|
2014-12-10 15:54:36 -05:00
|
|
|
|
|
|
|
(use-package json-mode
|
2015-01-09 21:49:20 -05:00
|
|
|
:mode (("\\.json$" . json-mode)
|
|
|
|
("\\.jshintrc$" . json-mode)))
|
2014-12-10 15:54:36 -05:00
|
|
|
|
2015-03-31 15:24:23 -04:00
|
|
|
;; For UnityScript
|
|
|
|
(use-package unityjs-mode
|
|
|
|
:mode "/Assets/*.js$"
|
|
|
|
:config
|
2015-04-22 20:48:28 -04:00
|
|
|
(progn
|
|
|
|
(add-hook 'unityjs-mode-hook 'flycheck-mode)
|
|
|
|
(add-hook! 'unityjs-mode-hook
|
|
|
|
(enable-tab-width-2)
|
|
|
|
(setq js-indent-level 2))))
|
2015-03-31 15:24:23 -04:00
|
|
|
|
2015-05-08 03:03:38 -04:00
|
|
|
(define-minor-mode lb6-mode
|
|
|
|
:lighter " lb6"
|
|
|
|
:keymap (make-sparse-keymap)
|
|
|
|
(my--init-yas-mode 'lb6-mode))
|
2015-05-09 18:08:12 -04:00
|
|
|
(associate-minor-mode "\\.lb\\(action\\|ext\\)/.*$" 'lb6-mode)
|
2014-12-10 15:54:36 -05:00
|
|
|
|
|
|
|
(provide 'init-js)
|
|
|
|
;;; init-js.el ends here
|