feat(emacs): add tree-sitter for highlighting

This is mainly for jsx where the base emacs packages dont really do a good job
especially will typescript tsx files.

This is also giving it a go in php mode where I was getting some funky things
happening in doc blocks.
This commit is contained in:
Ade Attwood 2021-11-21 14:53:45 +00:00
parent 0417e30dc7
commit 5de5d36cab
3 changed files with 11 additions and 3 deletions

View file

@ -102,6 +102,9 @@
(setq display-line-numbers-type 'relative)
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
(use-package tree-sitter :ensure t)
(use-package tree-sitter-langs :ensure t)
(use-package magit
:ensure t
:init

View file

@ -9,7 +9,8 @@
(use-package js2-mode
:mode "\\.m?js\\'"
:interpreter "node"
:hook (js2-mode . lsp-deferred)
:hook ((js2-mode . tree-sitter-hl-mode)
(js2-mode . lsp-deferred))
:commands js2-line-break
:config
(setq js-chain-indent t
@ -30,7 +31,8 @@
(use-package rjsx-mode
:mode
(("components/.+\\.js$" . rjsx-mode))
:hook (rjsx-mode . lsp-deferred)
:hook ((rjsz-mode . tree-sitter-hl-mode)
(rjsx-mode . lsp-deferred))
:init
(defun +javascript-jsx-file-p ()
"Detect React or preact imports early in the file."
@ -51,6 +53,7 @@
(progn
(define-derived-mode typescript-tsx-mode web-mode "TypeScript-tsx")
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-tsx-mode))
(add-hook 'typescript-tsx-mode-hook 'tree-sitter-hl-mode)
(add-hook 'typescript-tsx-mode-hook 'lsp-deferred))
(use-package prettier-js :commands prettier-js)

View file

@ -8,5 +8,7 @@
(use-package php-mode
:ensure t
:hook (php-mode . lsp-deferred)
:mode "\\.php\\'")
:hook ((php-mode . (lambda() (setq flycheck-local-checkers '((lsp . ((next-checkers . (php))))))))
(php-mode . lsp-deferred)
(php-mode . tree-sitter-hl-mode))