1

I've been using typescript-mode and tide for a long time but I wanted to try out tree-sitter and lsp-mode. I've got most things working except for one problem with syntax highlighting. When I first visit a TypeScript or TSX file, the buffer has no syntax highlighting. If I call (font-lock-update) then syntax highlighting starts working correctly in that buffer.

I can confirm that the two major modes I'm using are typescript-ts-mode and tsx-ts-mode. When I first visit a file and check C-h m, I can see that "Global minor mode global-font-lock-mode" is enabled. After I call (font-lock-update) I can see that "Local minor mode font-lock-mode" is enabled.

I customise these two major modes with a hook function that looks like this:

(defun setup-typescript-mode ()
  (interactive)
  (lsp)
  (flycheck-mode +1)
  (setq flycheck-check-syntax-automatically '(save mode-enabled))
  (eldoc-mode +1)
  (company-mode +1)
  (prettier-js-mode)
  (git-gutter+-mode)
  (yas-minor-mode-on)
  (tsi-typescript-mode 1)
  (turn-on-font-lock))

(add-hook 'typescript-ts-mode-hook #'setup-typescript-mode)
(add-hook 'tsx-ts-mode-hook #'setup-typescript-mode)

I tried adding that call to (turn-on-font-lock) in response to this problem but it hasn't fixed it.

Any ideas how I can get syntax highlighting to work here when I first visit a file and without having to do M-x font-lock-update every time?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.