lang/javascript: add xref support + refactor

This commit is contained in:
Henrik Lissner 2017-03-15 22:45:27 -04:00
parent 84fe3c6dfb
commit 8b2ae30c35
2 changed files with 19 additions and 10 deletions

View file

@ -11,19 +11,14 @@
js2-mode-show-parse-errors nil) js2-mode-show-parse-errors nil)
(add-hook! 'js2-mode-hook (add-hook! 'js2-mode-hook
'(tern-mode flycheck-mode highlight-indent-guides-mode '(flycheck-mode highlight-indent-guides-mode rainbow-delimiters-mode))
rainbow-delimiters-mode))
;; Conform switch-case indentation to editorconfig's config ;; Conform switch-case indentation to editorconfig's config
(add-hook! 'js2-mode-hook (setq js-switch-indent-offset js-indent-level)) (add-hook! 'js2-mode-hook (setq js-switch-indent-offset js-indent-level))
(set! :repl 'js2-mode 'nodejs-repl) (set! :repl 'js2-mode 'nodejs-repl)
(set! :electric 'js2-mode :chars ?\} ?\) ?. :words "||" "&&")
(set! :company-backend 'js2-mode '(company-tern)) (set! :xref-backend 'js2-mode 'xref-js2-xref-backend)
(set! :electric 'js2-mode
:chars ?\} ?\) ?.
:words "||" "&&")
(map! :map js2-mode-map (map! :map js2-mode-map
:localleader :localleader
@ -58,6 +53,11 @@
:n "ii" 'js2r-wrap-buffer-in-iife)) :n "ii" 'js2r-wrap-buffer-in-iife))
;; A find-{definition,references} backend for js2-mode. NOTE The xref API is
;; unstable and may break with an Emacs update.
(def-package! xref-js2 :commands xref-js2-xref-backend)
(def-package! nodejs-repl :commands nodejs-repl) (def-package! nodejs-repl :commands nodejs-repl)
@ -73,9 +73,15 @@
js2r-debug-this js2r-forward-slurp js2r-forward-barf)) js2r-debug-this js2r-forward-slurp js2r-forward-barf))
(def-package! tern
:commands tern-mode
:init (add-hook 'js2-mode-hook 'tern-mode))
(def-package! company-tern (def-package! company-tern
:commands company-tern :after tern
:after tern) :config
(set! :company-backend 'js2-mode '(company-tern)))
(def-package! jsx-mode :mode "\\.jsx$") (def-package! jsx-mode :mode "\\.jsx$")

View file

@ -11,3 +11,6 @@
(when (featurep! :completion company) (when (featurep! :completion company)
(package! company-tern)) (package! company-tern))
(when (featurep! :feature jump)
(package! xref-js2))