Skip to main content

emacs typescript eglot

Emacs Typescript setup

I previously wrote an article on settting up Emacs for Typescript projects. It was years ago. I want to test new things..
Searching the Internet for new ways to setup, I found: TypeScript development with Emacs, tree-sitter and LSP in 2022
This did not work out of the box for me. I had to perform several intermediate actions, I do apologize that I dont fully remember everything, but here are what I remind...
Installing tree-sitter requires to have Rust installed before:
    sudo pacman -S rust
  
corfu did not auto-complete anything, and I noticed that if I read the doc, I would have understood why: default setting does almost nothing. I stupidly switched to company
I dont know if it is related or not... but I installed tree-sitter-cli Node package.
npm install -g tree-sitter-cli
  
Remid that I was in a try / error loop so I dont really know if this is relevant or not
Finally, this is my setting:
    (use-package tree-sitter
  :ensure t
  :config
  ;; activate tree-sitter on any buffer containing code for which it has a parser available
  (global-tree-sitter-mode)
  ;; you can easily see the difference tree-sitter-hl-mode makes for python, ts or tsx
  ;; by switching on and off
  (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))

(use-package tree-sitter-langs
  :ensure t
  :after tree-sitter)
(use-package eglot
  :ensure t)

    ;; Ensure Eglot is launched on Typescript buffers
    (add-hook 'typescript-mode-hook 'eglot-ensure)

    ;; Ensure Company is maunched in all buffers (not Typescript only)
    ;; Please tell me a way to make it selective
    (add-hook 'after-init-hook 'global-company-mode)