(use-package web-mode :ensure t) (use-package js2-mode :requires (web-mode company-web lsp) :ensure t) ;; Use js2-mode for javascript editing (add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) (add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode)) ;; Language Server Protocol is used for completion (add-hook 'js2-mode-hook 'lsp) (defun activate-js2-mode () "Company list override." (add-to-list (make-local-variable 'company-backends) '(company-yasnippet company-lsp))) (add-hook 'js2-mode-hook 'activate-js2-mode) (add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))