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:
parent
3c0c4a26e9
commit
bd480d3c12
4 changed files with 34 additions and 13 deletions
4
init.el
4
init.el
|
|
@ -85,10 +85,10 @@
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
'(custom-safe-themes
|
'(custom-safe-themes
|
||||||
(quote
|
(quote
|
||||||
("85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
("60e09d2e58343186a59d9ed52a9b13d822a174b33f20bdc1d4abb86e6b17f45b" "85e6bb2425cbfeed2f2b367246ad11a62fb0f6d525c157038a0d0eaaabc1bfee" "3380a2766cf0590d50d6366c5a91e976bdc3c413df963a0ab9952314b4577299" "cea3ec09c821b7eaf235882e6555c3ffa2fd23de92459751e18f26ad035d2142" "8ffdc8c66ceeaf7921f4510a70d808f01b303e6b4d177c947b442e80d4228678" "b0c5c6cc59d530d3f6fbcfa67801993669ce062dda1435014f74cafac7d86246" "ad16a1bf1fd86bfbedae4b32c269b19f8d20d416bd52a87cd50e355bf13c2f23" "d9dab332207600e49400d798ed05f38372ec32132b3f7d2ba697e59088021555" "bc4c89a7b91cfbd3e28b2a8e9e6750079a985237b960384f158515d32c7f0490" "99c86852decaeb0c6f51ce8bd46e4906a4f28ab4c5b201bdc3fdf85b24f88518" "a85e40c7d2df4a5e993742929dfd903899b66a667547f740872797198778d7b5" default)))
|
||||||
'(package-selected-packages
|
'(package-selected-packages
|
||||||
(quote
|
(quote
|
||||||
(gradle-mode kotlin-mode clj-refactor planet-theme cider clojure-mode erlang rspec-mode dap-mode lsp-ui company-lsp lsp-mode nginx-mode gitignore-mode js2-mode keyfreq company-web visual-regexp enh-ruby-mode counsel-projectile counsel ivy flycheck-rust flycheck hydra solarized-theme company-ansible alchemist column-enforce-mode yaml-mode ansible dockerfile-mode ruby-end dash-at-point base16-theme exec-path-from-shell))))
|
(tide gradle-mode kotlin-mode clj-refactor planet-theme cider clojure-mode erlang rspec-mode dap-mode lsp-ui company-lsp lsp-mode nginx-mode gitignore-mode js2-mode keyfreq company-web visual-regexp enh-ruby-mode counsel-projectile counsel ivy flycheck-rust flycheck hydra solarized-theme company-ansible alchemist column-enforce-mode yaml-mode ansible dockerfile-mode ruby-end dash-at-point base16-theme exec-path-from-shell))))
|
||||||
(custom-set-faces
|
(custom-set-faces
|
||||||
;; custom-set-faces was added by Custom.
|
;; custom-set-faces was added by Custom.
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,11 @@
|
||||||
:requires (web-mode company-web lsp)
|
:requires (web-mode company-web lsp)
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package tide
|
||||||
|
:ensure t
|
||||||
|
:after (company flycheck)
|
||||||
|
:hook ((before-save . tide-format-before-save)))
|
||||||
|
|
||||||
;; Use js2-mode for javascript editing
|
;; Use js2-mode for javascript editing
|
||||||
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
|
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
|
||||||
(add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode))
|
(add-to-list 'auto-mode-alist '("\\.json\\'" . js2-mode))
|
||||||
|
|
@ -9,17 +14,22 @@
|
||||||
;; Use js2-mode for typescript editing
|
;; Use js2-mode for typescript editing
|
||||||
(add-to-list 'auto-mode-alist '("\\.ts\\'" . js2-mode))
|
(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 ()
|
(defun activate-js2-mode ()
|
||||||
"JS2 mode overrides."
|
"JS2 mode overrides."
|
||||||
|
(tide-setup)
|
||||||
(set-indent 2)
|
(set-indent 2)
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
(setq-local js2-basic-offset 2)
|
(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."
|
;; "Company list override."
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
'(company-yasnippet company-lsp)))
|
'(company-yasnippet company-tide)))
|
||||||
|
|
||||||
(add-hook 'js2-mode-hook 'activate-js2-mode)
|
(add-hook 'js2-mode-hook 'activate-js2-mode)
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@
|
||||||
;; React Typescript
|
;; React Typescript
|
||||||
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode))
|
(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
|
(setq web-mode-extra-auto-pairs
|
||||||
'(("eex" . (("<%" "%>")))
|
'(("eex" . (("<%" "%>")))
|
||||||
("erb" . (("<%" "%>")
|
("erb" . (("<%" "%>")
|
||||||
|
|
@ -24,10 +27,13 @@
|
||||||
(setq web-mode-script-padding 2)
|
(setq web-mode-script-padding 2)
|
||||||
(setq web-mode-code-indent-offset 2)
|
(setq web-mode-code-indent-offset 2)
|
||||||
|
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(flycheck-add-next-checker 'javascript-standard 'javascript-tide 'append)
|
||||||
'(company-yasnippet company-lsp))
|
(setq-local flycheck-check-syntax-automatically '(save mode-enabled))
|
||||||
|
|
||||||
(when (string-match-p "vue" (buffer-file-name))
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
(lsp)))
|
'(company-yasnippet company-tide))
|
||||||
|
|
||||||
|
(when (string-match-p "jsx" (buffer-file-name))
|
||||||
|
(tide-setup)))
|
||||||
|
|
||||||
(add-hook 'web-mode-hook 'activate-web-mode)
|
(add-hook 'web-mode-hook 'activate-web-mode)
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,16 @@
|
||||||
(setq-default display-time-format "%H:%M") ;; time format to display on mode line
|
(setq-default display-time-format "%H:%M") ;; time format to display on mode line
|
||||||
(sml/setup))
|
(sml/setup))
|
||||||
|
|
||||||
|
;; Disable cursor blinking
|
||||||
|
(blink-cursor-mode 0)
|
||||||
|
|
||||||
(load "$HOME/.emacs.d/themes/themes-base16-not-harmonic.el" 'f 't)
|
(load "$HOME/.emacs.d/themes/themes-base16-not-harmonic.el" 'f 't)
|
||||||
(load-theme 'base16-mexico-light t t)
|
(load-theme 'base16-mexico-light t t)
|
||||||
(load-theme 'manoj-dark t t)
|
(load-theme 'manoj-dark t t)
|
||||||
(load-theme 'base16-one-light t t)
|
(load-theme 'base16-one-light t t)
|
||||||
(load-theme 'base16-zenburn t t)
|
(load-theme 'base16-zenburn t t)
|
||||||
|
(load-theme 'base16-atelier-forest-light t t)
|
||||||
|
(load-theme 'base16-material-palenight t t)
|
||||||
(load-theme 'base16-mocha t t)
|
(load-theme 'base16-mocha t t)
|
||||||
(load-theme 'planet t t)
|
(load-theme 'planet t t)
|
||||||
|
|
||||||
|
|
@ -21,7 +26,7 @@
|
||||||
(if (display-graphic-p)
|
(if (display-graphic-p)
|
||||||
(progn
|
(progn
|
||||||
(sml/apply-theme 'respectful)
|
(sml/apply-theme 'respectful)
|
||||||
(enable-theme 'base16-mexico-light))
|
(enable-theme 'base16-mocha))
|
||||||
(progn
|
(progn
|
||||||
(enable-theme 'base16-mexico-light)
|
(enable-theme 'base16-mexico-light)
|
||||||
(setq base16-theme-256-color-source "base16-shell")))
|
(setq base16-theme-256-color-source "base16-shell")))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue