This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-08-31
Channels
- # aleph (37)
- # babashka (23)
- # beginners (46)
- # calva (1)
- # catalyst (12)
- # cider (3)
- # circleci (5)
- # clj-kondo (8)
- # clojure (188)
- # clojure-europe (28)
- # clojure-nl (1)
- # clojure-norway (84)
- # clojure-sweden (2)
- # clojure-uk (1)
- # clojurescript (6)
- # clr (1)
- # cursive (4)
- # datahike (4)
- # datascript (7)
- # datomic (31)
- # deps-new (16)
- # emacs (4)
- # fulcro (4)
- # gratitude (17)
- # hyperfiddle (24)
- # introduce-yourself (4)
- # jobs (5)
- # off-topic (84)
- # pathom (10)
- # polylith (21)
- # portal (6)
- # re-frame (6)
- # reitit (4)
- # releases (1)
- # sci (74)
- # specter (3)
- # tools-build (3)
- # tools-deps (5)
has anyone gotten eglot to work with typescript JSX? For some reason, if the first file I have open when I start the LSP server is a JSX file, it will show a bunch of errors about the JSX syntax (trying to interpret them as type annotations). Other JSX files work just fine
here's my relevant config:
(use-package typescript-mode
:after tree-sitter
:config
;; we choose this instead of tsx-mode so that eglot can automatically figure out language for server
;; see and
(define-derived-mode typescriptreact-mode typescript-mode
"TypeScript TSX")
;; use our derived mode for tsx files
(add-to-list 'auto-mode-alist '("\\.tsx?\\'" . typescriptreact-mode))
;; by default, typescript-mode is mapped to the treesitter typescript parser
;; use our derived mode to map both .tsx AND .ts -> typescriptreact-mode -> treesitter tsx
(add-to-list 'tree-sitter-major-mode-language-alist '(typescriptreact-mode . tsx)))
(use-package eglot
:config
(put 'typescriptreact-mode 'eglot-language-id "typescriptreact"))
My setup differs but I don’t see anything like this. I’m using the new emacs 29.1 treesitter modes
relevant config:
(use-package eglot
:custom
(eglot-autoshutdown t)
(eglot-confirm-server-initiated-edits nil)
(eglot-ignored-server-capabilities '(:inlayHintProvider))
:custom-face (eglot-highlight-symbol-face ((t :inherit normal)))
:hook
((python-base-mode-hook
typescript-ts-base-mode-hook) . eglot-ensure))
(use-package tsx-ts-mode
:mode ("\\.tsx\\'"))
(use-package typescript-ts-mode
:mode ("\\.ts\\'"))