[*] Removes tern in favor of tide, adds node modules to path to execute things like flow, prettier, etc
This commit is contained in:
parent
ba24073a07
commit
8af94e8731
3 changed files with 33 additions and 17 deletions
|
@ -74,3 +74,31 @@ Run this for any buffer you want to skewer."
|
||||||
(if skewer-css-mode (skewer-css-mode -1))
|
(if skewer-css-mode (skewer-css-mode -1))
|
||||||
(if skewer-html-mode (skewer-html-mode -1)))))
|
(if skewer-html-mode (skewer-html-mode -1)))))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun add-node-modules-path ()
|
||||||
|
"Search the current buffer's parent directories for `node_modules/.bin`.
|
||||||
|
If it's found, then add it to the `exec-path'."
|
||||||
|
(defvar add-node-modules-path-debug nil)
|
||||||
|
(interactive)
|
||||||
|
(let* ((root (locate-dominating-file
|
||||||
|
(or (buffer-file-name) default-directory)
|
||||||
|
"node_modules"))
|
||||||
|
(path (and root
|
||||||
|
(expand-file-name "node_modules/.bin/" root))))
|
||||||
|
(if root
|
||||||
|
(progn
|
||||||
|
(make-local-variable 'exec-path)
|
||||||
|
(add-to-list 'exec-path path)
|
||||||
|
(when add-node-modules-path-debug
|
||||||
|
(message (concat "added " path " to exec-path"))))
|
||||||
|
(when add-node-modules-path-debug
|
||||||
|
(message (concat "node_modules not found in " root))))))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun set-up-tide-mode ()
|
||||||
|
(interactive)
|
||||||
|
(tide-setup)
|
||||||
|
(if company-mode (push 'company-tide company-backends))
|
||||||
|
(eldoc-mode +1)
|
||||||
|
(tide-hl-identifier-mode +1)
|
||||||
|
)
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
js2-mode-show-parse-errors nil
|
js2-mode-show-parse-errors nil
|
||||||
js2-mode-show-strict-warnings nil)
|
js2-mode-show-strict-warnings nil)
|
||||||
|
|
||||||
(add-hook! 'js2-mode-hook #'(flycheck-mode rainbow-delimiters-mode))
|
(add-hook! 'js2-mode-hook #'(flycheck-mode set-up-tide-mode add-node-modules-path rainbow-delimiters-mode))
|
||||||
|
|
||||||
(set! :repl 'js2-mode #'+javascript/repl)
|
(set! :repl 'js2-mode #'+javascript/repl)
|
||||||
(set! :electric 'js2-mode :chars '(?\} ?\) ?.))
|
(set! :electric 'js2-mode :chars '(?\} ?\) ?.))
|
||||||
|
@ -95,20 +95,6 @@
|
||||||
("Reformat buffer (eslint_d)" :exec eslintd-fix :region nil :when (fboundp 'eslintd-fix)))
|
("Reformat buffer (eslint_d)" :exec eslintd-fix :region nil :when (fboundp 'eslintd-fix)))
|
||||||
:prompt "Refactor: "))
|
:prompt "Refactor: "))
|
||||||
|
|
||||||
|
|
||||||
(def-package! tern
|
|
||||||
:hook (js2-mode . tern-mode)
|
|
||||||
:config
|
|
||||||
(advice-add #'tern-project-dir :override #'doom-project-root))
|
|
||||||
|
|
||||||
|
|
||||||
(def-package! company-tern
|
|
||||||
:when (featurep! :completion company)
|
|
||||||
:after tern
|
|
||||||
:config
|
|
||||||
(set! :company-backend 'js2-mode '(company-tern)))
|
|
||||||
|
|
||||||
|
|
||||||
(def-package! rjsx-mode
|
(def-package! rjsx-mode
|
||||||
:commands rjsx-mode
|
:commands rjsx-mode
|
||||||
:mode "\\.jsx$"
|
:mode "\\.jsx$"
|
||||||
|
@ -132,6 +118,8 @@
|
||||||
"<" nil
|
"<" nil
|
||||||
"C-d" nil)
|
"C-d" nil)
|
||||||
(add-hook! rjsx-mode
|
(add-hook! rjsx-mode
|
||||||
|
|
||||||
|
#'(flycheck-mode set-up-tide-mode add-node-modules-path rainbow-delimiters-mode)
|
||||||
;; jshint doesn't really know how to deal with jsx
|
;; jshint doesn't really know how to deal with jsx
|
||||||
(push 'javascript-jshint flycheck-disabled-checkers)))
|
(push 'javascript-jshint flycheck-disabled-checkers)))
|
||||||
|
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
(package! js2-refactor)
|
(package! js2-refactor)
|
||||||
(package! rjsx-mode)
|
(package! rjsx-mode)
|
||||||
(package! nodejs-repl)
|
(package! nodejs-repl)
|
||||||
(package! tern)
|
|
||||||
(package! web-beautify)
|
(package! web-beautify)
|
||||||
|
(package! tide)
|
||||||
(package! skewer-mode)
|
(package! skewer-mode)
|
||||||
(package! eslintd-fix)
|
(package! eslintd-fix)
|
||||||
|
|
||||||
(when (featurep! :completion company)
|
(when (featurep! :completion company)
|
||||||
(package! company-tern))
|
(package! company-tide))
|
||||||
|
|
||||||
(when (featurep! :feature lookup)
|
(when (featurep! :feature lookup)
|
||||||
(package! xref-js2))
|
(package! xref-js2))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue