doomemacs/init/init-js.el

58 lines
1.8 KiB
EmacsLisp
Raw Normal View History

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"))
2015-06-04 18:23:21 -04:00
(bind :motion :map js2-mode-map "gQ" 'web-beautify-js))
2015-01-09 21:49:20 -05:00
2014-12-10 15:54:36 -05:00
(after "emr" (use-package js2-refactor))
2015-06-04 18:23:21 -04:00
;; [pedantry intensifies]
(defadvice js2-mode (after js2-mode-rename-modeline activate)
(setq mode-name "Javascript2"))
2015-05-28 22:24:43 -04:00
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-06-04 18:23:21 -04:00
:init
(add-hook 'js2-mode-hook 'tern-mode)
2014-12-10 15:54:36 -05:00
:config
(after "company"
(use-package company-tern
:config
2015-06-04 18:23:21 -04:00
(narf/add-company-backend js2-mode (company-tern)))))))
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
2015-06-04 18:23:21 -04:00
(narf|enable-tab-width-2)
2015-04-22 20:48:28 -04:00
(setq js-indent-level 2))))
2015-03-31 15:24:23 -04:00
2015-06-04 18:23:21 -04:00
;; For launchbar script development
2015-05-08 03:03:38 -04:00
(define-minor-mode lb6-mode
2015-06-04 18:23:21 -04:00
"Launchbar development mode."
:init-value nil
:lighter "lb6"
:keymap (make-sparse-keymap)
(narf/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
2015-06-04 18:23:21 -04:00
2014-12-10 15:54:36 -05:00
(provide 'init-js)
;;; init-js.el ends here