emacs/languages/web.el
Maciej Szlosarczyk bd480d3c12
Use tide instead of LSP mode
LSP turns out to be very slow with files larger than 100 lines (sic)
Also, disable cursor blinking.
2019-09-11 08:48:44 +03:00

39 lines
1 KiB
EmacsLisp

(use-package web-mode
:ensure t)
;; Eex Web mode
(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
;; ERB mode
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
;; Vue
(add-to-list 'auto-mode-alist '("\\.vue\\'" . web-mode))
;; React Typescript
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))
;; Plain React
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . web-mode))
(setq web-mode-extra-auto-pairs
'(("eex" . (("<%" "%>")))
("erb" . (("<%" "%>")
("beg" "end")))))
(defun activate-web-mode ()
"Web mode overrides."
;; Indent web mode scripts by 2
(setq web-mode-script-padding 2)
(setq web-mode-code-indent-offset 2)
(flycheck-add-next-checker 'javascript-standard 'javascript-tide 'append)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
(add-to-list (make-local-variable 'company-backends)
'(company-yasnippet company-tide))
(when (string-match-p "jsx" (buffer-file-name))
(tide-setup)))
(add-hook 'web-mode-hook 'activate-web-mode)