Use tide instead of LSP mode

LSP turns out to be very slow with files larger than 100 lines (sic)
Also, disable cursor blinking.
This commit is contained in:
Maciej 2019-09-11 08:48:44 +03:00
parent 3c0c4a26e9
commit bd480d3c12
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
4 changed files with 34 additions and 13 deletions

View file

@ -2,6 +2,11 @@
:requires (web-mode company-web lsp)
:ensure t)
(use-package tide
:ensure t
:after (company flycheck)
:hook ((before-save . tide-format-before-save)))
;; Use js2-mode for javascript editing
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
(add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode))
@ -9,17 +14,22 @@
;; Use js2-mode for typescript editing
(add-to-list 'auto-mode-alist '("\\.ts\\'" . js2-mode))
;; Language Server Protocol is used for completion
(add-hook 'js2-mode-hook 'lsp)
(defun activate-js2-mode ()
"JS2 mode overrides."
(tide-setup)
(set-indent 2)
(column-enforce-n 80)
(setq-local js2-basic-offset 2)
(setq-local js2-strict-missing-semi-warning nil)
(setq js2-mode-show-parse-errors nil)
(setq js2-mode-show-strict-warnings nil)
(tide-hl-identifier-mode +1)
(flycheck-add-next-checker 'javascript-standard 'javascript-tide 'append)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
;; "Company list override."
(add-to-list (make-local-variable 'company-backends)
'(company-yasnippet company-lsp)))
'(company-yasnippet company-tide)))
(add-hook 'js2-mode-hook 'activate-js2-mode)

View file

@ -13,6 +13,9 @@
;; 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" . (("<%" "%>")
@ -24,10 +27,13 @@
(setq web-mode-script-padding 2)
(setq web-mode-code-indent-offset 2)
(add-to-list (make-local-variable 'company-backends)
'(company-yasnippet company-lsp))
(flycheck-add-next-checker 'javascript-standard 'javascript-tide 'append)
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
(when (string-match-p "vue" (buffer-file-name))
(lsp)))
(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)